Shapeworks: femur 및 ​​femur_cut μ‚¬μš© 사둀λ₯Ό μ‹€ν–‰ν•  λ•Œ reflectMeshes 였λ₯˜

에 λ§Œλ“  2021λ…„ 02μ›” 18일  Β·  12μ½”λ©˜νŠΈ  Β·  좜처: SCIInstitute/ShapeWorks

femur 및 ​​femur_cut μ‚¬μš© 사둀λ₯Ό μ‹€ν–‰ν•˜λ €κ³ ν–ˆμŠ΅λ‹ˆλ‹€.

  1. μž‘μ€ ν…ŒμŠ€νŠΈκ°€ 잘 μž‘λ™ν•©λ‹ˆλ‹€ python RunUseCase.py --use_case femur --tiny_test
  2. --skip_grooming λ₯Ό μ‚¬μš©ν•˜λ©΄ μ‚¬μš© 사둀가 잘 μ‹€ν–‰λ©λ‹ˆλ‹€.
  3. python RunUseCase.py --use_case femur 및 python RunUseCase.py --use_case femur_cut λ₯Ό μ‹€ν–‰ν•  λ•Œ μ‚¬μš© 사둀가 μ‹€νŒ¨ν•˜κ³  λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.
Step 2. Groom - Data Pre-processingInput filename: Output/femur/femur-v0/meshes/m09_R_femur.ply
Output filename: Output/femur/groomed/reflected/segmentations/m09_R_femur.reflect.ply
Traceback (most recent call last):
  File "RunUseCase.py", line 79, in <module>
    module.Run_Pipeline(args)
  File "/home/sci/iyerkrithika/ShapeWorks/Examples/Python/femur.py", line 219, in Run_Pipeline
    reflectedFiles_mesh = reflectMeshes(groomDir + 'reflected', files_mesh, reference_side)
  File "/home/sci/iyerkrithika/ShapeWorks/Examples/Python/GroomUtils.py", line 344, in reflectMeshes
    mesh.reflect(X, mesh.center()).write(seg_out)
ValueError: vector::reserve
QA bug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@ iyerkrithika21 자λ₯΄κΈ° κΈ°λŠ₯이 잘 μž‘λ™ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. νŒ¨λ”©μ„ λŠ˜λ¦¬μ‹­μ‹œμ˜€.

λͺ¨λ“  12 λŒ“κΈ€

이 μ§€μ μ˜ μ΅œμ‹  λ²„μ „μ—μ„œ μ‹€ν–‰ν•˜λ©΄ λ‹€μŒκ³Ό 같은 κ²°κ³Όκ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

Input filename: Output/femur/groomed/centered/segmentations/m12_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m12_R_femur.reflect.isores.pad.com.center.aligned.nrrd
Input filename: Output/femur/groomed/centered/segmentations/m13_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m13_R_femur.reflect.isores.pad.com.center.aligned.nrrd
ERROR: In ../Common/DataModel/vtkIterativeClosestPointTransform.cxx, line 270
vtkIterativeClosestPointTransform (0x7ff2ceeb98c0): Can't execute with nullptr or empty input

Input filename: Output/femur/groomed/centered/segmentations/m14_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m14_R_femur.reflect.isores.pad.com.center.aligned.nrrd
Input filename: Output/femur/groomed/centered/segmentations/m15_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m15_R_femur.reflect.isores.pad.com.center.aligned.nrrd

이것이 λ¬Έμ œμž…λ‹ˆκΉŒ?

λ‚˜λŠ” 달렸닀 :

python RunUseCase.py --use_case femur

λ“±λ°©μ„± λž˜μŠ€ν„° 화에 λŒ€ν•΄ λ¬Όμ—ˆμ„ λ•Œ '예'라고 λŒ€λ‹΅ν–ˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒμœΌλ‘œ λλ‚¬μŠ΅λ‹ˆλ‹€.


Input filename: Output/femur/groomed/clipped_segmentations/m03_L_femur.isores.pad.com.center.aligned.clipped.nrrd
Output filename: Output/femur/groomed/cropped/segmentations/m03_L_femur.isores.pad.com.center.aligned.clipped.cropped.nrrd
Traceback (most recent call last):
  File "RunUseCase.py", line 79, in <module>
    module.Run_Pipeline(args)
  File "/Users/amorris/sci/data/Examples/Python/femur.py", line 299, in Run_Pipeline
    croppedFiles_segmentations = applyCropping(groomDir + "cropped/segmentations", clippedFiles_segmentations, groomDir + "clipped_segmentations/*.nrrd")
  File "/Users/amorris/sci/data/Examples/Python/GroomUtils.py", line 225, in applyCropping
    img.crop(region).write(outname)
RuntimeError: /Users/amorris/sci/shapeworks/dependencies/build/ITK/Modules/Core/Common/src/itkDataObject.cxx:385:
Requested region is (at least partially) outside the largest possible region.

λ‚˜λŠ” 달렸닀 :

python RunUseCase.py --use_case femur

λ“±λ°©μ„± λž˜μŠ€ν„° 화에 λŒ€ν•΄ λ¬Όμ—ˆμ„ λ•Œ '예'라고 λŒ€λ‹΅ν–ˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒμœΌλ‘œ λλ‚¬μŠ΅λ‹ˆλ‹€.


Input filename: Output/femur/groomed/clipped_segmentations/m03_L_femur.isores.pad.com.center.aligned.clipped.nrrd
Output filename: Output/femur/groomed/cropped/segmentations/m03_L_femur.isores.pad.com.center.aligned.clipped.cropped.nrrd
Traceback (most recent call last):
  File "RunUseCase.py", line 79, in <module>
    module.Run_Pipeline(args)
  File "/Users/amorris/sci/data/Examples/Python/femur.py", line 299, in Run_Pipeline
    croppedFiles_segmentations = applyCropping(groomDir + "cropped/segmentations", clippedFiles_segmentations, groomDir + "clipped_segmentations/*.nrrd")
  File "/Users/amorris/sci/data/Examples/Python/GroomUtils.py", line 225, in applyCropping
    img.crop(region).write(outname)
RuntimeError: /Users/amorris/sci/shapeworks/dependencies/build/ITK/Modules/Core/Common/src/itkDataObject.cxx:385:
Requested region is (at least partially) outside the largest possible region.

femur.py의 259 ν–‰μ—μ„œ νŒ¨λ”©μ„ 30으둜 늘리면이 였λ₯˜κ°€ λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
자λ₯΄κΈ° κΈ°λŠ₯에 μ–΄λ–€ λ¬Έμ œκ°€ μžˆλŠ”μ§€ μ°ΎκΈ° μœ„ν•΄ @archanasri 와 λ…Όμ˜ ν•  κ²ƒμž…λ‹ˆλ‹€.

@ iyerkrithika21 자λ₯΄κΈ° κΈ°λŠ₯이 잘 μž‘λ™ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. νŒ¨λ”©μ„ λŠ˜λ¦¬μ‹­μ‹œμ˜€.

이 μ§€μ μ˜ μ΅œμ‹  λ²„μ „μ—μ„œ μ‹€ν–‰ν•˜λ©΄ λ‹€μŒκ³Ό 같은 κ²°κ³Όκ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

Input filename: Output/femur/groomed/centered/segmentations/m12_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m12_R_femur.reflect.isores.pad.com.center.aligned.nrrd
Input filename: Output/femur/groomed/centered/segmentations/m13_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m13_R_femur.reflect.isores.pad.com.center.aligned.nrrd
ERROR: In ../Common/DataModel/vtkIterativeClosestPointTransform.cxx, line 270
vtkIterativeClosestPointTransform (0x7ff2ceeb98c0): Can't execute with nullptr or empty input

Input filename: Output/femur/groomed/centered/segmentations/m14_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m14_R_femur.reflect.isores.pad.com.center.aligned.nrrd
Input filename: Output/femur/groomed/centered/segmentations/m15_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m15_R_femur.reflect.isores.pad.com.center.aligned.nrrd

이것이 λ¬Έμ œμž…λ‹ˆκΉŒ?

@akenmorris λͺ…λ Ή μ€„μ—μ„œ 무엇을 μ‹€ν–‰ ν–ˆμŠ΅λ‹ˆκΉŒ?

이 μ§€μ μ˜ μ΅œμ‹  λ²„μ „μ—μ„œ μ‹€ν–‰ν•˜λ©΄ λ‹€μŒκ³Ό 같은 κ²°κ³Όκ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

Input filename: Output/femur/groomed/centered/segmentations/m12_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m12_R_femur.reflect.isores.pad.com.center.aligned.nrrd
Input filename: Output/femur/groomed/centered/segmentations/m13_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m13_R_femur.reflect.isores.pad.com.center.aligned.nrrd
ERROR: In ../Common/DataModel/vtkIterativeClosestPointTransform.cxx, line 270
vtkIterativeClosestPointTransform (0x7ff2ceeb98c0): Can't execute with nullptr or empty input

Input filename: Output/femur/groomed/centered/segmentations/m14_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m14_R_femur.reflect.isores.pad.com.center.aligned.nrrd
Input filename: Output/femur/groomed/centered/segmentations/m15_R_femur.reflect.isores.pad.com.center.nrrd
Output filename: Output/femur/groomed/aligned/m15_R_femur.reflect.isores.pad.com.center.aligned.nrrd

이것이 λ¬Έμ œμž…λ‹ˆκΉŒ?

@akenmorris λͺ…λ Ή μ€„μ—μ„œ 무엇을 μ‹€ν–‰ ν–ˆμŠ΅λ‹ˆκΉŒ?

@archanasri λ‚˜λŠ” python RunUseCase.py --use_case femur --groom_images μ‹€ν–‰ν•˜λ©΄ 이것을 μ–»μŠ΅λ‹ˆλ‹€.
λ”±λ”±ν•œ μ •λ ¬ λ‹¨κ³„μ—μ„œμ΄ 였λ₯˜κ°€ λ³΄μž…λ‹ˆλ‹€.

λ‚΄κ°€ 방금 λ›°μ—ˆλ‹€ κ³  μƒκ°ν•©λ‹ˆλ‹€.

python RunUseCase.py --use_case femur

이미지 κ·Έλ£¨λ°μ΄μ—†λŠ” 전체 μ‚¬μš© μ‚¬λ‘€λŠ” 이제 femur_reflect_fix λΈŒλžœμΉ˜μ—μ„œ μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
--groom_images νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜μ—¬ 전체 μ‚¬μš© 사둀λ₯Ό μ‹€ν–‰ν•˜λ©΄ 반영된 μ„ΈλΆ„ν™”κ°€ λͺ¨λ‘ 0이기 λ•Œλ¬Έμ— μœ„μ—μ„œ μ–ΈκΈ‰ ν•œ μ •λ ¬ 였λ₯˜ Alan이 λ°œμƒν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ GroomUtils.py의 anatomyPairsToSingles ()κ°€ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ ... @archanasri 이걸 보도둝 도와 μ£Όμ‹€ 수 μžˆλ‚˜μš”?

@ jadie1 @ iyerkrithika21 이 μ‹œλ„ν•΄ λ³Ό 수 μžˆμŠ΅λ‹ˆκΉŒ?
GroomUtils의 312 행에 img1.reflect(Axis.X).write(img_out) 및
GroomUtils의 315 행에 mesh.reflect(Axis.X, center).write(seg_out)

@ jadie1 @ iyerkrithika21 이 μ‹œλ„ν•΄ λ³Ό 수 μžˆμŠ΅λ‹ˆκΉŒ?
GroomUtils의 312 행에 img1.reflect(Axis.X).write(img_out) 및
GroomUtils의 315 행에 mesh.reflect(Axis.X, center).write(seg_out)

λ°˜μ‚¬ 된 뢄할은 μ—¬μ „νžˆ ​​λͺ¨λ‘ 0μž…λ‹ˆλ‹€.
μ •λ ¬μ—μ„œ λ™μΌν•œ 였λ₯˜λ₯Ό λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

PR # 1030λΆ€ν„° 이미지없이 그루밍 ν•  λ•Œ μž‘μ—…
이제 λΆ„κΈ°μ—μ„œ μ΄λ―Έμ§€λ‘œ 정리할 λ•Œ μˆ˜μ • reflect_fix

PR # 1040μ—μ„œ μˆ˜μ • 됨

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
5 / 5 - 1 λ“±κΈ‰

κ΄€λ ¨ 문제

akenmorris picture akenmorris  Β·  23μ½”λ©˜νŠΈ

iyerkrithika21 picture iyerkrithika21  Β·  7μ½”λ©˜νŠΈ

sheryjoe picture sheryjoe  Β·  13μ½”λ©˜νŠΈ

akenmorris picture akenmorris  Β·  16μ½”λ©˜νŠΈ

akenmorris picture akenmorris  Β·  32μ½”λ©˜νŠΈ