BRAINS bspline transform is incompatible with Resample DTI Volume

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

BRAINS bspline transform is incompatible with Resample DTI Volume

Julien Finet
Hi,

Since Slicer 4.0, the BSpline transform generated by the General Registration (BRAINS) module is incompatible with the Resample DTI Volume module.

I try to reproduce the Registration use case #3, but the Resample DTI Volume module fails with the following error:

ERROR: In ..\..\..\..\Slicer-440\Base\QTCLI\vtkSlicerCLIModuleLogic.cxx, line 2141

vtkSlicerCLIModuleLogic (000000000E73D850): Resample DTI Volume terminated with an exception:

itk::ExceptionObject (0000000004AB63C8)

Location: "unknown"

File: c:\d\p\slicer-440-package\itkv4\modules\core\transform\include\itkCompositeTransform.hxx

Line: 948

Description: itk::ERROR: CompositeTransform(000000000FB74750): Input parameter list size is not expected size. 21 instead of 0.


As we can see in the following .tfm files, the transform generated by the General Registration (BRAINS) module is different:

Transform generated by the BRAINS module in Slicer 4.3:

#Insight Transform File V1.0
#Transform 0
Transform: BSplineDeformableTransform_double_3_3
Parameters: 0 1.0114578077352121e-7 0.00031493713015302263 [...]
FixedParameters: 10 10 8 -162.13921379481658 -186.02599186654095 [...]
#Transform 1
Transform: AffineTransform_double_3_3
Parameters: 0.990250215284016 -0.13822556839397512 -0.007126846990927363 [...]
FixedParameters: 0 0 0


Transform generated by the BRAINS module in Slicer 4.4 or 4.5:

#Insight Transform File V1.0
#Transform 0
Transform: CompositeTransform_double_3_3
#Transform 1
Transform: AffineTransform_double_3_3
Parameters: 0.9879451962686057 -0.1398313842406904 [...]
FixedParameters: 0 0 0
#Transform 2
Transform: BSplineTransform_double_3_3
Parameters: 0 0 0 0 0 0 4.543819635902912e-16 [...]
FixedParameters: 10 10 8 -156.7946320357347 [...]

Is this an ITK problem (the transform is correct and the reader should work) or a BRAINS problem (the generated transform is incorrect)?

Thanks,
Julien.

_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: BRAINS bspline transform is incompatible with Resample DTI Volume

inorton
Hi Julien,

I can reproduce this, and might have a work-around for the first issue (reading the transform). However, after computation writer segfaults when trying to write back tensors. This code really seems to have bit-rotted and will need some updating. Unfortunately debugging is a bit tricky as I'm hitting some issues with running ITK code in debug build because of the `dynamic_cast` across shared library border.

Before I try to debug any more: was there any further discussion of this off-list, or any bug report? I didn't find anything in Mantis.


Best,
Isaiah



On Fri, Jul 1, 2016 at 12:33 PM, Julien Finet <[hidden email]> wrote:
Hi,

Since Slicer 4.0, the BSpline transform generated by the General Registration (BRAINS) module is incompatible with the Resample DTI Volume module.

I try to reproduce the Registration use case #3, but the Resample DTI Volume module fails with the following error:

ERROR: In ..\..\..\..\Slicer-440\Base\QTCLI\vtkSlicerCLIModuleLogic.cxx, line 2141

vtkSlicerCLIModuleLogic (000000000E73D850): Resample DTI Volume terminated with an exception:

itk::ExceptionObject (0000000004AB63C8)

Location: "unknown"

File: c:\d\p\slicer-440-package\itkv4\modules\core\transform\include\itkCompositeTransform.hxx

Line: 948

Description: itk::ERROR: CompositeTransform(000000000FB74750): Input parameter list size is not expected size. 21 instead of 0.


As we can see in the following .tfm files, the transform generated by the General Registration (BRAINS) module is different:

Transform generated by the BRAINS module in Slicer 4.3:

#Insight Transform File V1.0
#Transform 0
Transform: BSplineDeformableTransform_double_3_3
Parameters: 0 1.0114578077352121e-7 0.00031493713015302263 [...]
FixedParameters: 10 10 8 -162.13921379481658 -186.02599186654095 [...]
#Transform 1
Transform: AffineTransform_double_3_3
Parameters: 0.990250215284016 -0.13822556839397512 -0.007126846990927363 [...]
FixedParameters: 0 0 0


Transform generated by the BRAINS module in Slicer 4.4 or 4.5:

#Insight Transform File V1.0
#Transform 0
Transform: CompositeTransform_double_3_3
#Transform 1
Transform: AffineTransform_double_3_3
Parameters: 0.9879451962686057 -0.1398313842406904 [...]
FixedParameters: 0 0 0
#Transform 2
Transform: BSplineTransform_double_3_3
Parameters: 0 0 0 0 0 0 4.543819635902912e-16 [...]
FixedParameters: 10 10 8 -156.7946320357347 [...]

Is this an ITK problem (the transform is correct and the reader should work) or a BRAINS problem (the generated transform is incorrect)?

Thanks,
Julien.

_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: BRAINS bspline transform is incompatible with Resample DTI Volume

inorton
On Wed, Jul 13, 2016 at 12:15 PM, Bradley Lowekamp <[hidden email]> wrote:
Have you tried compiling itk with USE_COMPILER_HIDDEN_VISIBILITY=OFF to work around the dynamic_cast issue?

Thanks, not yet. I saw that in various threads but didn't want to recompile everything right now.

Should this be the default when Slicer is built in debug?
 

On Jul 13, 2016, at 9:22 AM, Isaiah Norton <[hidden email]> wrote:

Hi Julien,

I can reproduce this, and might have a work-around for the first issue (reading the transform). However, after computation writer segfaults when trying to write back tensors. This code really seems to have bit-rotted and will need some updating. Unfortunately debugging is a bit tricky as I'm hitting some issues with running ITK code in debug build because of the `dynamic_cast` across shared library border.

Before I try to debug any more: was there any further discussion of this off-list, or any bug report? I didn't find anything in Mantis.


Best,
Isaiah



On Fri, Jul 1, 2016 at 12:33 PM, Julien Finet <[hidden email]> wrote:
Hi,

Since Slicer 4.0, the BSpline transform generated by the General Registration (BRAINS) module is incompatible with the Resample DTI Volume module.

I try to reproduce the Registration use case #3, but the Resample DTI Volume module fails with the following error:

ERROR: In ..\..\..\..\Slicer-440\Base\QTCLI\vtkSlicerCLIModuleLogic.cxx, line 2141

vtkSlicerCLIModuleLogic (000000000E73D850): Resample DTI Volume terminated with an exception:

itk::ExceptionObject (0000000004AB63C8)

Location: "unknown"

File: c:\d\p\slicer-440-package\itkv4\modules\core\transform\include\itkCompositeTransform.hxx

Line: 948

Description: itk::ERROR: CompositeTransform(000000000FB74750): Input parameter list size is not expected size. 21 instead of 0.


As we can see in the following .tfm files, the transform generated by the General Registration (BRAINS) module is different:

Transform generated by the BRAINS module in Slicer 4.3:

#Insight Transform File V1.0
#Transform 0
Transform: BSplineDeformableTransform_double_3_3
Parameters: 0 1.0114578077352121e-7 0.00031493713015302263 [...]
FixedParameters: 10 10 8 -162.13921379481658 -186.02599186654095 [...]
#Transform 1
Transform: AffineTransform_double_3_3
Parameters: 0.990250215284016 -0.13822556839397512 -0.007126846990927363 [...]
FixedParameters: 0 0 0


Transform generated by the BRAINS module in Slicer 4.4 or 4.5:

#Insight Transform File V1.0
#Transform 0
Transform: CompositeTransform_double_3_3
#Transform 1
Transform: AffineTransform_double_3_3
Parameters: 0.9879451962686057 -0.1398313842406904 [...]
FixedParameters: 0 0 0
#Transform 2
Transform: BSplineTransform_double_3_3
Parameters: 0 0 0 0 0 0 4.543819635902912e-16 [...]
FixedParameters: 10 10 8 -156.7946320357347 [...]

Is this an ITK problem (the transform is correct and the reader should work) or a BRAINS problem (the generated transform is incorrect)?

Thanks,
Julien.

_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ

_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ