SMV file format: Difference between revisions

From CCP4 wiki
Jump to navigation Jump to search
(New page: == SMV image file format == 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...)
 
(add link to A. Arvai's SMV library)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== SMV image file format ==


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:




----
<pre>{
 
[[Image:{
HEADER_BYTES=  512;
HEADER_BYTES=  512;
DIM=2;
DIM=2;
Line 33: Line 30:
DENZO_X_BEAM=158.64;
DENZO_X_BEAM=158.64;
DENZO_Y_BEAM=156.27;
DENZO_Y_BEAM=156.27;
}]]
}
 
</pre>
----
 


== Description of common keywords: ==
== Description of common keywords: ==
DIM
* DIM - indicates that the image is two-dimensional.  No known beamlines produce other-dimensional SMV images.
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 [http://en.wikipedia.org/wiki/Endianness]
 
* TYPE - all known SMV images use the unsigned short integer (16 bit) value of TYPE.
BYTE_ORDER
* 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.
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 [http://en.wikipedia.org/wiki/Endianness]
* 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.
TYPE
* 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.
All known SMV images use the unsigned short integer (16 bit) value of TYPE.
* 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.
SIZE1
* BEAMLINE - introduced at the Advanced Light Source to indicate which beamline was used to collect the data.
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.
* 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.
PIXEL_SIZE
* 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.
Size of a pixel.  All known formats provide this number in millimeters.
* 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.
BIN
* TWOTHETA - detector angle relative to the normal-to-beam orientation.
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.
* PHI - starting value of spindle rotation motor for this image.   
 
* OSC_START - starting value of spindle rotation motor for this image.   
BIN_TYPE
* OSC_RANGE - change in value of spindle rotation motor for this image.   
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.
* 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).
ADC
* 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.
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
Here is a library and documentation to read/write ADSC SMV/IMG files: http://www.scripps.edu/~arvai/adxv/data/smv.tar.gz
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 given so as to give the correct beam center display in the program ADXV (provided by ADSC).


== See also ==


DENZO_X_BEAM
[[Crystallographic data file formats]]
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.

Latest revision as of 10: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