View Issue Details

IDProjectCategoryView StatusLast Update
0002273Slicer4Core: CLI infrastructurepublic2014-09-17 23:01
ReporterDMeier Assigned Tolassoan  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product VersionSlicer 4.1.1 
Target VersionSlicer 4.4.0Fixed in VersionSlicer 4.4.0 
Summary0002273: Demons Registration (BRAINS) does not produce deformation field / cannot save
Description

Demons Registration (BRAINS) module has as output option an "Output Displacement Field Volume". What is generated looks like a .tfm node instead, when a volume would be expected. Slicer will not allow saving of this transform and reports: "Cannot write data file ...Demons.tfm"
Seems like a transform node is generated rather than a volume as a result.

TagsNo tags attached.

Activities

hjmjohnson

hjmjohnson

2013-07-05 07:19

developer   ~0008863

<transform fileExtensions=".nrrd" type="nonlinear" reference="movingVolume">
<name>outputDisplacementFieldVolume</name>
<flag>O</flag>
<longflag deprecatedalias="output_field,outputDeformationFieldVolume">outputDisplacementFieldVolume</longflag>
<description>Output deformation field vector image (will have the same physical space as the fixedVolume).</description>
<label>Output Displacement Field Volume</label>
<channel>output</channel>
</transform>

================
This is a historical problem that I'll need more input in addressing. It is my understanding that Slicer does not handle displacement field transforms. Furthermore, ITKv3 did not formally handle them very well. The most "correct" thing to do is to make sure that BRAINSDemonsWarp is producing an ITKv4 compatible transform (i.e. a displacement field transform), and that Slicer learns how to deal with those.

There are several hacks that we could put into place, but I don't know which one is the least distastful:
1) Change this type to "image" rather than "transform" is probably the easiest stop gap.

DMeier, would you be able to test that?

Hans

pieper

pieper

2014-03-07 06:43

administrator   ~0011337

This might have been fixed by recent nonlinear transform improvements.

@Dominik can you doublecheck?

pieper

pieper

2014-04-15 12:48

administrator   ~0011592

@Alex please look into this and close the issue if it's resolved.

alexy

alexy

2014-05-16 07:38

developer   ~0011869

Andras, saving GridTransform node causes crash now (both as .nrrd or .tfm)
it's DisplacementGrid member is NULLL. Please take a look.

lassoan

lassoan

2014-05-16 10:30

developer   ~0011870

Last edited: 2014-05-16 10:31

I confirm that latest nightly version Slicer crashes with the if you attempt to save an uninitialized grid transform (a node is created but not a displacement field image is not set). If you actually perform a demons registration and a field is computed then saving/loading of that field works well.

The fix for the crash (it logs a meaningful error message instead of crashing) is already available but not yet merged:
https://github.com/Slicer/Slicer/pull/132

pieper

pieper

2014-05-16 10:57

administrator   ~0011871

Alex can you look at the pull request? If it looks good you can merge it to svn using the instructions here:

http://www.slicer.org/slicerWiki/index.php/Slicer:git-svn#Integrating_topic_from_external_contributor

alexy

alexy

2014-05-16 11:18

developer   ~0011872

The note on the crash:
I run demons with default parameters on fixed.nrrd in moving.nrrd located in Libs/MRML/Core/Testing/TestData

The CLI completes and I don't see errors reported. However Slicer crashes on save with null DeformationField (which I understand Andras has fixed). Still I would expect to see an error reported from CLI if it cannot create a valid Grid transform. I don't know if the problem is in Demons CLI or slicer.

Having said this, the code looks reasonable, so I suggest Andras merges it into trunk.

lassoan

lassoan

2014-05-16 13:21

developer   ~0011878

Resolution merged into trunk:
http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;revision=23185

jcfr

jcfr

2014-09-17 23:01

administrator   ~0012538

Closing resolved issues that have not been updated in more than 3 months.

Issue History

Date Modified Username Field Change
2012-06-28 05:35 DMeier New Issue
2012-08-20 08:20 nicole Assigned To => hjmjohnson
2012-08-20 08:20 nicole Status new => assigned
2012-08-20 08:20 nicole Target Version => Slicer 4.2.0 - Feature freeze Sept 1st 2012
2012-08-20 12:31 jcfr Target Version Slicer 4.2.0 - Feature freeze Sept 1st 2012 => Slicer 4.2.5
2012-08-21 09:40 jcfr Target Version Slicer 4.2.5 => Slicer 4.3.0
2013-07-05 07:19 hjmjohnson Note Added: 0008863
2013-08-27 12:31 jcfr Assigned To hjmjohnson => alexy
2013-08-27 12:32 pieper Target Version Slicer 4.3.0 => Slicer 4.4.0
2014-03-07 06:43 pieper Note Added: 0011337
2014-04-15 12:48 pieper Note Added: 0011592
2014-05-16 07:38 alexy Note Added: 0011869
2014-05-16 07:38 alexy Assigned To alexy => lassoan
2014-05-16 10:30 lassoan Note Added: 0011870
2014-05-16 10:31 lassoan Note Edited: 0011870
2014-05-16 10:57 pieper Note Added: 0011871
2014-05-16 11:18 alexy Note Added: 0011872
2014-05-16 13:21 lassoan Note Added: 0011878
2014-05-16 13:21 lassoan Status assigned => resolved
2014-05-16 13:21 lassoan Fixed in Version => Slicer 4.4.0
2014-05-16 13:21 lassoan Resolution open => fixed
2014-09-17 22:59 jcfr Status resolved => closed
2014-09-17 23:01 jcfr Note Added: 0012538