[Insight-developers] own ImageToImageFilter doesn't work
Mathieu Malaterre
mathieu.malaterre at gmail.com
Thu Aug 13 06:20:43 EDT 2009
On Thu, Aug 13, 2009 at 11:48 AM, Michael
Siegesmund<TheSmashingPumpkin at web.de> wrote:
> Hi itk developers,
>
> I tried to write my own filter class (inherited from ImageToImageFilter), which encapsulates the functionality of ConnectedThresholdImageFilter.cxx from examples/segmentation.
> So I took CompositeFilterExample.cxx (from examples/filters) as a template and replaced the core code with the one of ConnectedThresholdImageFilter.cxx.
> Afterwards I figured out, that I can use my new class for filtering a png file (input=imageFileReader) but if I want to process a CT-image from a dicom reader (which works fine with other filters!) I always get a black screen.
> And it doesn't matter whether I use an imageviewer or a filewriter for output.
> The problem sounds like I forgot an important thing to do, for example initialize something. I tried hard, but couldn't find the bug.
I do not know why your filter is not working but you cannot do the following:
> template <class TImageType, class TOutputType>
> void ConnectedThresholdFilter<TImageType, TOutputType>::GenerateData()
> {
> smoothing->SetInput(this->GetInput());
> caster->GraftOutput( this->GetOutput() );
> caster->Update();
> this->GraftOutput( caster->GetOutput() );
> }
You cannot call Update since you do not know what is the UpdateExtent.
2cts
--
Mathieu
More information about the Insight-developers
mailing list