IsoGray file formats


IsoGray exports patient file information as a bunch of single files, for CT numbers and VOI information separately.

IsoGray CT files

Filenames are
<examination_number>m<nn>.hdr
<examination_number>p<nn>.hdr
<examination_number>m<nn>.sca
<examination_number>p<nn>.sca
where <examination_number> is a unique patient plan identifier, <nn> are running slice numbers, p and m stand for positive and negative slice numbers, respectively.
Header files (.hdr) contain the following relevant entries (among others):
PatientID = <id>
ExamNumber = <examination_number>
ImageNbDimensions = <number_dimensions>
ImageDimensions = <nx> <ny>
# Image Position (Patient)  (mm) (0020, 0032)
ImagePosition = <posx> <posy> <posz>
# Image Spacing (mm) ((0028, 0030) (0018, 0050))
ImageSpacing = <dx> <dy> <dz>
# Slice Location (mm) (0020, 1041)
SliceLocation = <posz>
# Image Value Type (0=Hounsfield Numbers, 1=Gray Levels, 2=LUT)
ImageValueType = <ivt>
# Image Value Depth (bytes) (0028,0100)
ImageValueDepth = <ivd>
Lines with # are comment lines. An example is here.
The corresponding data files (.sca) comprise a 512-byte header record (ignored for the moment) followed by the CT data organized as specified in the .hdr file. Array order is [y][x], i.e. x is running fastest. Byte order is little endian.

IsoGray contour files

Contour information is kept in a variety of different files, the most important ones are "structure" files, extension .str, and contour files with extension .ctr. Each structure file represents sort of a header for a particular VOI, it contains (among others) the following important entries:
#Object User Name
ObjectName = "<voi-name>"
#---Component
...
#
ComponentNbArgs = 1
ComponentUID = "<UID1>"

#---Component
...
#
ComponentNbArgs = 1
ComponentUID = "<UIDn>"
An example is here.
The ComponentUIDs are unique identifier strings which point to corresponding .ctr-files containing the same string as ObjectUID entry. .ctr-files hold the actual data for contours and comprise the following entries (some omitted):
#Object Unique Identifier
ObjectUID = "<OUID>"
# Coordinate Set Plane (TRANSVERSE, FRONTAL, SAGITTAL, ANY)
CoordSetPlane = TRANSVERSE
# Coordinate Set Points (mm)
CoordSetPoints : 
<n>
<x1> <z1> <-y1>
...
<xn> <zn> <-yn>
An example is here.

Last updated:
$Id: trip98fmtisogray.html,v 1.4 2011/03/08 19:02:49 kraemer Exp $
M.Kraemer@gsi.de