Recommended unit (mm, cm, m) for usage as image spacing

Hey!

we are using VTK for rendering CT volumes in 2D/3D. The voxel size of the volumes is given in microns by the reconstruction algorithms.

currently we are using the value in microns as spacing, fx SetSpacing(50, 50, 50). typical values are something between 5 to 250 microns with our ct machines.

since spacing is a float value and i cannot find any source or documentation on it, what is the recommended unit for spacing and is there any technical reason to adhere to that recommendation, like render performance or quality?

thanks in advance!

@morkar As long as you provide all the values in the same units, you should be fine. The other var that come to mind is the volume’s origin (or image position patient if using DICOM). If you’re manually specifying camera parameters, the camera position and focal point would have to be in the same units as well.

hey @sankhesh

thanks for your reply. I was concerned because googling resulted in this thread which is quite old

https://vtk.org/pipermail/vtkusers/2016-September/096564.html

since you replied to that thread, do you know if the claims and replys are still true? If my understanding is correct, the opacity used for rendering is depenend on the spacing and there some properties that have to be set accordingly.

  • use SetScalarOpacityUnitDistance (which is my spacing then i guess?)
  • volumeMapper->SetAutoAdjustSampleDistances(some_value); //turn on or off
  • volumeMapper->SetSampleDistance(some_value); << spacing?

thanks!

@morkar, Yes, the opacity over the ray is interpolated so using the sample distance which is automatically computed to be the average spacing of the image data in world coordinates. The scalar opacity unit distance is a multiplier on top of it that modifies how quickly the opacity for a given ray saturates. The units should be the same as whatever you chose for the world units.