<div dir="ltr">Hi all,<div><br></div><div>I wish to apply a filter slice by slice, for which I use SliceBySliceImageFilter (after the appropriate definitions):</div><div><br></div><div>"""</div><div><div>  typedef itk::LaplacianSharpeningImageFilter <ImageType3D, FloatImageType3D> LaplacianSharpeningImageFilterType;</div><div>  LaplacianSharpeningImageFilterType::Pointer LaplacianSharpeningImageFilter = LaplacianSharpeningImageFilterType::New();</div><div>  LaplacianSharpeningImageFilter->SetInput(reader->GetOutput());</div><div>  LaplacianSharpeningImageFilter->Update();</div><div><br></div><div>  typedef itk::FlatStructuringElement<2> StructuringElementType;</div><div>  StructuringElementType::RadiusType AnnulusRadius;</div><div>  AnnulusRadius.Fill(10);</div><div>  StructuringElementType StructuringElement = StructuringElementType::Annulus(AnnulusRadius, Thickness, false, false);</div><div><br></div><div>  typedef itk::SliceBySliceImageFilter<FloatImageType3D, FloatImageType3D> SliceFilterType;</div><div>  SliceFilterType::Pointer SliceFilter = SliceFilterType::New();</div><div><br></div><div>  typedef itk::GrayscaleDilateImageFilter<SliceFilterType::InternalInputImageType,</div><div>                                          SliceFilterType::InternalOutputImageType, StructuringElementType> GrayscaleDilateImageFilterType;</div><div>  GrayscaleDilateImageFilterType::Pointer GrayscaleDilateImageFilter = GrayscaleDilateImageFilterType::New();</div><div>  GrayscaleDilateImageFilter->SetKernel(StructuringElement);</div><div>  </div><div>  SliceFilter->SetInput(LaplacianSharpeningImageFilter->GetOutput());</div><div>  SliceFilter->SetFilter(GrayscaleDilateImageFilter);</div><div>"""</div><div>If I write the output of SliceFilter to a file, I get what I expact, but I do want to compute the minimum between the result and the sharpened image:</div><div><br></div><div>  typedef itk::MinimumImageFilter<FloatImageType3D, FloatImageType3D, FloatImageType3D> MinimumImageFilterType;</div><div>  typename MinimumImageFilterType::Pointer MinimumImageFilter;</div><div>  MinimumImageFilter->SetInput(0, SliceFilter->GetOutput());</div></div><div>  MinimumImageFilter->SetInput(1, LaplacianSharpeningImageFilter->GetOutput());<br></div><div><br></div><div>But that immediately segfaults, even before the output is written to disk. Whichever order, gdb tells me the program crashes at any ->SetInput in the MinimumImageFilter.</div><div>If I on the other hand input a 2D image, and I do not use the SliceBySliceImageFilter, the program seems to work as expected.</div><div><br></div><div>Are there any debugging steps which I could try to find the flaw?</div><div><br></div><div>Best,</div><div>Jonas</div><div><br></div><div><br></div><div><br></div></div>