Login  Register

Re: create image from radial profile

Posted by Jeremy Adler-2 on Feb 08, 2017; 5:51am
URL: http://imagej.273.s1.nabble.com/create-image-from-radial-profile-tp5018029p5018063.html

Dear All,
A rather crude method would be to first turn the image into one where the distances from the designated centre of the circle are marked - a distance map from a single point.
Then use a LUT to change the distances into the sequence of intensities that you want.
LUTs are just lists of numbers, so they can be created and edited quite easily.
The intensities/colours imposed by the LUT can then be made permanent.
A limitation is that only 256 different intensities are available with a LUT - but the final image could always be smoothed to create intermediate values and Transform/Bin with differential x and y axis compression/stretch would create ovals.

-----Original Message-----
From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of Herbie
Sent: den 7 februari 2017 20:30
To: [hidden email]
Subject: Re: create image from radial profile

Dear Michael and all those who are interested!

The approach that I should like to propose for the computation of the
        "Radially Symmetric Function from its Profile"
makes use of the
        "Central Slice Theorem"
of the Fourier calculus.^1


Processing steps:

1.
The horizontal 1D profile function is centered to a [ n * n ] image support.

2.
The image is 2D Fourier-transformed which leads to the vertical projection of the 1D Fourier-transform of the profile.

3.
Rotated versions of the resulting 2D Fourier-spectrum are summed.
The angle increment must at least be [ 360 / (n * PI) ] and the rotations go from 0...180 deg.^2

4.
The resulting sum of Fourier-spectra is then Fourier re-transformed and gives the desired radially symmetric function.

The quality of the resulting radially symmetric image function can be improved by increasing the resolution of the Fourier-spectrum which is achieved by simply using a larger image support in step 1.


The approach is well-suited for macro-implementations, because all time-consuming operations (ffts & rotations) are performed by core-plugins of ImageJ.

Best

Herbie

_____________________
^1
_Bracewell (1956)_
<http://adsabs.harvard.edu/full/1956aujph...9..198b>
_Glünder (1986)_
<www.gluender.de/Writings/WritingsTexts/HardText.html#Gl-1986-2>
^2
_Herman G.T. (1980)_ "Image reconstruction from projections". Academic.
_Platzer H. (1981)_ "Optical image processing". In: Oja E. and Simula O.
(eds.) The second Scandinavian conference on image analysis. Pattern Recognition Society of Finland, Espoo/Finland, pp. 128-138.
_Glünder (2013)_
<www.gluender.de/Writings/WritingsTexts/HardText.html#Gl-2013-1>

::::::::::::::::::::::::::::::::::::::::::::
Am 05.02.17 um 16:08 schrieb Michael Elbaum:

> Thanks Herbie,
>
> This is just what I was looking for, to generate a radially symmetric
> image from a given profile. I have the profile only as a list, though,
> rather than a function, so it should be interpolated from 1D on "x" to
> the radius. I vaguely remember seeing something that can do this in
> ImageJ, but might be imagining.
>
> best, Michael
>
> ________________________________________ From: ImageJ Interest Group
> [[hidden email]] on behalf of Herbie [[hidden email]] Sent:
> Sunday, February 05, 2017 14:41 To: [hidden email] Subject: Re:
> create image from radial profile
>
> Dear Michael,
>
> the valuable ImageJ-plugin "Radial Profile" sums the image values on
> concentric circles and displays the normalized sums as a function of
> the radii of these circles. Consequently, the result is a
> 1-dimensional curve with the radius as the abscissa.
>
> Due to the circular summing, this operation can't be reversed or, as
> you've put it, it can't be "inverted".
>
> What you may achieve however, is to generate a radially symmetric
> image from a profile. If the profile is given analytically you can use
>
> "Process > Math > Macro"
>
> as it was suggested by Jerome Mutterer:
> <http://forum.imagej.net/t/image-generation-donut-with-a-gaussian-cros
> s-section/2379>
>
>  Here is his example macro using a shifted Gaussian profile:
>
> newImage( "Image from Profile", "8-bit black", 256, 256, 1 ); run(
> "Macro...", "v=255*exp(-((d-50)*(d-50)/w)/2)" );
>
> HTH
>
> Herbie
>
> :::::::::::::::::::::::::::::::::::::::::::: Am 05.02.17 um 08:47
> schrieb Michael Elbaum:
>> Dear list,     I'm wondering if there's a plugin available to do
>> the "inverse" of the Radial Profile: given a theoretical curve I want
>> to simulate an image. thanks, Michael
>>
>> -- 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

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

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