Elastix extension not creating a transform

System: Win 7 64 bit, Slicer 4.10.0, SlicerElastix extension
Expected behavior: Save Elastix results in transformation
Actual behavior: Transformation is still identity (Linear transform, diag (1,1,1,1)) after running Elastix.

Hi @lassoan and everybody,

I tried out the Elastix registration extension today but it does not return a registration.
I selected my moving and fixed volume (both contrast-enhanced cardiac CTs of a pig at different time-points, differing in size but otherwise similar) and an output transform (which I created using Create New Transform as… from the output transform drop-down menu).
The parameter set I selected is “3D CT monomodal (lung)”.
I then run Elastix by clicking “Apply”. Elastix runs for almost 1 hour and gives the following output:

Volume registration is started in working directory: C:/Users/M171189/AppData/Local/Temp/Slicer/Elastix/20181127_135854_439
Register volumes...
Generate output...
Error:

The working directory contains the following files:

\input
    fixed.mha
    moving.mha

\result-transform
    elastix.log

    IterationInfo.0.R0.txt 
    ...
    IterationInfo.2.R4.txt

    TransformParameters.0.R0.txt
    ...
    TransformParameters.2.R4.txt

    result.0.mhd 
    result.0.raw

However, the transformation newer shows up in Slicer (the output transformation is empty and the “Information” panel in the Transform module states “Transform to parent: Not specified”)

The log file is huge and contains a couple of warnings, but no errors as far as I can see.

As this is my first attempt to use Elastix, I unfortunately have no clue what else I could try.
Any hints and suggestions are appreciated.

Thank you
Stephan

Is it possible that you did not specify an output volume? Unfortunately computation fails if only an output transform is given but no volume.

I fell into that trap a while ago and reported it as a bug: https://github.com/lassoan/SlicerElastix/issues/9

I unfortunately have no clue what else I could try.
Any hints and suggestions are appreciated.

what about sharing the huge log file?

You are right, I did not specify an output volume, only a transform. I’ll retry with specifying both tomorrow when I’m back in the office, but it looks like that might have been the problem.
Thank you very much.

I’ve fixed the issue. If you update SlicerElastix tomorrow or later then you can run the registration without selecting an output volume.

2 Likes