[Insight-users] Filter plans

Gaetan Lehmann gaetan.lehmann at jouy.inra.fr
Thu Oct 19 04:59:18 EDT 2006


Hi,

On Thu, 19 Oct 2006 07:56:30 +0200, Robert Tamburo  
<robert.tamburo at gmail.com> wrote:

> Hi,
>
> I started to write up an email describing the filter, but decided
> that I should just go ahead and write up an article and submit it to
> the Insight Journal. I also submitted the filter code and example
> code for using the filter.

That's the righ way to do things :-)
Thanks

>
> The URL to the filter article is : http://insight-journal.org/dspace/
> handle/1926/323
>
> Let me know if you have any questions or problems.
>
> -Robert
>
> On Oct 18, 2006, at 1:30 AM, Prename Surname wrote:
>
>> Hey Robert
>> That sounds really interresting. What approach are you using in
>> your filter? I would very much like to hear more.
>>
>> Best of regards
>>
>>
>> 2006/10/18, Robert Tamburo <robert.tamburo at gmail.com>:
>> Hi guys,
>>
>>
>> I'm actually working on a similar filter and should have it
>> finished in a couple of days (depending on how my cold progresses).
>> Basically the image takes as input a vector of input images and
>> produces a single image with the "interesting" voxels from the
>> input images labeled. I can post the filter when finished.
>>
>>
>> -Robert
>>
>> On Oct 17, 2006, at 6:15 PM, Prename Surname wrote:
>>
>>> Aha, that would of course also be an idea to do like that. I dont
>>> know any of these filters.
>>> So your interresting suggestion is to subclass the
>>> itk::NaryFunctorImageFilter< TInputImage, TOutputImage, TFunction >
>>> so that it accepts 3 input images in the constructor, and then
>>> internally does what?
>>>
>>>
>>> 2006/10/17, Gaëtan Lehmann <gaetan.lehmann at jouy.inra.fr>:
>>> Le Tue, 17 Oct 2006 21:18:16 +0200, Prename Surname
>>> < bsd.diverse at gmail.com > a écrit:
>>>
>>> > aha i see...
>>> > Yes, of course i know this is simple, but starting simple is
>>> always the
>>> > way
>>> > to go :)
>>>
>>> sure
>>>
>>> >
>>> > I think maybe you have misunderstood what i want to do. I dont
>>> want to
>>> > make
>>> > a RGB image, i just want to combine 3 different binary mask
>>> images into a
>>> > single grayscale mask image with values 0,1,2,3 (0=background,
>>> 1=gm,
>>> > 2=wm,3=wm)
>>> > If i just manage this i can port it to vtk no problem.
>>> > So i just wanted to create a composite filter to do this for me.
>>> > Do you see what i mean?
>>>
>>> Yes, I think :-)
>>> This mean you are sure that the object in an image is never
>>> overlapping
>>> with the objects in the other images. Is it the case ?
>>> If yes, you can use ChangeLabelImageFilter to change the value of
>>> your
>>> background pixels to 0 (if it's not already the case), and the
>>> values of
>>> the foreground pixel to 1 in the first image, 2 in the second one,
>>> and 3
>>> in the last one. Finally, you can add your 3 images with
>>> NaryAddImageFilter to produce the image you want.
>>> It can be quite boring to instantiate 4 filters to do that - perhaps
>>> that's the right time to implement a custom filter based on
>>> NaryFunctorImageFilter :-)
>>>
>>> Gaetan
>>>
>>> >
>>> > Many regards :)
>>> >
>>> >
>>> > 2006/10/17, Gaëtan Lehmann < gaetan.lehmann at jouy.inra.fr>:
>>> >>
>>> >>
>>> >> Hi,
>>> >>
>>> >> Most of the time, the simple manipulation like this one can
>>> already be
>>> >> done in ITK or VTK, so you shouldn't have to create a new
>>> filter to do
>>> >> that :-)
>>> >> However, we are always pleased to see someone motivated to
>>> develop some
>>> >> new features for the toolkit, especially if he/she want to
>>> contribute
>>> >> that
>>> >> code to the community. I'm pretty sure you'll find something
>>> useful to
>>> >> code soon :-)
>>> >>
>>> >> To combine your 3 images, you can use ComposeRGBImageFilter
>>> (1), which
>>> >> takes 3 input images and give you a RGB image.
>>> >> However, I'm not sure you can pass the rgb image directly to vtk
>>> >> (perhaps
>>> >> something to code :-)). You'll have to pass the 3 binary images
>>> in vtk
>>> >> with ImageToVTKImageFilter, and compose the color image in vtk.
>>> >>
>>> >> Gaetan
>>> >>
>>> >> (1)
>>> >> http://www.itk.org/Doxygen/html/
>>> classitk_1_1ComposeRGBImageFilter.html
>>> >>
>>> >>
>>> >>
>>> >> Le Tue, 17 Oct 2006 19:56:04 +0200, Prename Surname
>>> >> < bsd.diverse at gmail.com> a écrit:
>>> >>
>>> >> > Hello.
>>> >> > I am beginning to feel a bit more at home in itk/vtk now.
>>> There are
>>> >> > still a
>>> >> > zillion things to learn about it, but its getting a bit
>>> better. So
>>> >> now i
>>> >> > have decided that i want to try and make my own filter to get
>>> more
>>> >> > acquainted with the whole pipeline approach.
>>> >> >
>>> >> > I have read chapter 13 in the itksoftwareguide, and i have
>>> thought
>>> >> about
>>> >> > a
>>> >> > approach to make my filter. I was hoping some of you experts
>>> would
>>> >> tell
>>> >> > me
>>> >> > if i am completely off, or if my idea is okay.
>>> >> > My situation is this:
>>> >> > I have a greyscale volume consisting of 182 slices that are
>>> 182x218
>>> >> > pixels
>>> >> > of a brain.
>>> >> > I have a mask of corresponding size with values 0 and 255 for
>>> the
>>> >> > positions
>>> >> > of greymatter
>>> >> > I have a mask of corresponding size with values 0 and 255 for
>>> the
>>> >> > positions
>>> >> > of whitematter
>>> >> > I have a mask of corresponding size with values 0 and 255 for
>>> the
>>> >> > positions
>>> >> > of CSF(brainfluid)
>>> >> >
>>> >> > Basically i want my filter to combine the 3 masks to a single
>>> image,
>>> >> so
>>> >> > that
>>> >> > i can visualize this image in vtk with different colors for
>>> >> greymatter,
>>> >> > whitematter and CSF.
>>> >> >
>>> >> >
>>> >> > Making a filter (lets call it masking)that subclasses
>>> >> ImageToImageFilter,
>>> >> > and then takes 2 input images and somehow combining them to a
>>> single
>>> >> > image
>>> >> > by just adding them together.
>>> >> >
>>> >> > I then want to make a compositefilter that actually makes a
>>> pipeline
>>> >> of
>>> >> 2
>>> >> > masking filters, taking first 2 masks, combining them in the
>>> masking
>>> >> > filter,
>>> >> > takes the output of this and combine it with the third mask
>>> using
>>> >> again
>>> >> > the
>>> >> > masking filter, and then outputting the final masked image.
>>> >> >
>>> >> > Does this sound  feasible, and more important is this a good
>>> approach?
>>> >> > I hope for some feedback.
>>> >> >
>>> >> > Many regards and thank you
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> 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
>>>
>>> _______________________________________________
>>> 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


More information about the Insight-users mailing list