skewing of stacks

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

skewing of stacks

BoP-3
Hi!
I am looking for a feature or plug-in for ImageJ that can skew images
(differentially shift the image vertical or horizontal) by a given amount.
It should also be able to operate with stacks.
It sounds so trivial, that there just must be a solution already. Any ideas
if or how this can be achieved?
Thanks in advance!
Reply | Threaded
Open this post in threaded view
|

Re: skewing of stacks

lechristophe
Gabriel Landini's Align RGB planes plugin (discussed yesterday on this list)
can be used for that, as long as you use layer as red, green and blue
components of the input image/stack (your input image have to be monochrome
then).


Christophe Leterrier


On Jan 13, 2008 4:33 PM, BoP <[hidden email]> wrote:

> Hi!
> I am looking for a feature or plug-in for ImageJ that can skew images
> (differentially shift the image vertical or horizontal) by a given amount.
> It should also be able to operate with stacks.
> It sounds so trivial, that there just must be a solution already. Any
> ideas
> if or how this can be achieved?
> Thanks in advance!
>
Reply | Threaded
Open this post in threaded view
|

Re: skewing of stacks

Wayne Rasband
In reply to this post by BoP-3
The Image>Translate command, added in v1.39l, does this.

-wayne



On Jan 13, 2008, at 10:33 AM, BoP <[hidden email]> wrote:

> Hi!
> I am looking for a feature or plug-in for ImageJ that can skew images
> (differentially shift the image vertical or horizontal) by a given  
> amount.
> It should also be able to operate with stacks.
> It sounds so trivial, that there just must be a solution already.  
> Any ideas
> if or how this can be achieved?
> Thanks in advance!
Reply | Threaded
Open this post in threaded view
|

Re: skewing of stacks

BoP-3
Thanks!
>> Gabriel Landini's Align RGB planes plugin (discussed yesterday on this list)
>> can be used for that, as long as you use layer as red, green and blue
>> components of the input image/stack (your input image have to be monochrome
>> then).

    I will have a look!

> The Image>Translate command, added in v1.39l, does this.
>
> -wayne

    Unfortunately it does only translate, not skew. The function would
    have to translate 0y at the first x-pixel and n pixels at the last
    x-pixel. (and m/x for the mth pixel in between)

ciao BoP

> On Jan 13, 2008, at 10:33 AM, BoP <[hidden email]> wrote:
>
> Hi!
> I am looking for a feature or plug-in for ImageJ that can skew images
> (differentially shift the image vertical or horizontal) by a given
> amount.
> It should also be able to operate with stacks.
> It sounds so trivial, that there just must be a solution already. Any
> ideas
> if or how this can be achieved?
> Thanks in advance!
Reply | Threaded
Open this post in threaded view
|

Re: skewing of stacks

Erik Meijering
In reply to this post by BoP-3
On Sun, 13 Jan 2008 10:33:25 -0500, BoP <[hidden email]> wrote:
>Hi!
>I am looking for a feature or plug-in for ImageJ that can skew images
>(differentially shift the image vertical or horizontal) by a given amount.
>It should also be able to operate with stacks.
>It sounds so trivial, that there just must be a solution already. Any ideas
>if or how this can be achieved?

The Affine plugin of the TransformJ package does this.

http://www.imagescience.org/meijering/software/transformj/

Best regards,

Erik
Reply | Threaded
Open this post in threaded view
|

Re: skewing of stacks

BoP-3
Thanks Erik!

    I am just wondering how this matrix has to be filled, because I
    thought affine transformations are just rotation translation and
    scaling, but no distortion.
    Would it be possible to give an example? (besides the "user
    interface" is not really straight forward, is it?)

Cheers!

> On Sun, 13 Jan 2008 10:33:25 -0500, BoP <[hidden email]> wrote:
>  
>> >Hi!
>> >I am looking for a feature or plug-in for ImageJ that can skew images
>> >(differentially shift the image vertical or horizontal) by a given amount.
>> >It should also be able to operate with stacks.
>> >It sounds so trivial, that there just must be a solution already. Any ideas
>> >if or how this can be achieved?
>>    
>
> The Affine plugin of the TransformJ package does this.
>
> http://www.imagescience.org/meijering/software/transformj/
>
> Best regards,
>
> Erik
>
>
>  
Reply | Threaded
Open this post in threaded view
|

Re: skewing of stacks

Erik Meijering
In reply to this post by BoP-3
> I am just wondering how this matrix has to be filled, because I
> thought affine transformations are just rotation translation and
> scaling, but no distortion.

Roughly speaking, an affine transformation is a transformation that
preserves parallel lines. This includes translations, rotations, scalings,
skewings, and any combinations thereof.

The matrix is just a standard 4x4 matrix in homogeneous coordinates. You can
read a little more about it on the plugin page:

http://www.imagescience.org/meijering/software/transformj/affine.html

> Would it be possible to give an example?

Here is an example of a matrix that slightly stretches x as a function of y:

1.0 1.001 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0

and an example of a matrix that stretches y as a function of x:

1.0 1.0 0.0 0.0
1.001 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0

Just save those four lines in a text file and specify that file name in the
plugin dialog.

> (besides the "user interface" is not really straight forward, is it?)

I guess that depends on what you mean by "straightforward" in this context.
The present interface allows you to keep separate matrix files and easily
apply them to images by specifying them in the dialog. In the future I may
add a possibility to directly enter matrix numbers into the dialog and
save/load them as text files.

Good luck and best regards.

Erik
Reply | Threaded
Open this post in threaded view
|

transform arbitrary shape to circle

Aryeh Weiss
I would like to map an arbitrary 2D closed object into a circle, subject to the
constraint that the perimeter of the object remains constant. For example, I
might take a crescent and map it into a circle, such that the local neighborhood
in a small arc will be identical (or very close) in both the crescent and the
circle, except of course at the "points" of the crescent.

Has anyone on this list done such a thing?

Thanks in advance
--aryeh
--
Aryeh Weiss
School of Engineering
Bar Ilan University
Ramat Gan 52900 Israel

Ph:  972-3-5317638
FAX: 972-3-7384050
Reply | Threaded
Open this post in threaded view
|

Re: transform arbitrary shape to circle

ctrueden
Hi Aryeh,

Sounds like an interesting problem, but I'm not sure exactly what you
mean. Could you clarify?

When you say "map [the object] into a circle," do you mean:

1) Find the circumscribed circle around the object?
2) Find a circle that approximates the object (includes as much of the
same area as possible) and has the same perimeter/circumference?
3) Find a circle with a "best fit" to the curvature of the object
(e.g., in your crescent example, the exterior arc of the crescent
would coincide as much as possible with the edge of the circle)?
4) Something else?

I don't think any of the above should be too difficult.

Thanks,
Curtis

On Jan 16, 2008 6:52 AM, Aryeh Weiss <[hidden email]> wrote:

> I would like to map an arbitrary 2D closed object into a circle, subject to the
> constraint that the perimeter of the object remains constant. For example, I
> might take a crescent and map it into a circle, such that the local neighborhood
> in a small arc will be identical (or very close) in both the crescent and the
> circle, except of course at the "points" of the crescent.
>
> Has anyone on this list done such a thing?
>
> Thanks in advance
> --aryeh
> --
> Aryeh Weiss
> School of Engineering
> Bar Ilan University
> Ramat Gan 52900 Israel
>
> Ph:  972-3-5317638
> FAX: 972-3-7384050
>