Calibrated location of voxel?

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

Calibrated location of voxel?

Fred Damen
Greetings,

On a hyperstack with(subset of info):
Width:  80 mm (128)
Height:  40 mm (64)
Depth:  40 mm (64)
Size:  8MB
Resolution:  1.6 pixels per mm
Voxel size: 0.625x0.625x0.625 mm^3
Image: 1/256 (te 0.000874)
  Slice: 1/64
  Frame: 1/4
Uncalibrated
Coordinate origin:  -40,-20,-20

With the cursor at 0,0 the ImageJ status bar:
x=25(0), y=12.5(0), z=12.5(0), value=...

The values in the 'Show Info' reflect what I set using
Java/ImagePlus.setCalibration on the hyperstack.  I assume the calibrated
location should read the same as the coordinate origin. I also checked the
other corners of the dataset and nothing seems correct.

Also on the image status line it says z=1/64 and the ImageJ status line says
z=(0).

Thanks in advance,

Fred

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

Clipboard.jpg (103K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Calibrated location of voxel?

Herbie
Fred,

just to make sure, you're not confounding calibration and scale?

Furthermore, please accept that slices are 1-based.

Regards

Herbie

::::::::::::::::::::::::::::::::::::::::
Am 11.04.18 um 03:10 schrieb Fred Damen:

> Greetings,
>
> On a hyperstack with(subset of info):
> Width:  80 mm (128)
> Height:  40 mm (64)
> Depth:  40 mm (64)
> Size:  8MB
> Resolution:  1.6 pixels per mm
> Voxel size: 0.625x0.625x0.625 mm^3
> Image: 1/256 (te 0.000874)
>    Slice: 1/64
>    Frame: 1/4
> Uncalibrated
> Coordinate origin:  -40,-20,-20
>
> With the cursor at 0,0 the ImageJ status bar:
> x=25(0), y=12.5(0), z=12.5(0), value=...
>
> The values in the 'Show Info' reflect what I set using
> Java/ImagePlus.setCalibration on the hyperstack.  I assume the calibrated
> location should read the same as the coordinate origin. I also checked the
> other corners of the dataset and nothing seems correct.
>
> Also on the image status line it says z=1/64 and the ImageJ status line says
> z=(0).
>
> Thanks in advance,
>
> Fred
>
> --
> 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: Calibrated location of voxel?

Michael Schmid-3
In reply to this post by Fred Damen
Hi Fred,

the 'Coordinate Origin' is the position (in pixels/voxels) where the
calibrated values are 0.

In your case, x = 0 mm (the origin of the calibrated values) corresponds
to x = -40 pxl.
So the value at x = 0 pxl is 40 pxl * 0.625 mm/pxl = 25 mm

Same calculation for z:
At z = 0 pxl, the calibrated value is 20 *0.625 mm = 12.5 mm

I guess that the z=(0) in the status line is an uncalibrated value (if
there is a calibration, uncalibrated values are in parentheses).

Michael
________________________________________________________________
On 11/04/2018 03:10, Fred Damen wrote:

> Greetings,
>
> On a hyperstack with(subset of info):
> Width:  80 mm (128)
> Height:  40 mm (64)
> Depth:  40 mm (64)
> Size:  8MB
> Resolution:  1.6 pixels per mm
> Voxel size: 0.625x0.625x0.625 mm^3
> Image: 1/256 (te 0.000874)
>    Slice: 1/64
>    Frame: 1/4
> Uncalibrated
> Coordinate origin:  -40,-20,-20
>
> With the cursor at 0,0 the ImageJ status bar:
> x=25(0), y=12.5(0), z=12.5(0), value=...
>
> The values in the 'Show Info' reflect what I set using
> Java/ImagePlus.setCalibration on the hyperstack.  I assume the calibrated
> location should read the same as the coordinate origin. I also checked the
> other corners of the dataset and nothing seems correct.
>
> Also on the image status line it says z=1/64 and the ImageJ status line says
> z=(0).
>
> Thanks in advance,
>
> Fred
>

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

Re: Calibrated location of voxel?

Fred Damen
In reply to this post by Herbie
On Wed, April 11, 2018 2:34 am, Herbie wrote:
> Fred,
>
> just to make sure, you're not confounding calibration and scale?
Nope.  The Java Calibration class contains the configuration to convert the
pixel location into physical units, thus I called it calibrated location.

>
> Furthermore, please accept that slices are 1-based.
So you are saying that the location in pixel units on the image status line is
correct and the z location in pixel units on the ImageJ main window is wrong?


Thanks,

Fred


>
> Regards
>
> Herbie
>
> ::::::::::::::::::::::::::::::::::::::::
> Am 11.04.18 um 03:10 schrieb Fred Damen:
>> Greetings,
>>
>> On a hyperstack with(subset of info):
>> Width:  80 mm (128)
>> Height:  40 mm (64)
>> Depth:  40 mm (64)
>> Size:  8MB
>> Resolution:  1.6 pixels per mm
>> Voxel size: 0.625x0.625x0.625 mm^3
>> Image: 1/256 (te 0.000874)
>>    Slice: 1/64
>>    Frame: 1/4
>> Uncalibrated
>> Coordinate origin:  -40,-20,-20
>>
>> With the cursor at 0,0 the ImageJ status bar:
>> x=25(0), y=12.5(0), z=12.5(0), value=...
>>
>> The values in the 'Show Info' reflect what I set using
>> Java/ImagePlus.setCalibration on the hyperstack.  I assume the calibrated
>> location should read the same as the coordinate origin. I also checked the
>> other corners of the dataset and nothing seems correct.
>>
>> Also on the image status line it says z=1/64 and the ImageJ status line says
>> z=(0).
>>
>> Thanks in advance,
>>
>> Fred
>>
>> --
>> 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
Reply | Threaded
Open this post in threaded view
|

Re: Calibrated location of voxel?

Herbie
Fred,

in ImageJ-speak spatial co-ordinates are/can be scale-set and
gray-values are/can be calibrated. Because we are on the ImageJ-list I
think we should stick with this convention.

"So you are saying that the location in pixel units on the image status
line is correct and the z location in pixel units on the ImageJ main
window is wrong?"

No, I didn't say this or didn't want to imply this.
I only wanted to point out that,
when dealing with stacks it is important to respect the convention that
x and y are zero-based and z, i.e. the slice dimension, is one-based,
because this may lead to confusions.

Regards

Herbie

::::::::::::::::::::::::::::::::::::::::::::
Am 11.04.18 um 16:56 schrieb [hidden email]:

> On Wed, April 11, 2018 2:34 am, Herbie wrote:
>> Fred,
>>
>> just to make sure, you're not confounding calibration and scale?
> Nope.  The Java Calibration class contains the configuration to convert the
> pixel location into physical units, thus I called it calibrated location.
>
>>
>> Furthermore, please accept that slices are 1-based.
> So you are saying that the location in pixel units on the image status line is
> correct and the z location in pixel units on the ImageJ main window is wrong?
>
>
> Thanks,
>
> Fred
>
>
>>
>> Regards
>>
>> Herbie
>>
>> ::::::::::::::::::::::::::::::::::::::::
>> Am 11.04.18 um 03:10 schrieb Fred Damen:
>>> Greetings,
>>>
>>> On a hyperstack with(subset of info):
>>> Width:  80 mm (128)
>>> Height:  40 mm (64)
>>> Depth:  40 mm (64)
>>> Size:  8MB
>>> Resolution:  1.6 pixels per mm
>>> Voxel size: 0.625x0.625x0.625 mm^3
>>> Image: 1/256 (te 0.000874)
>>>     Slice: 1/64
>>>     Frame: 1/4
>>> Uncalibrated
>>> Coordinate origin:  -40,-20,-20
>>>
>>> With the cursor at 0,0 the ImageJ status bar:
>>> x=25(0), y=12.5(0), z=12.5(0), value=...
>>>
>>> The values in the 'Show Info' reflect what I set using
>>> Java/ImagePlus.setCalibration on the hyperstack.  I assume the calibrated
>>> location should read the same as the coordinate origin. I also checked the
>>> other corners of the dataset and nothing seems correct.
>>>
>>> Also on the image status line it says z=1/64 and the ImageJ status line says
>>> z=(0).
>>>
>>> Thanks in advance,
>>>
>>> Fred
>>>
>>> --
>>> 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
Reply | Threaded
Open this post in threaded view
|

Re: Calibrated location of voxel?

Jan Eglinger
Herbie,

On 11.04.2018 17:07, Herbie wrote:
> in ImageJ-speak spatial co-ordinates are/can be scale-set and
> gray-values are/can be calibrated. Because we are on the ImageJ-list I
> think we should stick with this convention.
>

That is only partially true. In the ImageJ Java API, pixel spacing is
saved in a `Calibration` object [1].

In the ImageJ GUI, the same can be found in the *Image > Properties...*
dialog as well as in *Analyze > Set Scale...*

With this lack of a clear "convention", I wouldn't blame anyone when
using the term "calibration" also for spatial calibration (sic!) of an
image, as this is very common also in the general imaging community.

Just my two cents :)
Jan


[1]: http://javadoc.scijava.org/ImageJ1/ij/measure/Calibration.html

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

Re: Calibrated location of voxel?

Herbie
Jan,

I didn't look at the API because this is not the common way to speak
about user accessible entities.

The "Set Scale"-dialog of ImageJ doesn't contain the term "Calibration"
and the same holds for the "Properties"-dialog.
I don't know where you find it.

"I wouldn't blame anyone when using the term "calibration" [...]"

If you read carefully you will realize that I didn't blame anybody. I
was merely asking if the terms may have been confounded.

I agree that calibration in general can be applied to all entities that
can be calibrated. However, in the case in question we are dealing with
ImageJ with its own convention, at least as far as the GUI is concerned.

Good day

Herbie

::::::::::::::::::::::::::::::::::::::::::
Am 12.04.18 um 09:39 schrieb Jan Eglinger:

> Herbie,
>
> On 11.04.2018 17:07, Herbie wrote:
>> in ImageJ-speak spatial co-ordinates are/can be scale-set and
>> gray-values are/can be calibrated. Because we are on the ImageJ-list I
>> think we should stick with this convention.
>>
>
> That is only partially true. In the ImageJ Java API, pixel spacing is
> saved in a `Calibration` object [1].
>
> In the ImageJ GUI, the same can be found in the *Image > Properties...*
> dialog as well as in *Analyze > Set Scale...*
>
> With this lack of a clear "convention", I wouldn't blame anyone when
> using the term "calibration" also for spatial calibration (sic!) of an
> image, as this is very common also in the general imaging community.
>
> Just my two cents :)
> Jan
>
>
> [1]: http://javadoc.scijava.org/ImageJ1/ij/measure/Calibration.html
>

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

Re: Calibrated location of voxel?

Stein Rørvik
In reply to this post by Herbie
Keep in mind that if you do measurements on a Z calibrated stack, the calibrated Z value is not reported, only the slice number. You must create a new column in the results table where you multiply the slice number with the spatial Z calibration value, taking into account the Z origin if you have set that.

In the recent thread "How to create a customised results table and add data to it within a macro"
Michael Schmid suggested this simple one-line macro to create the calibrated Z column, using the recently added Table.* macro functions:

Table.applyMacro("x=0; y=0; Z=Slice-1; toScaled(x,y,Z);");

Stein

-----Original Message-----
From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of Herbie
Sent: 11. april 2018 17:07
To: [hidden email]
Subject: Re: Calibrated location of voxel?

Fred,

in ImageJ-speak spatial co-ordinates are/can be scale-set and gray-values are/can be calibrated. Because we are on the ImageJ-list I think we should stick with this convention.

"So you are saying that the location in pixel units on the image status line is correct and the z location in pixel units on the ImageJ main window is wrong?"

No, I didn't say this or didn't want to imply this.
I only wanted to point out that,
when dealing with stacks it is important to respect the convention that x and y are zero-based and z, i.e. the slice dimension, is one-based, because this may lead to confusions.

Regards

Herbie

::::::::::::::::::::::::::::::::::::::::::::
Am 11.04.18 um 16:56 schrieb [hidden email]:

> On Wed, April 11, 2018 2:34 am, Herbie wrote:
>> Fred,
>>
>> just to make sure, you're not confounding calibration and scale?
> Nope.  The Java Calibration class contains the configuration to
> convert the pixel location into physical units, thus I called it calibrated location.
>
>>
>> Furthermore, please accept that slices are 1-based.
> So you are saying that the location in pixel units on the image status
> line is correct and the z location in pixel units on the ImageJ main window is wrong?
>
>
> Thanks,
>
> Fred
>
>
>>
>> Regards
>>
>> Herbie
>>
>> ::::::::::::::::::::::::::::::::::::::::
>> Am 11.04.18 um 03:10 schrieb Fred Damen:
>>> Greetings,
>>>
>>> On a hyperstack with(subset of info):
>>> Width:  80 mm (128)
>>> Height:  40 mm (64)
>>> Depth:  40 mm (64)
>>> Size:  8MB
>>> Resolution:  1.6 pixels per mm
>>> Voxel size: 0.625x0.625x0.625 mm^3
>>> Image: 1/256 (te 0.000874)
>>>     Slice: 1/64
>>>     Frame: 1/4
>>> Uncalibrated
>>> Coordinate origin:  -40,-20,-20
>>>
>>> With the cursor at 0,0 the ImageJ status bar:
>>> x=25(0), y=12.5(0), z=12.5(0), value=...
>>>
>>> The values in the 'Show Info' reflect what I set using
>>> Java/ImagePlus.setCalibration on the hyperstack.  I assume the
>>> calibrated location should read the same as the coordinate origin. I
>>> also checked the other corners of the dataset and nothing seems correct.
>>>
>>> Also on the image status line it says z=1/64 and the ImageJ status
>>> line says z=(0).
>>>
>>> Thanks in advance,
>>>
>>> Fred
>>>
>>> --
>>> 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