Antwort: Re: Antwort: Re: [Insight-users] Inserting 2D image in 3D volume

Gaëtan Lehmann gaetan.lehmann at jouy.inra.fr
Tue Dec 5 14:15:43 EST 2006


Le Tue, 05 Dec 2006 14:00:23 +0100, <matthias.honal at uniklinik-freiburg.de>  
a écrit:

> Hi Gaetan,
>
> thanks for extending the SliceBySliceImageFilter to multiple inputs (and
> sorry for my late response to your mail). Right now I solved my problem
> without your filter, simply by extracting single slices from the source
> voulumes, registering them and finally pasting the transformed slices in
> the target volume. This works fine but requires indeed a considerable
> amount of programming. So the more elegant solution would be certainly to
> use the SliceBySliceImageFilter, however I'm still not sure, whether it  
> is
> applicable for my problem. There are 2 little problems I see.
>
> 1. Registration, i.e. the transformation of the moving image, requires a
> filter chain. First, one needs the registration method (which has to be
> assigned an optimizer, a transformation etc. ) and then a resampling  
> filter
> which uses the transformation and the obtained parameters to transform  
> the
> moving image. How would one pass such a filter chain to the
> SliceBySliceImageFilter?

you're right again, that's not possible currently.
I have thought about doing that, but I'm not sure that would be easy to  
do: an ImageToImageFilter is and ImageSource, but also an image receiver.  
Sadely, I suppose to avoid the multiple inheritence, there is no  
ImageReceiver class in ITK, and it make the implementation a little  
difficult

>
> 2. itk::ImageRegistrationMethod has methods SetFixedImage and
> SetMovingImage which set attributes m_FixedImage and m_MovingImage.  
> However
> the SliceBySliceImageFilter calls m_Filter->SetInput( i,  
> internalInputs[i]
> ); which does not set these attributes to my understanding.

I never use the registration classes of ITK, so I didn't noticed that  
problem. I thought naively that registration use the same structure than  
the other filters.
Is it also required to call SetFixedImageRegion() before running the code ?

Anyway, SliceBySliceImageFilter will not work in that case, but it should  
be possible to make a RegisrationSliceBySliceImageFilter :-)

Gaetan

>
> So can the SliceBySlice image filter exclusively be used in connection  
> with
> actual filters, or can a 'special' task such as image registration be
> handeled as well?
>
>
> Thanks a lot,
>
> Matthias
>
>
>
>
>
>             "Gaetan Lehmann"
>              <gaetan.lehmann at j
>              ouy.inra.fr>                                                
> An
>                                         "Luis Ibanez"
>              27.11.2006 11:39           <luis.ibanez at kitware.com>,
>                                         matthias.honal at uniklinik-freiburg.
>                                         de
>                                                                      Kopie
>                                         insight-users at itk.org
>                                                                      Thema
>                                         Re: Antwort: Re: [Insight-users]
>                                         Inserting 2D image in 3D volume
>
>
>
>
>
> Hi Matthias,
>
> SliceBySliceImageFilter now supports several inputs and outputs of same
> size and type.
> In the future, it should be possible to relax the condition on size if
> needed, but not I don't think it should be possible to relax condition on
> type.
>
> http://voxel.jouy.inra.fr/darcs/contrib-itk/sliceBySlice/itkSliceBySliceImageFilter.h
>
> http://voxel.jouy.inra.fr/darcs/contrib-itk/sliceBySlice/itkSliceBySliceImageFilter.txx
>
>
> And there is also the solution proposed by Luis - I was to busy making  
> ads
>
> for my filters to reply to your question :-)
>
> Gaetan
>
>
> On Sun, 26 Nov 2006 21:25:15 +0100, Luis Ibanez <luis.ibanez at kitware.com>
> wrote:
>
>> Hi Mattias,
>>
>> You may want to look at the PasteImageFilter:
>>
>> http://www.itk.org/Insight/Doxygen/html/classitk_1_1PasteImageFilter.html
>>
>>
>>     Regards,
>>
>>
>>         Luis
>>
>>
>> ------------------------------------------------
>> matthias.honal at uniklinik-freiburg.de wrote:
>>>   Hi Gaetan,
>>>  the SliceBySliceImageFilter really looks interesting to me, however
>>> maybe that my problem is to complex to use the filter. Precisely I'm
>>> planning to do a slice by slice 2D registration (to compare it later on
>
>>> with a 3D registration). So the problem is that I have two input
>>> volumes which I would like to process slice by slice, i.e. I would like
>
>>> to compute a tranformed image from each slice pair. Then the
>>> transformed image should be written in the output volume.
>>> Up to now, I did not see how the filter could be used for that problem.
>
>>> Or do you think there is a solution?
>>>  Thanks a lot,
>>>  Matthias
>>>   -----Gaëtan Lehmann <gaetan.lehmann at jouy.inra.fr> schrieb: -----
>>>      An: matthias.honal at uniklinik-freiburg.de, insight-users at itk.org
>>>     Von: Gaëtan Lehmann <gaetan.lehmann at jouy.inra.fr>
>>>     Datum: 11/26/2006 05:42PM
>>>     Thema: Re: [Insight-users] Inserting 2D image in 3D volume
>>>      Hi Matthias,
>>>      I have wrote a filter to process an image slice by slice, and
>>>     submited it      to the insight journal:
>>>        http://hdl.handle.net/1926/368
>>>      Please let me know if it fits your need, or if there is some
>>> things to      change to make it useful for you.
>>>      Regards,
>>>      Gaetan
>>>       Le Sun, 26 Nov 2006 17:29:40 +0100,      a écrit:
>>>       > Hi all,
>>>      >
>>>      > I'm trying to process a 3D data volume slice by slice. To do so,
>
>>> I       > extract first
>>>      > the desired slice from the complete volume using the
>>>     ExtractImageFilter       > and
>>>      > process it using several filters. Finally I would like to copy
>>>     the slice       > to a
>>>      > certain position in my output volume, which has previously been
>
>>>      > allocated.
>>>      > However I found no way to do that, except for copying pixel by
>>> pixel.
>>>      > So do I miss a fundamental concept of ITK here, or didn't I
>>>     simply find       > the
>>>      > appropriate filter or method to insert a 2D slice in a 3D  
>>> volume.
>>>      >
>>>      > Thanks a lot in advance,
>>>      >
>>>      > Matthias
>>>      >
>>>        --     Gaëtan Lehmann
>>>     Biologie du Développement et de la Reproduction
>>>     INRA de Jouy-en-Josas (France)
>>>     tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
>>>     http://voxel.jouy.inra.fr <http://voxel.jouy.inra.fr/>
>>>
>>> ------------------------------------------------------------------------
>>>  _______________________________________________
>>> Insight-users mailing list
>>> Insight-users at itk.org
>>> http://www.itk.org/mailman/listinfo/insight-users
>
>
>
> --
> Gaëtan Lehmann
> Biologie du Développement et de la Reproduction
> INRA de Jouy-en-Josas (France)
> tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
> http://voxel.jouy.inra.fr
>
>



-- 
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
http://voxel.jouy.inra.fr


More information about the Insight-users mailing list