Fiducials at regions with max intensities

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Fiducials at regions with max intensities

Jonny
Hi all,

I'm new here and doing my initial attempts in creating python scripts/widgets for automatizing some manual tasks in Slicer.

The intention is to place a marker in the middle of a region or sphere (app 30mm or 15 voxels) with the highest intensity. In a CT image there are about 20 such a regions and they represent a metallic structures. From region to region there is minimum of 0.5 mm distance, meaning the fiducials should not be closer than that.

Is there any existing module or filter that would allocate such region to use as a basis?

Thanks

Jonny
Reply | Threaded
Open this post in threaded view
|

Re: Fiducials at regions with max intensities

Alireza Mehrtash
Hi Jonhny,

​The simplest method you should try first is thresholding. You can use the editor module [1] manually to see if thresholding can extract the fiducials as you are expecting. If successful you can use SimpleITK filters (which is also implemented in simple filters module [2]) in order to make the process automatic. If thresholding didn't work you could try other filters in SimpleITK. Here are some examples: [3], [4] & [5].

Alireza




On Thu, Mar 26, 2015 at 4:51 AM, Jonny [via slicer-devel] <[hidden email]> wrote:
Hi all,

I'm new here and doing my initial attempts in creating python scripts/widgets for automatizing some manual tasks in Slicer.

The intention is to place a marker in the middle of a region or sphere (app 30mm or 15 voxels) with the highest intensity. In a CT image there are about 20 such a regions and they represent a metallic structures. From region to region there is minimum of 0.5 mm distance, meaning the fiducials should not be closer than that.

Is there any existing module or filter that would allocate such region to use as a basis?

Thanks

Jonny


If you reply to this email, your message will be added to the discussion below:
http://slicer-devel.65872.n3.nabble.com/Fiducials-at-regions-with-max-intensities-tp4033723.html
To start a new topic under slicer-devel, email [hidden email]
To unsubscribe from slicer-devel, click here.
NAML

The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.


Reply | Threaded
Open this post in threaded view
|

Re: Fiducials at regions with max intensities

Aucoin, Nicole
There's also an open issue with a similar feature request:
http://www.na-mic.org/Bug/view.php?id=1268
Jonny, it would be great if you could take a look at the report and if
it matches your use case (it seems to), we can reassign it to you.

Nicole

On 3/26/15 9:40 AM, Alireza Mehrtash wrote:

> Hi Jonhny,
>
> ​The simplest method you should try first is thresholding. You can use
> the editor module [1] manually to see if thresholding can extract the
> fiducials as you are expecting. If successful you can use SimpleITK
> filters (which is also implemented in simple filters module [2]) in
> order to make the process automatic. If thresholding didn't work you
> could try other filters in SimpleITK. Here are some examples: [3], [4]
> & [5].
>
> Alireza
>
> [1]
> http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/Editor#Threshold_Effect
> [2]
> http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Modules/SimpleFilters
> [3]
> http://simpleitk.github.io/SimpleITK-Notebooks/30_Segmentation_Region_Growing.html
> [4]
> http://simpleitk.github.io/SimpleITK-Notebooks/31_Levelset_Segmentation.html
> [5]
> http://simpleitk.github.io/SimpleITK-Notebooks/32_Watersheds_Segmentation.html
>
>
>
> On Thu, Mar 26, 2015 at 4:51 AM, Jonny [via slicer-devel] <[hidden
> email] </user/SendEmail.jtp?type=node&node=4033726&i=0>> wrote:
>
>     Hi all,
>
>     I'm new here and doing my initial attempts in creating python
>     scripts/widgets for automatizing some manual tasks in Slicer.
>
>     The intention is to place a marker in the middle of a region or
>     sphere (app 30mm or 15 voxels) with the highest intensity. In a CT
>     image there are about 20 such a regions and they represent a
>     metallic structures. From region to region there is minimum of 0.5
>     mm distance, meaning the fiducials should not be closer than that.
>
>     Is there any existing module or filter that would allocate such
>     region to use as a basis?
>
>     Thanks
>
>     Jonny
>
>     ------------------------------------------------------------------------
>     If you reply to this email, your message will be added to the
>     discussion below:
>     http://slicer-devel.65872.n3.nabble.com/Fiducials-at-regions-with-max-intensities-tp4033723.html
>
>     To start a new topic under slicer-devel, email [hidden email]
>     </user/SendEmail.jtp?type=node&node=4033726&i=1>
>     To unsubscribe from slicer-devel, click here.
>     NAML
>     <http://slicer-devel.65872.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
>
>     The information in this e-mail is intended only for the person to
>     whom it is
>     addressed. If you believe this e-mail was sent to you in error and
>     the e-mail
>     contains patient information, please contact the Partners
>     Compliance HelpLine at
>     http://www.partners.org/complianceline . If the e-mail was sent to
>     you in error
>     but does not contain patient information, please contact the
>     sender and properly
>     dispose of the e-mail.
>
>
>
> ------------------------------------------------------------------------
> View this message in context: Re: Fiducials at regions with max
> intensities
> <http://slicer-devel.65872.n3.nabble.com/Fiducials-at-regions-with-max-intensities-tp4033723p4033726.html>
> Sent from the slicer-devel mailing list archive
> <http://slicer-devel.65872.n3.nabble.com/> at Nabble.com.
>
>
> _______________________________________________
> slicer-devel mailing list
> [hidden email]
> http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
> To unsubscribe: send email to [hidden email] with unsubscribe as the subject
> http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Fiducials at regions with max intensities

Jonny
In reply to this post by Alireza Mehrtash
Hi Alireza,

Thanks for your response and hints. I did thresholding and it leads me to a result of having the spheres or regions isolated in a new volume but how do I allocate the centre of each of these regions, which typically correspond to the highest intensity within this region. Unfortunately the intesities of the centres between regions are not of exactly the same value. I'm not sure any of the filters would lead me there.

I guess I need a way to extract coordinates of a centre of one region and then iterate through rest of the image or array.

Best wishes

Dzemal
Reply | Threaded
Open this post in threaded view
|

Re: Fiducials at regions with max intensities

Lowekamp, Bradley (NIH/NLM/LHC) [C]
The LabelShapeStatisticsImageFilter may compute the information you need:
http://www.itk.org/SimpleITKDoxygen/html/classitk_1_1simple_1_1LabelShapeStatisticsImageFilter.html

Brad

On Mar 26, 2015, at 11:08 AM, Jonny <[hidden email]> wrote:

> Hi Alireza,
>
> Thanks for your response and hints. I did thresholding and it leads me to a
> result of having the spheres or regions isolated in a new volume but how do
> I allocate the centre of each of these regions, which typically correspond
> to the highest intensity within this region. Unfortunately the intesities of
> the centres between regions are not of exactly the same value. I'm not sure
> any of the filters would lead me there.
>
> I guess I need a way to extract coordinates of a centre of one region and
> then iterate through rest of the image or array.
>
> Best wishes
>
> Dzemal
>
>
>
> --
> View this message in context: http://slicer-devel.65872.n3.nabble.com/Fiducials-at-regions-with-max-intensities-tp4033723p4033729.html
> Sent from the slicer-devel mailing list archive at Nabble.com.
> _______________________________________________
> slicer-devel mailing list
> [hidden email]
> http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
> To unsubscribe: send email to [hidden email] with unsubscribe as the subject
> http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
>
>
> The information in this e-mail is intended only for the person to whom it is
> addressed. If you believe this e-mail was sent to you in error and the e-mail
> contains patient information, please contact the Partners Compliance HelpLine at
> http://www.partners.org/complianceline . If the e-mail was sent to you in error
> but does not contain patient information, please contact the sender and properly
> dispose of the e-mail.
>

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Fiducials at regions with max intensities

Jonny
In reply to this post by Aucoin, Nicole
Hi Nicole,

The feature request is indeed similar. As I'm rather doing my first attempts in scripting I'm not sure how far I will get with this ambition. Thus rather let's it keep assigned to someone with more experience.

Wishes Dzemal
Reply | Threaded
Open this post in threaded view
|

Re: Fiducials at regions with max intensities

Aucoin, Nicole
Hi,

Fair enough, but please do link any public repositories that you create
to that issue so that I can keep track of your work - the bug is
assigned to me and I can provide some more feedback if you get stuck on
the fiducials aspect of your module.

Nicole

On 3/26/15 12:16 PM, Jonny wrote:

> Hi Nicole,
>
> The feature request is indeed similar. As I'm rather doing my first attempts
> in scripting I'm not sure how far I will get with this ambition. Thus rather
> let's it keep assigned to someone with more experience.
>
> Wishes Dzemal
>
>
>
> --
> View this message in context: http://slicer-devel.65872.n3.nabble.com/Fiducials-at-regions-with-max-intensities-tp4033723p4033736.html
> Sent from the slicer-devel mailing list archive at Nabble.com.
> _______________________________________________
> slicer-devel mailing list
> [hidden email]
> http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
> To unsubscribe: send email to [hidden email] with unsubscribe as the subject
> http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ

_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ


The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.

Reply | Threaded
Open this post in threaded view
|

Re: Fiducials at regions with max intensities

Jonny
In reply to this post by Lowekamp, Bradley (NIH/NLM/LHC) [C]
Hi,

The "RegionalMaximaImageFilter" did the job. Result is a binary image containing only the voxels representing the maxima of the original image. Now will spend some time in seeding markers.

Wishes Jonny
Reply | Threaded
Open this post in threaded view
|

Re: Fiducials at regions with max intensities

Ron Kikinis
Hi,
The identify islands effect in the interactive editor is a fast 3D
connected component algorithm that might be used to assign a different
label value to each 3D connected component. This would then allow you to
compute the centroids as a location for the markers. If you want to sort
them by size, you could use the label statistics module.

Best

Ron

On 3/27/15 1:55 AM, Jonny wrote:

> Hi,
>
> The "RegionalMaximaImageFilter" did the job. Result is a binary image
> containing only the voxels representing the maxima of the original image.
> Now will spend some time in seeding markers.
>
> Wishes Jonny
>
>
>
> --
> View this message in context: http://slicer-devel.65872.n3.nabble.com/Fiducials-at-regions-with-max-intensities-tp4033723p4033738.html
> Sent from the slicer-devel mailing list archive at Nabble.com.
> _______________________________________________
> slicer-devel mailing list
> [hidden email]
> http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
> To unsubscribe: send email to [hidden email] with unsubscribe as the subject
> http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ
>
_______________________________________________
slicer-devel mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/FAQ


The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.