Hi again,<div><span style="font-size:15px">One more thing. Ive tested the filter against a 3D image (224x224x300) and it is too slow, that is, its been several hours processing and I had to interrupt the process because it wasnot able to finish. This is not acceptable for the job Iam in charged of, so I think I will use the ScalarImageToTextureFeaturesFilter instead. Ill try with this because I didnt think the former would last so much.</span></div><div><span style="font-size:15px">Anyway, thank you so much to ev</span>erybody that has helped me. Ive learnt a lot of things.</div><div>Kind regards.</div><div><span style="font-size:15px"><br></span><br>El lunes, 28 de septiembre de 2015, Bradley Lowekamp <<a href="mailto:blowekamp@mail.nih.gov">blowekamp@mail.nih.gov</a>> escribió:<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>Use the source [1]! It's just a little debugging information, which should be changed to itkDebugMacro. Pull requests are welcomed.</div><div><br></div><div>The real offsets used relative to each pixel are the ones provided by "Offsets". What's printed out is all pairs used to generate the histogram in a neighborhood.</div><div><br></div><div>HTH,</div><div>Brad</div><div><br></div><div>[1] <a href="https://github.com/blowekamp/itkTextureAnalysis/blob/b3911a8ab891859c50c7e3c8819d1a9fa0eaf4af/include/itkTextureFeatureImageFilter.hxx#L129" target="_blank">https://github.com/blowekamp/itkTextureAnalysis/blob/b3911a8ab891859c50c7e3c8819d1a9fa0eaf4af/include/itkTextureFeatureImageFilter.hxx#L129</a></div><div><br></div><div><br><div><div>On Sep 28, 2015, at 5:53 AM, Francisco Lopez de la Franca <<a href="javascript:_e(%7B%7D,'cvml','franciscolopezdelafranca@gmail.com');" target="_blank">franciscolopezdelafranca@gmail.com</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr"><div><div><div><div><div>Hi Bradley,<br></div>I'm using your filter for a 3D image and the following is happpening: I store in a vector the offset list. When I print it, the list contains just 13 offsets (I've used the same code as in the itk::ScalarImageToTextureImageFilter). The problem comes when I call your SetOffsets(myOffsetList) method, my application starts printing a lot of offsets, I guess all the possible combinations for three dimensions.<br></div>Do you know this "problem"? Then, what is the real offsets your filter use?<br><br></div>Thank you so much.<br></div>Kind regards.<br></div>/Francisco<br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-09-25 15:10 GMT+02:00 Bradley Lowekamp <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','blowekamp@mail.nih.gov');" target="_blank">blowekamp@mail.nih.gov</a>></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>For my itkTextureFeatureImageFilter, the default for the OffsetVector is an empty list. So it is required to set this member to get meaningful results.</div><div><br></div><div>ITK is an OpenSource project. When you don't know how something is implemented you can open the hood and find out [1].</div><div><br></div><div>HTH,</div><div>Brad</div><div><br></div><div>[1] <a href="https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Numerics/Statistics/include/itkScalarImageToTextureFeaturesFilter.hxx#L66-L76" target="_blank">https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Numerics/Statistics/include/itkScalarImageToTextureFeaturesFilter.hxx#L66-L76</a></div><div><div><br><div><div>On Sep 25, 2015, at 6:37 AM, Francisco Lopez de la Franca <<a href="javascript:_e(%7B%7D,'cvml','franciscolopezdelafranca@gmail.com');" target="_blank">franciscolopezdelafranca@gmail.com</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr">Which directions (for 3D images) will your filter use if I donot specify any offset?<br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-09-25 11:12 GMT+02:00 Francisco Lopez de la Franca <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','franciscolopezdelafranca@gmail.com');" target="_blank">franciscolopezdelafranca@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi again,<br></div><br>For 3D images, what should I use as default offset vector if I use your class?<br><br>I've been using itk::ScalarImageToTextureFeaturesFilter for 3D images and I've also done some tests on 3D NIFTI images but its description talks only about the default 2D image offsets ({(-1, 0), (-1, -1), (0, -1), (1, -1)}) but not for 3D. Besides, the 2D default is missing some offsets.<br></div><br>I'd like to use your class and test it with the same default values as with the ScalarIm.... class.<br><br></div>Thank you very much.<br></div>My best regards.<br><div><br></div></div><div><div class="gmail_extra"><br><div class="gmail_quote">2015-09-22 14:27 GMT+02:00 Bradley Lowekamp <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','blowekamp@mail.nih.gov');" target="_blank">blowekamp@mail.nih.gov</a>></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>Please try to keep this discussion on the mailing list.</div><div><br></div><div>You can find a basic program here [1].  Which provide a good example for usage.</div><div><br></div><div> It allows writing to any file format that ITK supports with vector images. I know that mha, nii, and nrrd should support this. Others may and it varies based what modules are compiled into ITK.</div><div><br></div><div>You can see how the texture information is written into the vector here [2]. Contributions to improve the documentation are welcomed.</div><div><br></div><div><br></div><div><br></div><div>[1] <a href="https://github.com/blowekamp/itkTextureAnalysis/blob/master/test/itkTextureFeatureImageFilterTest.cxx" target="_blank">https://github.com/blowekamp/itkTextureAnalysis/blob/master/test/itkTextureFeatureImageFilterTest.cxx</a></div><div>[2] <a href="https://github.com/blowekamp/itkTextureAnalysis/blob/b3911a8ab891859c50c7e3c8819d1a9fa0eaf4af/include/itkTextureFeatureImageFilter.hxx#L217-L224" target="_blank">https://github.com/blowekamp/itkTextureAnalysis/blob/b3911a8ab891859c50c7e3c8819d1a9fa0eaf4af/include/itkTextureFeatureImageFilter.hxx#L217-L224</a></div><div><br><div><div>On Sep 22, 2015, at 3:25 AM, Francisco Lopez de la Franca <<a href="javascript:_e(%7B%7D,'cvml','franciscolopezdelafranca@gmail.com');" target="_blank">franciscolopezdelafranca@gmail.com</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div>Hi Bradley,<br></div>I'd like to use your class. A couple of questions:<br><br></div>- Which format can the vectorimage generated be saved in? Is it possible to save it in Nifti format?<br><br></div>- Which information does the vector image contain, I mean, what is the info stored for each voxel? How can I access that info?<br><br></div>I guess the usage of yourclass is in the same way as any ITK filter:<br><br></div>yourFilter->setInput(inputImage);<br></div>yourFilter->setWindowSize(windowSize);<br></div><div>... // other sets...<br></div>yourFilter->update();<br></div>vectorImage = yourFilter->GetOutput();<br><br></div>but, how can I read the data of each voxel in the vector image?<br><br></div>Thank you very much.<br></div>Kind regards.<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-09-21 14:30 GMT+02:00 Bradley Lowekamp <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','blowekamp@mail.nih.gov');" target="_blank">blowekamp@mail.nih.gov</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I have a external ITK extension you may find useful:<br>
<a href="https://github.com/blowekamp/itkTextureAnalysis/blob/master/include/itkTextureFeatureImageFilter.h" rel="noreferrer" target="_blank">https://github.com/blowekamp/itkTextureAnalysis/blob/master/include/itkTextureFeatureImageFilter.h</a><br>
<br>
This computed the GLCM, for a neighborhood for every pixel and produces a VectorImage with all the features.<br>
<br>
Contributions to improving the class and documentation are welcome.<br>
<br>
HTH,<br>
Brad<br>
<div><br>
On Sep 21, 2015, at 7:15 AM, Francisco Lopez de la Franca <<a href="javascript:_e(%7B%7D,'cvml','franciscolopezdelafranca@gmail.com');" target="_blank">franciscolopezdelafranca@gmail.com</a>> wrote:<br>
<br>
> Hi,<br>
> I've used the itk::Statistics::ScalarImageToTextureFeaturesFilter class with the default parameters and everything was OK.<br>
><br>
> But now, I have to calculate the texture features of a 2D scalar image pixel by pixel, I mean, iterate over the whole image and calculate the texture features of every pixel.<br>
><br>
> I guess I've got to use each pixel as the masked region over which to calculate the texture features, but I think this process could be very slow (I have to do it with a lot of 2D images).<br>
><br>
> Is there a faster way to do it or isn't it possible as I've described?<br>
><br>
> Thanks a lot.<br>
> Kind regards.<br>
</div><div>> _____________________________________<br>
> Powered by <a href="http://www.kitware.com/" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://public.kitware.com/mailman/listinfo/insight-users" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/insight-users</a><br>
<br>
</div></blockquote></div><br></div>
</blockquote></div><br></div></div></blockquote></div><br></div>
</div></blockquote></div><br></div>
</blockquote></div><br></div></div></div></blockquote></div><br></div>
</blockquote></div><br></div></div></blockquote></div>