Fixing Bit Values


Different scanner vendors (Philips, Siemens, GE, Toshiba, etc) and different type types (NIFTI, DICOM, etc) can sometimes corrupt the scale of the intensity values stored in the phase image. The most frequent example is the phase image is stored as bits (for example signed 12 bit integer values from -4096 to +4096) instead of convenient units of cm/sec, which might have a VENC from +40 to -40. If this happens, the n ImageJ can be used to fix the scaling of this image so the units are correctly displayed as cm/sec.

You will need the following information to fix bit values:

  • Slope: this is the ratio of the desired velocity units (cm/sec) versus the values in the phase image (e.g. bits). This slope has units of (cm/sec)/bit

  • Intercept: this defines the linear association between velocity (cm/sec) and the values in the phase image (bits). The intercept is often the negative VENC.

Is Your Image Displaying Bits or Velocity (cm/sec)?

You can perform quick tests will indicate if your image is not displaying units of cm/sec.

  • Check Values. With the image open in ImageJ, hover your cursor over image and observe the \'value\' measurement in the bar menu changing.

  • Large ROI. Make an ROI the size of the whole image (or nearly so), right click, and select: Measure. Observe all values, especially those for min and max.

If you see all values are whole integers, the units are likely 'bits'. If the values range from 1 to +4096 (12 bit unsigned) or -4096 to +4096 (12 bit signed), then the units are likely bits. Alternatively, if the values have decimal places, then the units might be cm/sec. If the range of values is -VENC to +VENC (say -40 to +40) then the units might be cm/sec.

Obtaining Rescaling from Bits to Velocity (cm/sec)

You need to determine (1) the scale of the phase image and (2) the correct scale of the phase image. There are several ways to do this.

  • Check DICOM header. This will vary depending on your scanner vendor and DICOM viewer. Assuming a Philips phase image and using HOROS:

    1. Open HOROS and find image you want to manipulate. Select and highlight the image.

    2. Open MetaData of the Image that has been selected (File→ MetaData)

    3. Open dropdown menu 'Per-frameFunctionalGroupSequence' (String- 52009230).

    4. Open third dropdown menu arrow titled 'Item'.

    5. Open the section titled 'RealWorldValueMappingSequence'. Four values are relevant to the conversion needed.

    • RealWorldValueLastValueMapped: The highest value reported in the image

    • RealWorldValueFirstValueMapped: The lowest value reported in the image

    • RealWorldValueIntercept: The intercept is the VENC

    • RealWorldValueSlope: This value is the slope

Horos Metadata Viewer

  • Assume VENC. If you know the VENC for the image, you can skip the DICOM header process. Find the highest and lowest values in the phase image (see: Is Your Image Displaying Bits or Velocity?). You can then calculate the slope and intercept between points: X1,Y1 (lowest voxel value, -VENC) and X2,Y2 (highest voxel value, +VENC).