View Issue Details

IDProjectCategoryView StatusLast Update
0004030Slicer4Module ResampleScalarVectorDWIVolumepublic2017-09-30 09:36
Reporterpieper Assigned Toinorton  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version 
Target VersionbacklogFixed in Version 
Summary0004030: Can't read back DWI nodes with MRML IO (shared library)
Description

The b-values are not read correctly from metadata.

Steps To Reproduce

Download MRHead and DWI volume from sample data.
Make an identity transform.
Try to use the module to resample.

Crashes.

See stack trace below.

Issue was introduced with this commit:

https://github.com/Slicer/Slicer/commit/bc3f4d6b7e59ebff6399d0faf84f180b17f5f855

The 'bvalues' are never written to (because the section is commented out), but they are used later.

Additional Information
  • thread 0000005: tid = 0xa2ddb9, 0x000000012c3b4190 libMRMLIDIO.dylib`itk::MRMLIDImageIO::SetDWNodeValues(this=0x00007ff71a7aacb0, dw=0x00007ff705d1b610, dict=0x00007ff71a71b780) + 9168 at itkMRMLIDImageIO.cxx:948, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    • frame #0: 0x000000012c3b4190 libMRMLIDIO.dylibitk::MRMLIDImageIO::SetDWNodeValues(this=0x00007ff71a7aacb0, dw=0x00007ff705d1b610, dict=0x00007ff71a71b780) + 9168 at itkMRMLIDImageIO.cxx:948 frame 0000001: 0x000000012c3b190f libMRMLIDIO.dylibitk::MRMLIDImageIO::WriteImageInformation(this=0x00007ff71a7aacb0, node=0x00007ff705d1b610, img=0x00007ff71a7affe0, scalarType=0x000000012c44ccd4, numberOfScalarComponents=0x000000012c44ccd0) + 6319 at itkMRMLIDImageIO.cxx:610
      frame 0000002: 0x000000012c3b4900 libMRMLIDIO.dylibitk::MRMLIDImageIO::Write(this=0x00007ff71a7aacb0, buffer=0x00000001c7c2e000) + 1216 at itkMRMLIDImageIO.cxx:664 frame 0000003: 0x00000001460cd8b7 libResampleScalarVectorDWIVolumeLib.dylibitk::ImageFileWriter<itk::VectorImage<unsigned short, 3u> >::GenerateData(this=0x00007ff701621cc0) + 9335 at itkImageFileWriter.hxx:429
      frame 0000004: 0x00000001460d4e2b libResampleScalarVectorDWIVolumeLib.dylibitk::ImageFileWriter&lt;itk::VectorImage&lt;unsigned short, 3u> >::Write(this=0x00007ff701621cc0) + 28971 at itkImageFileWriter.hxx:363 frame 0000005: 0x00000001460cb399 libResampleScalarVectorDWIVolumeLib.dylibitk::ImageFileWriter<itk::VectorImage<unsigned short, 3u> >::Update(this=0x00007ff701621cc0) + 25 at itkImageFileWriter.h:165
      frame 0000006: 0x0000000145c457be libResampleScalarVectorDWIVolumeLib.dylibint (anonymous namespace)::Rotate&lt;unsigned short>(list=0x000000012c453438)::parameters&) + 5710 at ResampleScalarVectorDWIVolume.cxx:1246 frame 0000007: 0x0000000145c3fdf5 libResampleScalarVectorDWIVolumeLib.dylibModuleEntryPoint(argc=35, argv=0x00007ff705e391d0) + 96261 at ResampleScalarVectorDWIVolume.cxx:1315
      frame 0000008: 0x000000010927c91f libqSlicerBaseQTCLI.dylibvtkSlicerCLIModuleLogic::ApplyTask(this=0x00007ff7117e63b0, clientdata=0x00007ff7017970a0) + 130431 at vtkSlicerCLIModuleLogic.cxx:2171 frame 0000009: 0x000000010c2fc3cf libSlicerBaseLogic.dylibvtkSlicerTask::Execute(this=0x00007ff71a3a7ee0) + 175 at vtkSlicerTask.cxx:36
      frame 0000010: 0x000000010c2c069b libSlicerBaseLogic.dylibvtkSlicerApplicationLogic::ProcessProcessingTasks(this=0x00007ff7137d3ea0) + 699 at vtkSlicerApplicationLogic.cxx:498 frame 0000011: 0x000000010c2bfe4e libSlicerBaseLogic.dylibvtkSlicerApplicationLogic::ProcessingThreaderCallback(arg=0x00007ff71501e458) + 78 at vtkSlicerApplicationLogic.cxx:456
      frame 0000012: 0x00007fff9190b268 libsystem_pthread.dylib_pthread_body + 131 frame 0000013: 0x00007fff9190b1e5 libsystem_pthread.dylib_pthread_start + 176
      frame 0000014: 0x00007fff9190941d libsystem_pthread.dylib`thread_start + 13
TagsNo tags attached.

Relationships

duplicate of 0002466 closedinorton CLIs that use DVW nodes crash in MRMLIDImageIO 
parent of 0004031 closedinorton measurement frame/gradients are wrong after resampling 
has duplicate 0003986 closedjcfr Slicer crashes when a CLI module writes a diffusion tensor output image with the ITK writer class 

Activities

2015-08-10 08:22

 

dwi-bug.png (54,940 bytes)
dwi-bug.png (54,940 bytes)
pieper

pieper

2015-08-10 08:31

administrator   ~0013231

Workaround is to set "Prefer Executable CLIs" in the Application Settings so that files are used instead of in-memory transfers.

Unfortunately this leads to a new bug, that will be entered as a child of this.

For now the best solution is to resample the scalar volume in the space of the dwi.

jcfr

jcfr

2017-09-26 10:40

administrator   ~0015132

Is this still an issue ? Should it be moved to the DMRI issue tracker.

In the mean time, and since there is a workaround, we are moving to backlog.

inorton

inorton

2017-09-30 09:36

developer   ~0015223

Can't reproduce on current trunk + SlicerDMRI.

Issue History

Date Modified Username Field Change
2015-08-10 08:22 pieper New Issue
2015-08-10 08:22 pieper File Added: dwi-bug.png
2015-08-10 08:31 pieper Note Added: 0013231
2015-08-10 08:35 pieper Relationship added parent of 0004031
2015-10-23 12:32 pieper Status new => assigned
2015-10-23 12:32 pieper Assigned To => lauren
2015-11-11 08:41 inorton Relationship added duplicate of 0002466
2015-11-11 08:41 inorton Assigned To lauren => inorton
2015-11-11 12:03 jcfr Target Version => Slicer 4.5.1
2015-11-11 12:03 jcfr Additional Information Updated
2015-11-12 15:07 jcfr Relationship added has duplicate 0003986
2016-10-12 02:56 jcfr Target Version Slicer 4.5.1 => Slicer 4.7.0
2017-09-26 10:40 jcfr Status assigned => feedback
2017-09-26 10:40 jcfr Note Added: 0015132
2017-09-26 10:40 jcfr Target Version Slicer 4.7.0 => backlog
2017-09-26 10:40 jcfr Additional Information Updated View Revisions
2017-09-30 09:36 inorton Status feedback => closed
2017-09-30 09:36 inorton Resolution open => fixed
2017-09-30 09:36 inorton Note Added: 0015223