Measure channel shift in subpixel resolution

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

Measure channel shift in subpixel resolution

Jan Eglinger
Hi all,

I am trying to measure the (unavoidable) shift between two color
channels using a 3D stack of fluorescent beads acquired at the different
channels.

As far as I can see, the Feature Extraction plugins (SIFT [1], MOPS [2]
and block matching [3]) only work on a single slice (2D).
In the SPIM_Registration / bigdataviewer plugins, there are algorithms
to detect 3D feature correspondences, but I'm not sure how to access
them by scripting.

What I would like to extract is the 3D translation matrix between two
stacks containing the image data of fluorescent beads, so that it can be
applied to other images using TransformJ for example.
Is there an easy way to get at that?

Thanks for any hints,
Jan



[1]:
https://github.com/axtimwalde/mpicbg/blob/master/mpicbg_/src/main/java/SIFT_ExtractPointRoi.java
[2]:
https://github.com/axtimwalde/mpicbg/blob/master/mpicbg_/src/main/java/MOPS_ExtractPointRoi.java
[3]:
https://github.com/trakem2/blockmatching/blob/master/src/main/java/mpicbg/ij/plugin/BlockMatching_ExtractPoinRoi.java

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

Re: Measure channel shift in subpixel resolution

Stephan Preibisch
Hi Jan,

a simple, Macro-scriptable way to determine sub pixel resolution shift is to use my Descriptor-based registration (Plugins>Registration) that supports 2d and 3d image alignment.

You would try to find the right parameters through the Interactive mode, once you know these parameters you can put them in through scripting and selecting “Advanced”.

Please make sure that the calibration (Image  > Properties > Pixel Width, Pixel Height, Pixel Depth) is correct, at least the ratio between xy and z has to be correct.

It also stores the final transformation models in a static array that you can access:

plugin.Descriptor_based_registration.lastModel1
plugin.Descriptor_based_registration.lastModel2

Hope this helps,
Stephan

> On Mar 17, 2015, at 11:40 , Jan Eglinger <[hidden email]> wrote:
>
> Hi all,
>
> I am trying to measure the (unavoidable) shift between two color channels using a 3D stack of fluorescent beads acquired at the different channels.
>
> As far as I can see, the Feature Extraction plugins (SIFT [1], MOPS [2] and block matching [3]) only work on a single slice (2D).
> In the SPIM_Registration / bigdataviewer plugins, there are algorithms to detect 3D feature correspondences, but I'm not sure how to access them by scripting.
>
> What I would like to extract is the 3D translation matrix between two stacks containing the image data of fluorescent beads, so that it can be applied to other images using TransformJ for example.
> Is there an easy way to get at that?
>
> Thanks for any hints,
> Jan
>
>
>
> [1]: https://github.com/axtimwalde/mpicbg/blob/master/mpicbg_/src/main/java/SIFT_ExtractPointRoi.java
> [2]: https://github.com/axtimwalde/mpicbg/blob/master/mpicbg_/src/main/java/MOPS_ExtractPointRoi.java
> [3]: https://github.com/trakem2/blockmatching/blob/master/src/main/java/mpicbg/ij/plugin/BlockMatching_ExtractPoinRoi.java
>
> --
> 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: Measure channel shift in subpixel resolution

Jan Eglinger
Hi Stephan,

 > plugin.Descriptor_based_registration.lastModel1
 > plugin.Descriptor_based_registration.lastModel2

thanks, that helps, I will try it.
Cheers,
Jan



Am 17.03.15 um 17:51 schrieb Stephan Preibisch:

> Hi Jan,
>
> a simple, Macro-scriptable way to determine sub pixel resolution shift is to use my Descriptor-based registration (Plugins>Registration) that supports 2d and 3d image alignment.
>
> You would try to find the right parameters through the Interactive mode, once you know these parameters you can put them in through scripting and selecting “Advanced”.
>
> Please make sure that the calibration (Image  > Properties > Pixel Width, Pixel Height, Pixel Depth) is correct, at least the ratio between xy and z has to be correct.
>
> It also stores the final transformation models in a static array that you can access:
>
> plugin.Descriptor_based_registration.lastModel1
> plugin.Descriptor_based_registration.lastModel2
>
> Hope this helps,
> Stephan
>
>> On Mar 17, 2015, at 11:40 , Jan Eglinger <[hidden email]> wrote:
>>
>> Hi all,
>>
>> I am trying to measure the (unavoidable) shift between two color channels using a 3D stack of fluorescent beads acquired at the different channels.
>>
>> As far as I can see, the Feature Extraction plugins (SIFT [1], MOPS [2] and block matching [3]) only work on a single slice (2D).
>> In the SPIM_Registration / bigdataviewer plugins, there are algorithms to detect 3D feature correspondences, but I'm not sure how to access them by scripting.
>>
>> What I would like to extract is the 3D translation matrix between two stacks containing the image data of fluorescent beads, so that it can be applied to other images using TransformJ for example.
>> Is there an easy way to get at that?
>>
>> Thanks for any hints,
>> Jan
>>
>>
>>
>> [1]: https://github.com/axtimwalde/mpicbg/blob/master/mpicbg_/src/main/java/SIFT_ExtractPointRoi.java
>> [2]: https://github.com/axtimwalde/mpicbg/blob/master/mpicbg_/src/main/java/MOPS_ExtractPointRoi.java
>> [3]: https://github.com/trakem2/blockmatching/blob/master/src/main/java/mpicbg/ij/plugin/BlockMatching_ExtractPoinRoi.java
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

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