Skip to content

elastix error when applying tranformparameters #2123

Open
@lilipj

Description

Hello,

I'm trying to perform a 3d rigid registration.
TransformParameterFile is generated.
But the function elastix->Update() crashes while applying transform, but without explicit error.

The problem doesn't appear on linux ubuntu 20.04, only windows (10).

I've tested with several data, or changed parameters, i've tried to setnumberofthreads to 1. Results are the same.

thanks for your help
TransformParameters.0.txt
elastix.log
params.txt

Activity

zivy

zivy commented on May 22, 2024

@zivy
Member

Hello @lilipj,

Please indicate which version of SimpleITK you are using and confirm that you built it yourself. The official binary distributions of SimpleITK do not include SimpleElastix (see FAQ). If you are working with Elastix via an ITK binary distribution, please close the issue here and open it on the ITK issue tracker.

lilipj

lilipj commented on May 22, 2024

@lilipj
Author

Hello, I've built the latest version of SimpleITK 2.3.1 from sources

zivy

zivy commented on May 22, 2024

@zivy
Member

@lilipj thanks for clarifying.

@N-Dekker, does this sound familiar to you? We'd appreciate any advice. Possibly an issue in Elastix which has already been resolved and once we upgrade to the latest Elastix superbuild version will also resolve this issue?

lilipj

lilipj commented on May 24, 2024

@lilipj
Author

Hello, I have build SimpleItk in debug mode, and re-launched my test.
I can see that Elastix returns an output with a null pointer in pixelcontainer.
If it can help you...

Thanks

Print resultVolume Elastix :

Image (0000023B08D80880)
RTTI typeinfo: class itk::Image<float,3>
Reference Count: 1
Modified Time: 36506
Debug: Off
Object Name:
Observers:
none
Source: (0000023B08AE3FC0)
Source output name: Primary
Release Data: Off
Data Released: False
Global Release Data: Off
PipelineMTime: 1715
UpdateMTime: 36507
RealTimeStamp: 0.000000 seconds
LargestPossibleRegion:
Dimension: 3
Index: [0, 0, 0]
Size: [512, 512, 19]
BufferedRegion:
Dimension: 3
Index: [0, 0, 0]
Size: [0, 0, 0]
RequestedRegion:
Dimension: 3
Index: [0, 0, 0]
Size: [512, 512, 19]
Spacing: [0.312500, 0.312500, 4.100000]
Origin: [51.105800, -71.576600, 81.770600]
Direction:
-0.000000 0.000000 -1.000000
1.000000 0.000000 0.000000
0.000000 -1.000000 0.000000

IndexToPointMatrix:
0.000000 0.000000 -4.100000
0.312500 0.000000 0.000000
0.000000 -0.312500 0.000000

PointToIndexMatrix:
0.000000 3.200000 0.000000
0.000000 0.000000 -3.200000
-0.243902 0.000000 0.000000

Inverse Direction:
0.000000 1.000000 0.000000
0.000000 0.000000 -1.000000
-1.000000 0.000000 0.000000

PixelContainer:
ImportImageContainer (0000023B095BE800)
RTTI typeinfo: class itk::ImportImageContainer<unsigned long,float>
Reference Count: 1
Modified Time: 1694
Debug: Off
Object Name:
Observers:
none
Pointer: 0000000000000000
Container manages memory: true
Size: 0
Capacity: 0

lilipj

lilipj commented on May 24, 2024

@lilipj
Author

Is it mandatory to set SimpleITK_INT64_PIXELIDS ?

blowekamp

blowekamp commented on May 24, 2024

@blowekamp
Member

I don't believe that any of the build have that disabled any more. So it may work with it disabled.

lilipj

lilipj commented on Jun 4, 2024

@lilipj
Author

Hello,
I've made another simplified test.
I've written 2 functions, one that is performing registration using sitk::ElastixImageFilter, and one that is using elastix::ElastixFilter, both with the same images and parametersfile inputs.
SimpleITK registration is OK, instead of Elastix registration that fails.
Differences between these 2 libs are not clear to me , they come from the same build, i thought that sitk functions were a layer on top of elastix.
test_elastix.cpp.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      elastix error when applying tranformparameters · Issue #2123 · SimpleITK/SimpleITK