From 3D Projection back to stack

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

From 3D Projection back to stack

Romina Plitman
Hi all,

I am relatively new to Imagej and I am trying to find the skeleton of a
complex microvasculature.

I manage to find the Skeleton and reduce noise using the features
'skeletonize' and 'Analize skeleton'. However, there is still some noise
that I have to clean manually. To do so, I do a 3D projection of my
skeleton (is easier to see the noise), manually select the noise and export
their XY coordinates. I wrote a simple code in matlab that removes those
pixels and I finally obtain my clean skeleton. The problem is that now I
have a clean 3D projection, and to analyze the branches and junctions I
need to go back to the 'normal' stack (the one before the 3D projection).
Basically, I need to do the 3D projection in the opposite way.

Is there something to do it in ImageJ? If not, can someone advice on how to
achieve this?

Many thanks!
Romina

--
Romina Plitman Mayo
PhD Student
Centre for Trophoblast Research
Department of Physiology, Development and Neuroscience & Department of
Engineering
University of Cambridge
Cambridge, UK

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: From 3D Projection back to stack

Herbie
Good day Romina Plitman,

in general it is impossible to reconstruct the constituents from their sum.

The sum is e.g. 23, what are its 5 constituents?
This problem is ill-posed.

Best

Herbie

::::::::::::::::::::::::::::::::::::::::::::
Am 04.08.16 um 11:27 schrieb Romina Plitman:

> Hi all,
>
> I am relatively new to Imagej and I am trying to find the skeleton of a
> complex microvasculature.
>
> I manage to find the Skeleton and reduce noise using the features
> 'skeletonize' and 'Analize skeleton'. However, there is still some noise
> that I have to clean manually. To do so, I do a 3D projection of my
> skeleton (is easier to see the noise), manually select the noise and export
> their XY coordinates. I wrote a simple code in matlab that removes those
> pixels and I finally obtain my clean skeleton. The problem is that now I
> have a clean 3D projection, and to analyze the branches and junctions I
> need to go back to the 'normal' stack (the one before the 3D projection).
> Basically, I need to do the 3D projection in the opposite way.
>
> Is there something to do it in ImageJ? If not, can someone advice on how to
> achieve this?
>
> Many thanks!
> Romina
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: From 3D Projection back to stack

Gabriel Landini
On Friday 05 Aug 2016 10:57:02 Herbie wrote:
> Good day Romina Plitman,
> in general it is impossible to reconstruct the constituents from their sum.
>
> The sum is e.g. 23, what are its 5 constituents?
> This problem is ill-posed.

Maybe there is kind of way round, or perhaps it is me no understanding the
setup, apologies if so. Is the purpose to have the clean skeleton by cleaning
the projection?

You have the original stack, the projection and the cleaned projection.

So you could get the projected version, subtract the cleaned projected version
and you are left with the projection of all the bits that should be removed.
Try subtracting this image from every slice in your volume.

That being said, I do not think that this way of cleaning the stack is
correct, because you cannot remove noise that is aligned in the z direction
under" and "above" remaining components.
Maybe you can minimise this a bit more by doing other orthogonal projections,
not sure.

Cheers

Gabriel

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: From 3D Projection back to stack

Herbie
Dear Gabriel!

"Try subtracting this image from every slice in your volume."

Hopefully, the images are not 32bit...

Best greetings

Herbie

:::::::::::::::::::::::::::::::::::::::::::::
Am 05.08.16 um 12:29 schrieb Gabriel Landini:

> On Friday 05 Aug 2016 10:57:02 Herbie wrote:
>> Good day Romina Plitman,
>> in general it is impossible to reconstruct the constituents from their sum.
>>
>> The sum is e.g. 23, what are its 5 constituents?
>> This problem is ill-posed.
>
> Maybe there is kind of way round, or perhaps it is me no understanding the
> setup, apologies if so. Is the purpose to have the clean skeleton by cleaning
> the projection?
>
> You have the original stack, the projection and the cleaned projection.
>
> So you could get the projected version, subtract the cleaned projected version
> and you are left with the projection of all the bits that should be removed.
> Try subtracting this image from every slice in your volume.
>
> That being said, I do not think that this way of cleaning the stack is
> correct, because you cannot remove noise that is aligned in the z direction
> under" and "above" remaining components.
> Maybe you can minimise this a bit more by doing other orthogonal projections,
> not sure.
>
> Cheers
>
> Gabriel
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: From 3D Projection back to stack

Niko Ehrenfeuchter
I don't see a problem with 32 bit images, the skeleton is usually a
binarized version anyway that you could simply use as a mask on the raw
stack.

However, I agree with Gabriel that this is still a problem with
structures aligned in x/y...

Best,
Niko

On 05.08.2016 12:45, Herbie wrote:

> Dear Gabriel!
>
> "Try subtracting this image from every slice in your volume."
>
> Hopefully, the images are not 32bit...
>
> Best greetings
>
> Herbie
>
> :::::::::::::::::::::::::::::::::::::::::::::
> Am 05.08.16 um 12:29 schrieb Gabriel Landini:
>> On Friday 05 Aug 2016 10:57:02 Herbie wrote:
>>> Good day Romina Plitman,
>>> in general it is impossible to reconstruct the constituents from
>>> their sum.
>>>
>>> The sum is e.g. 23, what are its 5 constituents?
>>> This problem is ill-posed.
>>
>> Maybe there is kind of way round, or perhaps it is me no understanding
>> the
>> setup, apologies if so. Is the purpose to have the clean skeleton by
>> cleaning
>> the projection?
>>
>> You have the original stack, the projection and the cleaned projection.
>>
>> So you could get the projected version, subtract the cleaned projected
>> version
>> and you are left with the projection of all the bits that should be
>> removed.
>> Try subtracting this image from every slice in your volume.
>>
>> That being said, I do not think that this way of cleaning the stack is
>> correct, because you cannot remove noise that is aligned in the z
>> direction
>> under" and "above" remaining components.
>> Maybe you can minimise this a bit more by doing other orthogonal
>> projections,
>> not sure.
>>
>> Cheers
>>
>> Gabriel
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
Niko Ehrenfeuchter | Image Analysis Specialist | Biozentrum, University
of Basel | Klingelbergstr. 50/70 | CH-4056 Basel
Phone: +41 (61) 26 72673 | [hidden email] |
www.biozentrum.unibas.ch | www.microscopynetwork.unibas.ch

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: From 3D Projection back to stack

Kenneth Sloan-2
In reply to this post by Romina Plitman
You have a noise pixel in the projected image.  That pixel will be either much lighter, or much darker, than it’s neighbors in the 2D projected image.  In what follows, assume it’s lighter.

Now, consider the stack of voxels which contributed to that pixel.  Which voxels are noise?  Most likely the ones which are lighter than the other voxels in that stack.

Similarly, if you look at individual slices through the volume (parallel to the 2D projected image) you might look for voxels (from the column you are considering) that are lighter than their immediate neighbors (in the 2D slice).

It’s not perfect, but you miht find that it improves the skeleton.  I’m not sure I would trust the edited volume all that much - but I suspect you will get a better skeleton.

--
Kenneth Sloan
[hidden email]
Vision is the art of seeing what is invisible to others.




> On Aug 4, 2016, at 05:27 , Romina Plitman <[hidden email]> wrote:
>
> Hi all,
>
> I am relatively new to Imagej and I am trying to find the skeleton of a
> complex microvasculature.
>
> I manage to find the Skeleton and reduce noise using the features
> 'skeletonize' and 'Analize skeleton'. However, there is still some noise
> that I have to clean manually. To do so, I do a 3D projection of my
> skeleton (is easier to see the noise), manually select the noise and export
> their XY coordinates. I wrote a simple code in matlab that removes those
> pixels and I finally obtain my clean skeleton. The problem is that now I
> have a clean 3D projection, and to analyze the branches and junctions I
> need to go back to the 'normal' stack (the one before the 3D projection).
> Basically, I need to do the 3D projection in the opposite way.
>
> Is there something to do it in ImageJ? If not, can someone advice on how to
> achieve this?
>
> Many thanks!
> Romina
>
> --
> Romina Plitman Mayo
> PhD Student
> Centre for Trophoblast Research
> Department of Physiology, Development and Neuroscience & Department of
> Engineering
> University of Cambridge
> Cambridge, UK
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: From 3D Projection back to stack

Romina Plitman
Hi Ignacio, Herbie, Gabriel, Niko and Kenneth,

Thanks for the responses and ideas. I manage to find the pixel coordinates
in the skeleton file of the noise and wrote a simple matlab code to erase
it.

Thanks again for the help!

Romina

On Thu, Aug 11, 2016 at 1:29 PM, Romina Plitman <[hidden email]>
wrote:

> Hi Ignacio, Herbie, Gabriel, Niko and Kenneth,
>
> Thanks for the responses and ideas. I manage to find the pixel coordinates
> in the skeleton file of the noise and wrote a simple matlab code to erase
> it.
>
> Thanks again for the help!
>
> Romina
>
> On Fri, Aug 5, 2016 at 1:42 PM, Kenneth Sloan <[hidden email]>
> wrote:
>
>> You have a noise pixel in the projected image.  That pixel will be either
>> much lighter, or much darker, than it’s neighbors in the 2D projected
>> image.  In what follows, assume it’s lighter.
>>
>> Now, consider the stack of voxels which contributed to that pixel.  Which
>> voxels are noise?  Most likely the ones which are lighter than the other
>> voxels in that stack.
>>
>> Similarly, if you look at individual slices through the volume (parallel
>> to the 2D projected image) you might look for voxels (from the column you
>> are considering) that are lighter than their immediate neighbors (in the 2D
>> slice).
>>
>> It’s not perfect, but you miht find that it improves the skeleton.  I’m
>> not sure I would trust the edited volume all that much - but I suspect you
>> will get a better skeleton.
>>
>> --
>> Kenneth Sloan
>> [hidden email]
>> Vision is the art of seeing what is invisible to others.
>>
>>
>>
>>
>> > On Aug 4, 2016, at 05:27 , Romina Plitman <[hidden email]> wrote:
>> >
>> > Hi all,
>> >
>> > I am relatively new to Imagej and I am trying to find the skeleton of a
>> > complex microvasculature.
>> >
>> > I manage to find the Skeleton and reduce noise using the features
>> > 'skeletonize' and 'Analize skeleton'. However, there is still some noise
>> > that I have to clean manually. To do so, I do a 3D projection of my
>> > skeleton (is easier to see the noise), manually select the noise and
>> export
>> > their XY coordinates. I wrote a simple code in matlab that removes those
>> > pixels and I finally obtain my clean skeleton. The problem is that now I
>> > have a clean 3D projection, and to analyze the branches and junctions I
>> > need to go back to the 'normal' stack (the one before the 3D
>> projection).
>> > Basically, I need to do the 3D projection in the opposite way.
>> >
>> > Is there something to do it in ImageJ? If not, can someone advice on
>> how to
>> > achieve this?
>> >
>> > Many thanks!
>> > Romina
>> >
>> > --
>> > Romina Plitman Mayo
>> > PhD Student
>> > Centre for Trophoblast Research
>> > Department of Physiology, Development and Neuroscience & Department of
>> > Engineering
>> > University of Cambridge
>> > Cambridge, UK
>> >
>> > --
>> > ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>
>
>
>
> --
> Romina Plitman Mayo
> PhD Student
> Centre for Trophoblast Research, Department of Physiology, Development and
> Neuroscience
> Nanoscience Centre, Department of Engineering
> University of Cambridge
> Cambridge, UK
>



--
Romina Plitman Mayo
PhD Student
Centre for Trophoblast Research
Department of Physiology, Development and Neuroscience & Department of
Engineering
University of Cambridge
Cambridge, UK

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html