Posted by
dscho on
Jan 20, 2009; 11:35pm
URL: http://imagej.273.s1.nabble.com/Copy-volume-from-within-stack-to-new-stack-tp3693965p3693979.html
Hi,
On Tue, 20 Jan 2009, Philip Ershler wrote:
> On Jan 20, 2009, at 2:39 PM, Johannes Schindelin wrote:
>
> >On Tue, 20 Jan 2009, Philip Ershler wrote:
> >
> > > Here is a macro although fairly basic, does the job. It takes a
> > > stack of images and creates a stack of 3D images. Just setup the
> > > Interactive 3D viewer with the view and other settings that you
> > > want. Then execute this macro.
> >
> >How does that give you a time axis in the 3D viewer?
> >
> >AFAICT it takes all the slices of the current stack, one by one, turns
> >them into height fields _individually_, and then puts those height
> >fields into a new stack.
> >
> >So rather than show XYZ data progressing in time, it takes an XYT stack
> >(two spatial dimensions and a time dimension), adds a (redundant) 3rd
> >dimension reflecting the intensity of the slice's pixels, and puts the
> >result into another XYT stack.
> >
> >Am I wrong?
>
> Yes I think you have misunderstood the process.
Well, I don't think so.
> The macro takes one XY image at a time,
That's what I am saying.
> submits it to the Interactive 3D viewer,
Except that it is the Interactive Surface Plot, which makes a height field
out of a 2D image. What I said (actually I said that it adds a 3rd
dimension -- the height -- from the intensity of the pixels, but that the
same thing).
> and the result is an XYZ image for that time point.
As you say "time point" here, you agree that the slices (XY) you take from
the stack are actually from different times (T), not depth (Z).
So you are taking an XYT stack as input, not XYZ.
> This image is placed on a new stack. Then it takes the next image from
> the stack of XY images (which represents the next point in time) and
> creates an XYZ image for that time point and adds it to the new stack.
Except that it is not really XYZ. It is a projection of the height-field
of a 2D image. Which is two-dimensional.
So basically you constructed another 2D image from an original 2D image.
> The resulting new stack is an XYZT stack, allowing you to animate the
> XYZ images that are constructed from the original XY data.
As you have no control from which viewpoint you are looking at your data,
it is essentially an XYT stack.
If I understood Aryeh correctly, what he wants is to visualize 3D stacks
(XYZ, i.e some recordings of a confocal microscope or some such, where you
have slices for different z coordinates), and he has several 3D stacks
recorded from the same specimen taken at different time points.
So this means that he has an XYZT hyperstack.
And he wants to see a 3D visualization (volume rendering, thresholded
surface, or something like that) over time, and while it loops through the
time steps, he wants to turn it around interactively (meaning
rotating/moving the specimen around, all the while it is looping through
the time steps).
I might be utterly wrong about what Aryeh meant, but I am certain that
Benjamin meant that, because I saw the 4D stuff in the 3D viewer in
action, and it is pretty awesome.
Think a single cell, going through mitosis, being recorded in 3D, and you
can now see it in 3D, zooming in while it is developing, rotating it so
you get a better view.
It's definitely absolutely awesome,
Dscho