Interactive 3D plot not working properly with 32 bit images

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

Interactive 3D plot not working properly with 32 bit images

Stein Rørvik
Hello,

I am trying to use the Interactive 3D Surface Plot (which is a great tool) to visualize the geometry of a physical 3D surface. The data originally comes from a laser scanner. I am using the XYZ2DEM plugin to create a 32 bit image from an XYZ point cloud from the scanner. The 32-bit image represents the Z height as a function of XY. This works fine, but for some reason the Interactive 3D Surface Plot fails to plot the data if I apply any other LUT than greyscale. Please see the two attached images; the only difference is the LUT. For the colored LUT, the plot is always flat. Please note that the images are spatially calibrated. All numbers (XY and Z) represent physical meters. If I convert to 8 bit the 3D Surface Plot works, but the Z axis represents then values from 0 to 255 even when the image is properly spatially calibrated. I need all three axes to show the physical dimensions, either as m or mm.

So, does anyone know a workaround for the inability to plot 32 bit data with a LUT, or is it a bug that can easily be fixed?

Stein

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

InteractivePlot-32bit-grey.tif (398K) Download Attachment
InteractivePlot-32bit-jet.tif (400K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Interactive 3D plot not working properly with 32 bit images

Michael Schmid
Hi Stein,

yes, I can confirm the problem, but I have never seen this previously.
In my experience, the Interactive 3D surface plot works well for 32-bit images as long as the pixel values are positive and the display range (Brightness&Contrast) includes all pixel values. This is fulfilled for your image, nevertheless it fails. I use version 2.33.

As a workaround, if you don't need the 'Jet' color table, you can plot the grayscale image and use one of the color tables of the Interactive 3D Surface Plot.

Michael
________________________________________________________________
On Oct 6, 2015, at 16:01, Stein Rørvik wrote:

> Hello,
>
> I am trying to use the Interactive 3D Surface Plot (which is a great tool) to visualize the geometry of a physical 3D surface. The data originally comes from a laser scanner. I am using the XYZ2DEM plugin to create a 32 bit image from an XYZ point cloud from the scanner. The 32-bit image represents the Z height as a function of XY. This works fine, but for some reason the Interactive 3D Surface Plot fails to plot the data if I apply any other LUT than greyscale. Please see the two attached images; the only difference is the LUT. For the colored LUT, the plot is always flat. Please note that the images are spatially calibrated. All numbers (XY and Z) represent physical meters. If I convert to 8 bit the 3D Surface Plot works, but the Z axis represents then values from 0 to 255 even when the image is properly spatially calibrated. I need all three axes to show the physical dimensions, either as m or mm.
>
> So, does anyone know a workaround for the inability to plot 32 bit data with a LUT, or is it a bug that can easily be fixed?
>
> Stein
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
> <InteractivePlot-32bit-grey.tif><InteractivePlot-32bit-jet.tif>

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

Re: Interactive 3D plot not working properly with 32 bit images

Stein Rørvik
I do need the Jet color table because this plot is meant to be compared to other already existing plots having that color table. I also have v2.33 of the plugin.

However, I found out what causes this image to fail: The minimum value of the image is not 0.0. The display range goes from 0.58 to 0.68. If I subtract the value 0.58 from the image and adjust the limits for the LUT accordingly from 0.00 to 0.10 (using the brightness contrast tool), the image plots correctly with a coloured LUT. So that would be a workaround to get a visually correct plot, but the Z axis would then incorrectly start at 0.0. The Z values have a physical meaning and 0.58 is the lowest point of interest in this case so I would prefer that to be shown at the Z axis as well. I still think this must be a bug, since the greyscale image is shown correctly with the Z axis starting at 0.58 up to somewhere above 0.70 and I see no logic in why this should also apply to coloured LUTs too.

Stein

-----Original Message-----
From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of Michael Schmid
Sent: 07. oktober 2015 10:35
To: [hidden email]
Subject: Re: Interactive 3D plot not working properly with 32 bit images

Hi Stein,

yes, I can confirm the problem, but I have never seen this previously.
In my experience, the Interactive 3D surface plot works well for 32-bit images as long as the pixel values are positive and the display range (Brightness&Contrast) includes all pixel values. This is fulfilled for your image, nevertheless it fails. I use version 2.33.

As a workaround, if you don't need the 'Jet' color table, you can plot the grayscale image and use one of the color tables of the Interactive 3D Surface Plot.

Michael
________________________________________________________________
On Oct 6, 2015, at 16:01, Stein Rørvik wrote:

> Hello,
>
> I am trying to use the Interactive 3D Surface Plot (which is a great tool) to visualize the geometry of a physical 3D surface. The data originally comes from a laser scanner. I am using the XYZ2DEM plugin to create a 32 bit image from an XYZ point cloud from the scanner. The 32-bit image represents the Z height as a function of XY. This works fine, but for some reason the Interactive 3D Surface Plot fails to plot the data if I apply any other LUT than greyscale. Please see the two attached images; the only difference is the LUT. For the colored LUT, the plot is always flat. Please note that the images are spatially calibrated. All numbers (XY and Z) represent physical meters. If I convert to 8 bit the 3D Surface Plot works, but the Z axis represents then values from 0 to 255 even when the image is properly spatially calibrated. I need all three axes to show the physical dimensions, either as m or mm.
>
> So, does anyone know a workaround for the inability to plot 32 bit data with a LUT, or is it a bug that can easily be fixed?
>
> Stein
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
> <InteractivePlot-32bit-grey.tif><InteractivePlot-32bit-jet.tif>

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

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