<div dir="ltr"><div><div><div><div>Hello,<br></div>It&#39;s ok, the output of the filter is binary.<br></div>I want to do some meshing with simpleitk from my segmented images but i didn&#39;t see any meshfilter method.?<br>
</div>Here is my code wich works great while visualizing with imageJ&#39;s volume viewer:<br><br>public class ImageReader {<br><br>    private static String inputFilename;<br>    private static String outputFilename;<br><br>
    private static VectorUInt32 seedList = new VectorUInt32(3);<br>    private static Vector&lt;String&gt; names = new Vector&lt;String&gt;();<br><br>    private static ImageFileReader reader = new ImageFileReader();<br>    private static ImageFileWriter writer = new ImageFileWriter();<br>
<br>    private static ConnectedThresholdImageFilter filter = new ConnectedThresholdImageFilter();<br>    // private static CastImageFilter cast = new CastImageFilter();<br>    private static BinaryErodeImageFilter erode = new BinaryErodeImageFilter();<br>
    private static BinaryDilateImageFilter dilate = new BinaryDilateImageFilter();<br>    private static MedianImageFilter median = new MedianImageFilter();<br><br>    private static Image input = new Image(128, 128, 128,<br>
            PixelIDValueEnum.sitkFloat32);<br>    private static Image output = new Image(128, 128, 128,<br>            PixelIDValueEnum.sitkFloat32);<br><br>    public static void main(String[] args) {<br><br>        int m = 0;<br>
        names.clear();<br>        names.add(&quot;.xy.mhd&quot;);<br>        names.add(&quot;.xz.mhd&quot;);<br>        names.add(&quot;.yz.mhd&quot;);<br>        for (String i : names) {<br><br>            inputFilename = &quot;fdk&quot; + names.get(m);<br>
            outputFilename = &quot;output_cube&quot; + names.get(m);<br>            reader.setFileName(inputFilename);<br>            writer.setFileName(outputFilename);<br><br>            /* valeurs de seuil */<br>            filter.setLower(0.00085);<br>
            filter.setUpper(5);<br>            filter.setReplaceValue((short) 1);<br><br>            /* radius erosion / dilatation */<br>            erode.setKernelRadius(3);<br>            erode.setBackgroundValue(0.00085);<br>
            erode.setForegroundValue(0.004);<br>            dilate.setKernelRadius(2);<br><br>            /* median */<br>            median.setRadius(3);<br><br>            /* seed points */<br>            seedList.clear();<br>
            seedList.push_back(60);<br>            seedList.push_back(60);<br>            seedList.push_back(60);<br>            filter.setSeed(seedList);<br><br>            input = reader.execute();<br><br>            caracteristics(input, inputFilename);<br>
<br>            output = filter.execute(input);<br><br>            // output = dilate.execute(output);<br>            // output = median.execute(output);<br>            // erode.setKernelRadius(2);<br>            // dilate.setKernelRadius(2);<br>
            // output = erode.execute(output);<br>            // output = dilate.execute(output);<br><br>            /* conversion float 32 bit */<br>            // cast.setOutputPixelType(PixelIDValueEnum.sitkFloat32);<br>
            // output = cast.execute(output);<br><br>            writer.execute(output);<br>            caracteristics(output, outputFilename);<br>            m++;<br>        }<br>    }<br><br>    public static void caracteristics(Image image, String fn) {<br>
        System.out.println(&quot;Filename: &quot; + fn + &quot; Dimension: &quot;<br>                + image.getDimension() + &quot; Type: &quot;<br>                + image.getPixelIDTypeAsString() + &quot; PixelID &quot;<br>
                + image.getPixelIDValue());<br>    }<br>}<br><br></div>Regards,<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/4/29 Bradley Lowekamp <span dir="ltr">&lt;<a href="mailto:blowekamp@mail.nih.gov" target="_blank">blowekamp@mail.nih.gov</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hello Thibault,<div><br></div><div>That is really not enough information for anyone to be able to help you.</div>
<div><br></div><div>Please provide a code snippet of what you tried to do. What do you expect the result to be, and what did you get as output? Also how did you examine your output?</div><div><br></div><div>Also keep in mind the standard SimpleITK representation of a binary image output ( frequently from threshold based segmentations ) is an unint8_t image of 0s and 1s. Many images viewers will appear to just show a black image when the content is actually there.</div>
<div><br></div><div>Brad</div><div><div class="h5"><div><br><div><div>On Apr 29, 2013, at 4:19 AM, Thibault Varacca &lt;<a href="mailto:thibault.varacca@gmail.com" target="_blank">thibault.varacca@gmail.com</a>&gt; wrote:</div>
<br><blockquote type="cite"><div dir="ltr">I tried to apply CastImageFilter 8bit -&gt; 32 bit float but nothing worked ...<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/4/29 Thibault Varacca <span dir="ltr">&lt;<a href="mailto:thibault.varacca@gmail.com" target="_blank">thibault.varacca@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi, <br></div>yes it works better ... <br></div>I have also another problem:  i have a 32-bit float image in input and the filter generates an image of 8-bit unsigned integer. I want to have 32-bit float in output.<br>


</div>Any way to do this?<br></div>Thanks !<br></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/4/26 Bradley Lowekamp <span dir="ltr">&lt;<a href="mailto:blowekamp@mail.nih.gov" target="_blank">blowekamp@mail.nih.gov</a>&gt;</span><br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hello,<div><br></div><div>It appears you are not actually setting the seeds to the filter. There are two methods to choose from in C++:</div>


<div><br></div><div><div>Self &amp; <span style="white-space:pre-wrap">        </span>SetSeed (std::vector&lt; unsigned int &gt; idx)</div><div>Self &amp; <span style="white-space:pre-wrap">        </span>SetSeedList (std::vector&lt; std::vector&lt; unsigned int &gt; &gt; t)</div>


</div><div><br></div><div>What you have as variable &quot;seedList&quot; is really just a single seed. In Java the types of the arguments for the above methods should be VectorUInt32, and VectorUIntList respectfully. You should be able to use the first one with your current variable.</div>


<div><br></div><div>Brad</div><div><div><br></div><div><br><div><div>On Apr 26, 2013, at 10:48 AM, Thibault Varacca &lt;<a href="mailto:thibault.varacca@gmail.com" target="_blank">thibault.varacca@gmail.com</a>&gt; wrote:</div>


<br><blockquote type="cite"><div dir="ltr"><div>Ok the .mhd way to do this worked great.<br><br></div><div>I have to do 3D segmentation on raw images. I tryed to do this with the ThresholdImageFilter but all my values are at zero after applying the filter ...<br>



</div><div>My Raw images are Float32 3D 128x128x128, here is my code :<br><br>import org.itk.simple.ConnectedThresholdImageFilter;<br>import org.itk.simple.Image;<br>import org.itk.simple.ImageFileReader;<br>import org.itk.simple.ImageFileWriter;<br>



import org.itk.simple.VectorUInt32;<br><br>public class ImageReader {<br><br>    private static String inputFilename = &quot;fdk.xy.mhd&quot;;<br>    private static String outputFilename = &quot;output.mhd&quot;;<br><br>


    public static void main(String[] args) {<br>
<br>        VectorUInt32 seedList = new VectorUInt32(3);<br>        ImageFileReader reader = new ImageFileReader();<br>        ImageFileWriter writer = new ImageFileWriter();<br>        ConnectedThresholdImageFilter filter = new ConnectedThresholdImageFilter();<br>



<br>        reader.setFileName(inputFilename);<br>        writer.setFileName(outputFilename);<br><br>        Image input = reader.execute();<br><br>        /* valeurs de seuil */<br>        filter.setLower(0.003);<br>        filter.setUpper(5);<br>



        filter.setReplaceValue((short) 5);<br><br>        /* seed points */<br>        seedList.clear();<br>        seedList.push_back(100);<br>        seedList.push_back(16);<br>        seedList.push_back(46);<br><br><br>



        Image output = filter.execute(input);<br>        writer.execute(output);<br><br>    }<br><br></div><div>Do you know how to make it work?<br><br></div><div>Thank you !<br></div></div><div class="gmail_extra"><br><br>



<div class="gmail_quote">2013/4/26 Samuel Pichardo <span dir="ltr">&lt;<a href="mailto:sammeuly@gmail.com" target="_blank">sammeuly@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word">Hi<div><br></div><div>In Python, you could use rather numpy io function </div><div><a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.fromfile.html" target="_blank">http://docs.scipy.org/doc/numpy/reference/generated/numpy.fromfile.html</a></div>



<div>and convert the arrays to simpleITK with </div><div><h3 style="text-align:left;color:rgb(34,34,34);text-overflow:ellipsis;overflow:hidden;font-size:medium;white-space:nowrap;font-family:arial,sans-serif;margin:0px;font-weight:normal;padding:0px">



<a href="http://www.nullege.com/codes/search/SimpleITK.GetImageFromArray" style="color:rgb(17,34,204)" target="_blank"><em style="font-weight:bold;font-style:normal">SimpleITK</em>.<em style="font-weight:bold;font-style:normal">GetImageFromArray</em></a></h3>



<div><br></div></div><div>Regards</div><div><br></div><div>Sam</div><div><br></div><div><br></div><div><div><div><div>On 2013-04-26, at 4:59 AM, Thibault Varacca &lt;<a href="mailto:thibault.varacca@gmail.com" target="_blank">thibault.varacca@gmail.com</a>&gt; wrote:</div>



<br></div><blockquote type="cite"><div><div dir="ltr"><div><div><div>Dear all, <br></div>I&#39;m looking to load and read raw images with simpleITK but I didn&#39;t find any RawReader(). <br></div>How can i do this?<br>


</div>Thanks !<br clear="all"><div>
<div><br>-- <br>Thibault Varacca<br>EFREI Promo 2014<br><div>06 60 53 11 35</div>
</div></div></div></div><div>
_____________________________________<br>Powered by <a href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<br><a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>



<br>Kitware offers ITK Training Courses, for more information visit:<br><a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br><br>Please keep messages on-topic and check the ITK FAQ at:<br>



<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>



</div></blockquote></div><br></div></div></blockquote></div><br><br clear="all"><br>-- <br>Thibault Varacca<br>EFREI Promo 2014<br><div>06 60 53 11 35</div>
</div>
_____________________________________<br>Powered by <a href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<br><a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>


<br>Kitware offers ITK Training Courses, for more information visit:<br><a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br><br>Please keep messages on-topic and check the ITK FAQ at:<br>


<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>


</blockquote></div><br></div></div></div></blockquote></div><br><br clear="all"><br>-- <br>Thibault Varacca<br>EFREI Promo 2014<br><div>06 60 53 11 35</div>
</div>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Thibault Varacca<br>EFREI Promo 2014<br><div>06 60 53 11 35</div>
</div>
</blockquote></div><br></div></div></div></div></blockquote></div><br><br clear="all"><br>-- <br>Thibault Varacca<br>EFREI Promo 2014<br><div>06 60 53 11 35</div>
</div>