Hyperstack registration

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

Hyperstack registration

David Hovis
Hello all,

I have a hyperstack (2-channels, 130 z-slices, 256x256 pixels).  I have two issues with the data that I need to address.  

1) There was drift during the experiment and there are small translations between most z-slices
2) There was one larger jump during the experiment.


If I only operate on one channel, StackReg does a good job of removing the slow drift, but doesn't handle the larger jump (~30-50 pixels).  

I would also like the second channel to be shifted the same as the first channel, but not separately registered.  

So my two questions are:
1) Is there a good way to manually shift all the slices after the jump so StackReg can do its job?
2) Is there a way to then do the exact same shifts on a parallel stack (or another channel in a hyperstack)?

Thanks,

--David
Reply | Threaded
Open this post in threaded view
|

Re: Hyperstack registration

Stephan Preibisch
Hi David,

did you try the "Plugins > Registration > Descriptor-based series registration (3d+t)" which is included in Fiji, it might be able to do the job automatically. It can handle arbitrary jumps and usually aligns long time series reliably. It supports 3d-translation, 3d-rigid and 3d-affine (in 2d also 2d-similarity and 2d-perspective). It uses local features in the image stack to achieve that. I did not have time to write the documentation yet, it uses a similar algorithm as the SPIM registration but uses the image content itself instead of beads: http://fiji.sc/wiki/index.php/SPIM_Registration

Nice greetings,
Stephan

On Feb 24, 2012, at 15:06 , David Hovis wrote:

> Hello all,
>
> I have a hyperstack (2-channels, 130 z-slices, 256x256 pixels).  I have two issues with the data that I need to address.  
>
> 1) There was drift during the experiment and there are small translations between most z-slices
> 2) There was one larger jump during the experiment.
>
>
> If I only operate on one channel, StackReg does a good job of removing the slow drift, but doesn't handle the larger jump (~30-50 pixels).  
>
> I would also like the second channel to be shifted the same as the first channel, but not separately registered.  
>
> So my two questions are:
> 1) Is there a good way to manually shift all the slices after the jump so StackReg can do its job?
> 2) Is there a way to then do the exact same shifts on a parallel stack (or another channel in a hyperstack)?
>
> Thanks,
>
> --David
Reply | Threaded
Open this post in threaded view
|

Re: Hyperstack registration

John Kielkopf
In reply to this post by David Hovis
You could try the Image Stabilizer plugin.  It will log  translations and
apply the same ones again when requested:

http://www.cs.cmu.edu/~kangli/code/Image_Stabilizer.html

On Fri, Feb 24, 2012 at 10:06 AM, David Hovis <[hidden email]> wrote:

> Hello all,
>
> I have a hyperstack (2-channels, 130 z-slices, 256x256 pixels).  I have
> two issues with the data that I need to address.
>
> 1) There was drift during the experiment and there are small translations
> between most z-slices
> 2) There was one larger jump during the experiment.
>
>
> If I only operate on one channel, StackReg does a good job of removing the
> slow drift, but doesn't handle the larger jump (~30-50 pixels).
>
> I would also like the second channel to be shifted the same as the first
> channel, but not separately registered.
>
> So my two questions are:
> 1) Is there a good way to manually shift all the slices after the jump so
> StackReg can do its job?
> 2) Is there a way to then do the exact same shifts on a parallel stack (or
> another channel in a hyperstack)?
>
> Thanks,
>
> --David
>



--
John Kielkopf
Professor of Physics and Astronomy
University of Louisville
Louisville, KY 40292
Tel:502.852.5990
Fax:502.852.0742
Reply | Threaded
Open this post in threaded view
|

Re: Hyperstack registration

Brad Busse
A few years ago I modified StackReg to do just what David wants:
http://www.stanford.edu/~bbusse/work/downloads.html

Using two simpler alignment steps (one rigid body, the second affine) often handles shifts that a single pass can't.  Failing that, if you manually correct the jump in TurboReg and save the transformation, the MultiStackReg jar includes a utility for splicing it into a larger transformation file (Compress Matrices).

For more complicated alignment problems such as nonlinear warping, we had the best luck with Fiji's Register/Transform Virtual Stack Slices plugins.

Hope it helps!


----- Original Message -----
From: "John Kielkopf" <[hidden email]>
To: [hidden email]
Sent: Friday, February 24, 2012 11:03:23 AM
Subject: Re: Hyperstack registration

You could try the Image Stabilizer plugin.  It will log  translations and
apply the same ones again when requested:

http://www.cs.cmu.edu/~kangli/code/Image_Stabilizer.html

On Fri, Feb 24, 2012 at 10:06 AM, David Hovis <[hidden email]> wrote:

> Hello all,
>
> I have a hyperstack (2-channels, 130 z-slices, 256x256 pixels).  I have
> two issues with the data that I need to address.
>
> 1) There was drift during the experiment and there are small translations
> between most z-slices
> 2) There was one larger jump during the experiment.
>
>
> If I only operate on one channel, StackReg does a good job of removing the
> slow drift, but doesn't handle the larger jump (~30-50 pixels).
>
> I would also like the second channel to be shifted the same as the first
> channel, but not separately registered.
>
> So my two questions are:
> 1) Is there a good way to manually shift all the slices after the jump so
> StackReg can do its job?
> 2) Is there a way to then do the exact same shifts on a parallel stack (or
> another channel in a hyperstack)?
>
> Thanks,
>
> --David
>



--
John Kielkopf
Professor of Physics and Astronomy
University of Louisville
Louisville, KY 40292
Tel:502.852.5990
Fax:502.852.0742
Reply | Threaded
Open this post in threaded view
|

Re: Hyperstack registration

TTian
In reply to this post by David Hovis
Hi David,

Have you solved your problem? Actually I posted this because I met a problem when proceeded StackReg. I opened my images, and clicked StackReg, but no reaction or processing. I could not find the cause so I wonder maybe you can help me? Sorry for my liberty.

Thanks!
Tian  
Reply | Threaded
Open this post in threaded view
|

Re: Hyperstack registration

Kenneth R Sloan
I believe so.  We seem to have settled on SIFT.

My issue was primarily a question of registering images from different frequencies, as opposed to different depths.  That seems to work - but I’m not actively involved in it these days.
My other stack registration application is more traditional - many slices in Z, all imaged the same way.

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




> On Jun 5, 2015, at 15:00 , TTian <[hidden email]> wrote:
>
> Hi David,
>
> Have you solved your problem? Actually I posted this because I met a problem
> when proceeded StackReg. I opened my images, and clicked StackReg, but no
> reaction or processing. I could not find the cause so I wonder maybe you can
> help me? Sorry for my liberty.
>
> Thanks!
> Tian  
>
>
>
> --
> View this message in context: http://imagej.1557.x6.nabble.com/Hyperstack-registration-tp4503024p5013056.html
> Sent from the ImageJ mailing list archive at Nabble.com.
>
> --
> 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: Hyperstack registration

TTian

Hi Kenneth,

Thanks for your help. Actually I also tried SPIM , but was always told " no features". Anyway, thanks so much.

Regards
Tian

2015年6月5日 下午4:05于 "Kenneth R Sloan [via ImageJ]" <[hidden email]>写道:
I believe so.  We seem to have settled on SIFT.

My issue was primarily a question of registering images from different frequencies, as opposed to different depths.  That seems to work - but I’m not actively involved in it these days.
My other stack registration application is more traditional - many slices in Z, all imaged the same way.

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




> On Jun 5, 2015, at 15:00 , TTian <[hidden email]> wrote:
>
> Hi David,
>
> Have you solved your problem? Actually I posted this because I met a problem
> when proceeded StackReg. I opened my images, and clicked StackReg, but no
> reaction or processing. I could not find the cause so I wonder maybe you can
> help me? Sorry for my liberty.
>
> Thanks!
> Tian  
>
>
>
> --
> View this message in context: http://imagej.1557.x6.nabble.com/Hyperstack-registration-tp4503024p5013056.html
> Sent from the ImageJ mailing list archive at Nabble.com.
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

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



If you reply to this email, your message will be added to the discussion below:
http://imagej.1557.x6.nabble.com/Hyperstack-registration-tp4503024p5013058.html
To unsubscribe from Hyperstack registration, click here.
NAML