Shapeworks: 运行股骨和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 femurpython 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行上将padding增加到30不会产生此错误。
我将与@archanasri讨论此问题,以查找crop函数的问题所在。

@ 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标记运行完整用例时,由于反射的分段均为零,因此它会产生上述的对齐错误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)

反映的细分仍然全为零。
在对齐中看到相同的错误。

截至PR#1030时没有图像的梳理工作
现在在修饰分支上的图像reflect_fix时进行修复

已在PR#1040中修复

此页面是否有帮助?
5 / 5 - 1 等级

相关问题

akenmorris picture akenmorris  ·  22评论

jadie1 picture jadie1  ·  8评论

akenmorris picture akenmorris  ·  16评论

iyerkrithika21 picture iyerkrithika21  ·  7评论

sheryjoe picture sheryjoe  ·  13评论