Shapeworks: Error en reflectMeshes al ejecutar el caso de uso femur y femur_cut

Creado en 18 feb. 2021  ·  12Comentarios  ·  Fuente: SCIInstitute/ShapeWorks

Intenté ejecutar el caso de uso femur y femur_cut:

  1. La pequeña prueba funciona bien python RunUseCase.py --use_case femur --tiny_test
  2. El caso de uso funciona bien si usa --skip_grooming
  3. El caso de uso falla cuando ejecuta python RunUseCase.py --use_case femur y python RunUseCase.py --use_case femur_cut con el error:
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

Comentario más útil

@ iyerkrithika21 Creo que la función de recorte funciona bien. Aumente el acolchado.

Todos 12 comentarios

Al ejecutar esto en la última versión de esta rama, obtengo:

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

¿Es esto un problema?

Yo corrí:

python RunUseCase.py --use_case femur

Respondí 'sí' cuando me pregunta sobre rasterizar isotrópicos.

Terminó con:


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.

Yo corrí:

python RunUseCase.py --use_case femur

Respondí 'sí' cuando me pregunta sobre rasterizar isotrópicos.

Terminó con:


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.

Incrementar el relleno a 30 en la línea 259 en femur.py no produce este error.
Discutiré esto con @archanasri para encontrar qué está mal con la función de recorte.

@ iyerkrithika21 Creo que la función de recorte funciona bien. Aumente el acolchado.

Al ejecutar esto en la última versión de esta rama, obtengo:

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

¿Es esto un problema?

@akenmorris, ¿qué ejecutaste desde la línea de comandos?

Al ejecutar esto en la última versión de esta rama, obtengo:

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

¿Es esto un problema?

@akenmorris, ¿qué ejecutaste desde la línea de comandos?

@archanasri Me sale esto cuando ejecuto python RunUseCase.py --use_case femur --groom_images
Veo este error en el paso de alineación rígida.

Creo que acabo de correr:

python RunUseCase.py --use_case femur

El caso de uso completo sin imágenes de limpieza ahora está arreglado en la rama femur_reflect_fix.
Cuando ejecuta el caso de uso completo con la etiqueta --groom_images, se obtiene el error de alineación que Alan mencionó anteriormente porque las segmentaciones reflejadas son todas cero. Entonces, anatomyPairsToSingles () en GroomUtils.py no funciona ... @archanasri, ¿puedes ayudarnos a ver esto?

@ jadie1 @ iyerkrithika21 ¿ podrías probar esto?
img1.reflect(Axis.X).write(img_out) en la línea 312 de GroomUtils y
mesh.reflect(Axis.X, center).write(seg_out) en la línea 315 de GroomUtils

@ jadie1 @ iyerkrithika21 ¿ podrías probar esto?
img1.reflect(Axis.X).write(img_out) en la línea 312 de GroomUtils y
mesh.reflect(Axis.X, center).write(seg_out) en la línea 315 de GroomUtils

Las segmentaciones reflejadas siguen siendo todas ceros.
Vio el mismo error en la alineación.

Trabajando al arreglarse sin imágenes a partir del PR # 1030
Ahora arreglando cuando se arregla con imágenes en la rama reflect_fix

Corregido en PR # 1040

¿Fue útil esta página
5 / 5 - 1 calificaciones

Temas relacionados

jadie1 picture jadie1  ·  8Comentarios

sheryjoe picture sheryjoe  ·  13Comentarios

akenmorris picture akenmorris  ·  16Comentarios

akenmorris picture akenmorris  ·  23Comentarios

akenmorris picture akenmorris  ·  32Comentarios