UCL / PETPVC

Partial Volume Correction in PET
Apache License 2.0
51 stars 14 forks source link

[Error] failure applying RBV #30

Closed rullator closed 6 years ago

rullator commented 6 years ago

Hello,

I try to run the Toolbox using the RBV approach on our data and got the following error. In my opinion, the origins are the same. How can I modify the given tolerance?

Best Michael

OUTPUT:

Performing RBV... 

[Error] failure applying RBV on: data.img 

itk::ExceptionObject (0075F54C) 
Location: "unknown"  
File: c:\projects\deps\itk-4.10.1\include\itk-4.10\itkImageToImageFilter.hxx 
Line: 250 
Description: itk::ERROR: MultiplyImageFilter(025F7678): Inputs do not occupy the same physical space!  
InputImage Origin: [-1.0858500e+002, -1.0858500e+002, -7.8750000e+001], InputImage_1 Origin: [-1.0858501e+002, -1.0858501e+002, -7.8750000e+001] 
    Tolerance: 1.7100000e-006 
bathomas commented 6 years ago

Hi @rullator,

I think you would probably want to put something like: multiplyFilter->SetCoordinateTolerance(1e-2) in lib/petpvcRBVPVCImageFilter.txx at line 98. However, there may be more filters affected than just the MultiplyImageFilter, in which case perhaps try setting:

itk::ImageToImageFilter::SetGlobalDefaultCoordinateTolerance( 1e-2 )
itk::ImageToImageFilter::SetGlobalDefaultDirectionTolerance( 1e-2 )

at the top of RBV.cxx.

Kind regards,

Ben

rullator commented 6 years ago

Thank you - worked for me!

PS: Just to be sure: If I want to apply RBV, my mask is a 4D file, containing each ROI as a separate binary volume, right?

bathomas commented 6 years ago

Hi,

For RBV, yes the mask needs to be 4D with each ROI as a separate volume. The volumes don't have to be binary. The voxels values can be 0 <= x <= 1.

Kind regards,

Ben