<div>That looks great Robert</div>
<div>I will look into it later today and let you know what i think.</div>
<div> </div>
<div>Regards<br><br> </div>
<div><span class="gmail_quote">2006/10/19, Robert Tamburo <<a href="mailto:robert.tamburo@gmail.com">robert.tamburo@gmail.com</a>>:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div style="WORD-WRAP: break-word">
<div>Hi,</div>
<div><br> </div>
<div>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.
</div>
<div><br> </div>
<div>The URL to the filter article is : <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://insight-journal.org/dspace/handle/1926/323" target="_blank">http://insight-journal.org/dspace/handle/1926/323
</a></div>
<div><br> </div>
<div>Let me know if you have any questions or problems.</div><span class="sg">
<div><br> </div>
<div>-Robert</div></span>
<div><span class="e" id="q_10e5f25eb89f9510_2"><br>
<div>
<div>On Oct 18, 2006, at 1:30 AM, Prename Surname wrote:</div><br>
<blockquote type="cite">
<div>Hey Robert</div>
<div>That sounds really interresting. What approach are you using in your filter? I would very much like to hear more.</div>
<div> </div>
<div>Best of regards<br><br> </div>
<div><span class="gmail_quote">2006/10/18, Robert Tamburo <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:robert.tamburo@gmail.com" target="_blank">robert.tamburo@gmail.com</a>>:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div style="WORD-WRAP: break-word">
<div>Hi guys,</div>
<div><br> </div>
<div>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.
</div>
<div><br> </div>
<div>-Robert</div><br>
<div>
<div><span>
<div>On Oct 17, 2006, at 6:15 PM, Prename Surname wrote:</div><br></span></div>
<blockquote type="cite">
<div><span>
<div>Aha, that would of course also be an idea to do like that. I dont know any of these filters.</div>
<div>So your interresting suggestion is to subclass the </div>
<div>itk::NaryFunctorImageFilter< TInputImage, TOutputImage, TFunction ></div>
<div>so that it accepts 3 input images in the constructor, and then internally does what?<br><br> </div>
<div><span class="gmail_quote">2006/10/17, Gaëtan Lehmann <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:gaetan.lehmann@jouy.inra.fr" target="_blank">gaetan.lehmann@jouy.inra.fr</a>>:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Le Tue, 17 Oct 2006 21:18:16 +0200, Prename Surname<br><<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bsd.diverse@gmail.com" target="_blank">
bsd.diverse@gmail.com </a>> a écrit:<br><br>> aha i see...<br>> Yes, of course i know this is simple, but starting simple is always the<br>> way<br>> to go :)<br><br>sure<br><br>><br>> I think maybe you have misunderstood what i want to do. I dont want to
<br>> make<br>> a RGB image, i just want to combine 3 different binary mask images into a<br>> single grayscale mask image with values 0,1,2,3 (0=background, 1=gm,<br>> 2=wm,3=wm)<br>> If i just manage this i can port it to vtk no problem.
<br>> So i just wanted to create a composite filter to do this for me.<br>> Do you see what i mean?<br><br>Yes, I think :-)<br>This mean you are sure that the object in an image is never overlapping<br>with the objects in the other images. Is it the case ?
<br>If yes, you can use ChangeLabelImageFilter to change the value of your<br>background pixels to 0 (if it's not already the case), and the values of<br>the foreground pixel to 1 in the first image, 2 in the second one, and 3
<br>in the last one. Finally, you can add your 3 images with<br>NaryAddImageFilter to produce the image you want.<br>It can be quite boring to instantiate 4 filters to do that - perhaps<br>that's the right time to implement a custom filter based on
<br>NaryFunctorImageFilter :-)<br><br>Gaetan<br><br>><br>> Many regards :)<br>><br>><br>> 2006/10/17, Gaëtan Lehmann <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:gaetan.lehmann@jouy.inra.fr" target="_blank">
gaetan.lehmann@jouy.inra.fr</a>>:<br>>><br>>><br>>> Hi,<br>>><br>>> Most of the time, the simple manipulation like this one can already be<br>>> done in ITK or VTK, so you shouldn't have to create a new filter to do
<br>>> that :-) <br>>> However, we are always pleased to see someone motivated to develop some<br>>> new features for the toolkit, especially if he/she want to contribute<br>>> that<br>>> code to the community. I'm pretty sure you'll find something useful to
<br>>> code soon :-)<br>>><br>>> To combine your 3 images, you can use ComposeRGBImageFilter (1), which<br>>> takes 3 input images and give you a RGB image.<br>>> However, I'm not sure you can pass the rgb image directly to vtk
<br>>> (perhaps<br>>> something to code :-)). You'll have to pass the 3 binary images in vtk<br>>> with ImageToVTKImageFilter, and compose the color image in vtk.<br>>><br>>> Gaetan<br>>>
<br>>> (1)<br>>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.itk.org/Doxygen/html/classitk_1_1ComposeRGBImageFilter.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1ComposeRGBImageFilter.html
</a><br>>><br>>><br>>><br>>> Le Tue, 17 Oct 2006 19:56:04 +0200, Prename Surname<br>>> <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bsd.diverse@gmail.com" target="_blank">
bsd.diverse@gmail.com</a>> a écrit:<br>>><br>>> > Hello.<br>>> > I am beginning to feel a bit more at home in itk/vtk now. There are <br>>> > still a<br>>> > zillion things to learn about it, but its getting a bit better. So
<br>>> now i<br>>> > have decided that i want to try and make my own filter to get more<br>>> > acquainted with the whole pipeline approach. <br>>> ><br>>> > I have read chapter 13 in the itksoftwareguide, and i have thought
<br>>> about<br>>> > a<br>>> > approach to make my filter. I was hoping some of you experts would <br>>> tell<br>>> > me<br>>> > if i am completely off, or if my idea is okay.
<br>>> > My situation is this:<br>>> > I have a greyscale volume consisting of 182 slices that are 182x218 <br>>> > pixels<br>>> > of a brain.<br>>> > I have a mask of corresponding size with values 0 and 255 for the
<br>>> > positions<br>>> > of greymatter<br>>> > I have a mask of corresponding size with values 0 and 255 for the <br>>> > positions<br>>> > of whitematter<br>>> > I have a mask of corresponding size with values 0 and 255 for the
<br>>> > positions<br>>> > of CSF(brainfluid)<br>>> > <br>>> > Basically i want my filter to combine the 3 masks to a single image,<br>>> so<br>>> > that<br>>> > i can visualize this image in vtk with different colors for
<br>>> greymatter, <br>>> > whitematter and CSF.<br>>> ><br>>> ><br>>> > Making a filter (lets call it masking)that subclasses<br>>> ImageToImageFilter,<br>>> > and then takes 2 input images and somehow combining them to a single
<br>>> > image<br>>> > by just adding them together.<br>>> ><br>>> > I then want to make a compositefilter that actually makes a pipeline<br>>> of<br>>> 2<br>>> > masking filters, taking first 2 masks, combining them in the masking
<br>>> > filter,<br>>> > takes the output of this and combine it with the third mask using<br>>> again<br>>> > the<br>>> > masking filter, and then outputting the final masked image.
<br>>> ><br>>> > Does this sound feasible, and more important is this a good approach?<br>>> > I hope for some feedback.<br>>> ><br>>> > Many regards and thank you<br>>>
<br>>><br>>><br>>> --<br>>> Gaëtan Lehmann<br>>> Biologie du Développement et de la Reproduction<br>>> INRA de Jouy-en-Josas (France)<br>>> tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
<br>>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://voxel.jouy.inra.fr/" target="_blank">http://voxel.jouy.inra.fr</a><br>>><br><br><br><br>--<br>Gaëtan Lehmann<br>Biologie du Développement et de la Reproduction
<br>INRA de Jouy-en-Josas (France)<br>tel: +33 1 34 65 29 66 fax: 01 34 65 29 09 <br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://voxel.jouy.inra.fr/" target="_blank">http://voxel.jouy.inra.fr
</a><br></blockquote></div><br></span></div>
<div style="MARGIN: 0px">_______________________________________________</div>
<div style="MARGIN: 0px">Insight-users mailing list</div>
<div style="MARGIN: 0px"><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Insight-users@itk.org" target="_blank">Insight-users@itk.org</a></div>
<div style="MARGIN: 0px"><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a></div></blockquote>
</div><br> </div></blockquote></div><br></blockquote></div><br></span></div></div></blockquote></div><br>