J'ai essayé d'exécuter le cas d'utilisation du fémur et du fémur_cut:
python RunUseCase.py --use_case femur --tiny_test
--skip_grooming
python RunUseCase.py --use_case femur
et python RunUseCase.py --use_case femur_cut
avec l'erreur: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
En exécutant ceci sur la dernière de cette branche, j'obtiens:
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
Est-ce un problème?
L'Iran:
python RunUseCase.py --use_case femur
J'ai répondu «oui» quand il a posé des questions sur la pixellisation isotrope.
Cela s'est terminé par:
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.
L'Iran:
python RunUseCase.py --use_case femur
J'ai répondu «oui» quand il a posé des questions sur la pixellisation isotrope.
Cela s'est terminé par:
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.
L'augmentation du rembourrage à 30 sur la ligne 259 dans femur.py ne produit pas cette erreur.
J'en discuterai avec @archanasri pour trouver ce qui ne va pas avec la fonction de recadrage.
@ iyerkrithika21 Je pense que la fonction de recadrage fonctionne très bien. Augmentez le rembourrage.
En exécutant ceci sur la dernière de cette branche, j'obtiens:
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
Est-ce un problème?
@akenmorris qu'avez-vous exécuté à partir de la ligne de commande?
En exécutant ceci sur la dernière de cette branche, j'obtiens:
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
Est-ce un problème?
@akenmorris qu'avez-vous exécuté à partir de la ligne de commande?
@archanasri J'obtiens ça quand python RunUseCase.py --use_case femur --groom_images
Je vois cette erreur dans l'étape d'alignement rigide.
Je crois que je viens de courir:
python RunUseCase.py --use_case femur
Le cas d'utilisation complet sans images de toilettage est maintenant corrigé sur la branche femur_reflect_fix.
Lorsque vous exécutez le cas d'utilisation complet avec la balise --groom_images, cela donne l'erreur d'alignement Alan mentionnée ci-dessus car les segmentations reflétées sont toutes nulles. Donc anatomyPairsToSingles () dans GroomUtils.py ne fonctionne pas ... @archanasri pouvez-vous nous aider à regarder ça?
@ jadie1 @ iyerkrithika21 pourriez-vous essayer ceci:
img1.reflect(Axis.X).write(img_out)
à la ligne 312 de GroomUtils et
mesh.reflect(Axis.X, center).write(seg_out)
à la ligne 315 de GroomUtils
@ jadie1 @ iyerkrithika21 pourriez-vous essayer ceci:
img1.reflect(Axis.X).write(img_out)
à la ligne 312 de GroomUtils et
mesh.reflect(Axis.X, center).write(seg_out)
à la ligne 315 de GroomUtils
Les segmentations reflétées sont toujours toutes des zéros.
Vu la même erreur dans l'alignement.
Travailler lors du toilettage sans images à partir du PR # 1030
Corrige maintenant lors du toilettage avec des images sur la branche reflect_fix
Corrigé dans PR # 1040
Commentaire le plus utile
@ iyerkrithika21 Je pense que la fonction de recadrage fonctionne très bien. Augmentez le rembourrage.