SMV file format: Difference between revisions

From CCP4 wiki
Jump to navigation Jump to search
(add link to A. Arvai's SMV library)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:


The SMV file format is a broad standard x-ray diffraction image file format that appeared with the first CCD-based x-ray detectors.  SMV stands for Super Marty View, a program written by Dr. Martin "Marty" Stanton to display the images form the original SBC CCD detector.  The format is largely informal, the only rigid rule is that the file header is text and begins with the string: "\n{HEADER_BYTES=", where \n is the newline character (ASCII decimal code 13).  This string must be followed with an ASCII number indicating the number of bytes in the header before the start of the image data.  The header itself is generally expected to be all text and describe the nature of this image data in a keyword=value type format.  The most common SMV header is 512 bytes.  So common in fact that many data processing programs assume that it is without reading the HEADER_BYTES entry.  An example of such a 512-byte header is given here:
The SMV file format is a broad standard x-ray diffraction image file format that appeared with the first CCD-based x-ray detectors.  SMV stands for Super Marty View, a program written by Dr. Martin "Marty" Stanton to display the images form the original SBC CCD detector.  The format is largely informal, the only rigid rule is that the file header is text and begins with the string: "{\nHEADER_BYTES=", where \n is the newline character (ASCII decimal code 13).  This string must be followed with an ASCII number indicating the number of bytes in the header before the start of the image data.  The header itself is generally expected to be all text and describe the nature of this image data in a keyword=value type format.  The most common SMV header is 512 bytes.  So common in fact that many data processing programs assume that it is without reading the HEADER_BYTES entry.  An example of such a 512-byte header is given here:




Line 54: Line 54:
* OSC_RANGE - change in value of spindle rotation motor for this image.   
* OSC_RANGE - change in value of spindle rotation motor for this image.   
* WAVELENGTH - X-ray wavelength used to obtain this image.  All known SMV file formats give this in Angstrom.
* WAVELENGTH - X-ray wavelength used to obtain this image.  All known SMV file formats give this in Angstrom.
* BEAM_CENTER_X - position on the detector face that would be hit by the direct x-ray beam if the beamstop were removed.  Most beamlines give this in millimeters, but some at ESRF give it in pixel units.  Unfortunately, there are also 16 possible conventions for representing the beam center (4 corners to use as 0,0, and 2 axes to assign to either "X" or "Y"), and nearly all of these are used by one program or another. At the Advanced Light Source and Stanford Synchrotron Radiation Lab these values are such as to give the correct beam center display in the program ADXV (provided by ADSC).
* BEAM_CENTER_X - position on the detector face that would be hit by the direct x-ray beam if the beamstop were removed.  Most beamlines give this in millimeters, but some at ESRF give it in pixel units.  Unfortunately, there are also eight possible conventions for representing the beam center (four corners to use as 0,0, and two axes to assign to either "X" or "Y"), and nearly all of these are used by one program or another. At the Advanced Light Source and Stanford Synchrotron Radiation Lab these values are such as to give the correct beam center display in the program ADXV (provided by ADSC).
* DENZO_X_BEAM - introduced at the Advanced Light Source to indicate the direct beam position to enter into the data processing program denzo or mosflm, as these programs coincidentally use the same beam center convention.  This was an attempt to avoid confusion by specifying the convention explicitly.
* DENZO_X_BEAM - introduced at the Advanced Light Source to indicate the direct beam position to enter into the data processing program denzo or mosflm, as these programs coincidentally use the same beam center convention.  This was an attempt to avoid confusion by specifying the convention explicitly.
Here is a library and documentation to read/write ADSC SMV/IMG files: http://www.scripps.edu/~arvai/adxv/data/smv.tar.gz
== See also ==
[[Crystallographic data file formats]]

Latest revision as of 09:18, 13 October 2017

The SMV file format is a broad standard x-ray diffraction image file format that appeared with the first CCD-based x-ray detectors. SMV stands for Super Marty View, a program written by Dr. Martin "Marty" Stanton to display the images form the original SBC CCD detector. The format is largely informal, the only rigid rule is that the file header is text and begins with the string: "{\nHEADER_BYTES=", where \n is the newline character (ASCII decimal code 13). This string must be followed with an ASCII number indicating the number of bytes in the header before the start of the image data. The header itself is generally expected to be all text and describe the nature of this image data in a keyword=value type format. The most common SMV header is 512 bytes. So common in fact that many data processing programs assume that it is without reading the HEADER_BYTES entry. An example of such a 512-byte header is given here:


{
HEADER_BYTES=  512;
DIM=2;
BYTE_ORDER=little_endian;
TYPE=unsigned_short;
SIZE1=3072;
SIZE2=3072;
PIXEL_SIZE=0.102592;
BIN=2x2;
BIN_TYPE=HW;
ADC=fast;
CREV=1;
BEAMLINE=ALS831;
DETECTOR_SN=926;
DATE=Thu Apr 17 07:45:15 2008;
TIME=0.674101;
ACC_TIME=2860;
DISTANCE=150.05;
TWOTHETA=0.00;
PHI=0.000;
OSC_START=0.000;
OSC_RANGE=1.000;
WAVELENGTH=1.115872;
BEAM_CENTER_X=156.27;
BEAM_CENTER_Y=156.52;
DENZO_X_BEAM=158.64;
DENZO_Y_BEAM=156.27;
}

Description of common keywords:[edit | edit source]

  • DIM - indicates that the image is two-dimensional. No known beamlines produce other-dimensional SMV images.
  • BYTE_ORDER - can be either little_endian or big_endian. No other values are known to be in use. This reflects the byte ordering of the image data. Big endian implies that the first byte of a 16-bit number is the most significant byte. Little endian implies the opposite. For more information, see [1]
  • TYPE - all known SMV images use the unsigned short integer (16 bit) value of TYPE.
  • SIZE1 - number of pixels along each edge of the image. It is unclear and unimportant which of SIZE1 or SIZE2 is X or Y as all known SMV image formats are square.
  • PIXEL_SIZE - size of a pixel. All known formats provide this number in millimeters.
  • BIN - degree of pixel binning (averaging) used when reading out the CCD. Some image processing programs need to know this value in order to estimate the detector read-out noise.
  • BIN_TYPE - introduced for the ADSC Quantum 315r detectors to indicate that the binning was done on the hardware level, as opposed to the software level. Some image processing programs need to know this value in order to estimate the detector read-out noise.
  • ADC - indicates the mode of the analog-to-digital converter used to read out the image.
  • CREV - introduced by ADSC to indicate the version number of the SMV header style. Some image processing programs need to know this value in order to estimate the detector read-out noise.
  • BEAMLINE - introduced at the Advanced Light Source to indicate which beamline was used to collect the data.
  • DETECTOR_SN - serial number of the ADSC detector used to collect the image. Useful for determining which beamline was used to collect the data, but not with 100% reliability as detectors can move from beamline to beamline.
  • DATE - a common, but unfortunately not universal entry to indicate when the image was collected. There is no standard to the nature of this format, but it is usually a Unix date.
  • TIME - exposure time of the image in seconds. Sometimes this can be half the exposure time if the image was dezingered, but confusing records like this are discouraged.
  • ACC_TIME - number of milliseconds between the start and stop of electron accumulation on the CCD. This is useful for determining an appropriate dark current.
  • DISTANCE - the sample-to-detector distance. All known SMV file formats give this in millimeters. Although this is generally the distance along a line normal to the detector surface, there is no universal standard for this. It could also mean the distance that would be traveled by the direct beam before hitting the surface of the detector.
  • TWOTHETA - detector angle relative to the normal-to-beam orientation.
  • PHI - starting value of spindle rotation motor for this image.
  • OSC_START - starting value of spindle rotation motor for this image.
  • OSC_RANGE - change in value of spindle rotation motor for this image.
  • WAVELENGTH - X-ray wavelength used to obtain this image. All known SMV file formats give this in Angstrom.
  • BEAM_CENTER_X - position on the detector face that would be hit by the direct x-ray beam if the beamstop were removed. Most beamlines give this in millimeters, but some at ESRF give it in pixel units. Unfortunately, there are also eight possible conventions for representing the beam center (four corners to use as 0,0, and two axes to assign to either "X" or "Y"), and nearly all of these are used by one program or another. At the Advanced Light Source and Stanford Synchrotron Radiation Lab these values are such as to give the correct beam center display in the program ADXV (provided by ADSC).
  • DENZO_X_BEAM - introduced at the Advanced Light Source to indicate the direct beam position to enter into the data processing program denzo or mosflm, as these programs coincidentally use the same beam center convention. This was an attempt to avoid confusion by specifying the convention explicitly.

Here is a library and documentation to read/write ADSC SMV/IMG files: http://www.scripps.edu/~arvai/adxv/data/smv.tar.gz

See also[edit | edit source]

Crystallographic data file formats