next up previous contents index
Next: Adding New Data Items To Up: The HST Parameter File Previous: The HST Parameter File

Subsections


The Parameters

 

The first parameter determines the type of reconstruction: either from raw data, or directly from pre-processed sinograms. Each type of reconstruction has a different list of parameters, and these will be dealt with separately.

RECONSTRUCT_FROM_SINOGRAMS

This logical item is given the value NO when the reconstruction is to be performed directly from raw data, and YES when a series of sinograms is to be input and directly reconstructed.

Parameters for reconstruction from Raw Data

The file starts with a series of parameters which define the files series of experimental projection images.

FILE_PREFIX

This item defines the starting text which is used as part of the series of file names. This is the invariant part of the file names. It may include a directory path as well as the start of the file names. Normally each filename will start with the same series of characters followed by numerical part which will vary.

NUM_FIRST_IMAGE

This item is an integer number which defines the number of the first image in this series of projections to be reconstructed. Normally this number would be one or perhaps zero.

NUM_LAST_IMAGE

This is the number of the last image in the sequence. e.g. If the sequence consists of 900 images numbered 1 to 900 then this number would be 900.

NUMBER_LENGTH_VARIES

This logical item can have the value YES or NO. YES means that the number of figures used to represent the numerical part of the file name varies from file name to file name. NO means that the number is fixed and many of the file names will contain preceding zeros.

LENGTH_OF_NUMERICAL_PART

This item is only appropriate for a file series where the numerical part is of fixed length. This determines the number of figures used to represent the numerical part and hence the number of preceding zeroes.

FILE_POSTFIX

This is the series of characters which is added to the back of each file name after the numerical part of the file main. It includes the dot.

FILE_INTERVAL

This integer item allows faster, but poorer quality reconstruction by only using one in so many images for the reconstruction. For full reconstruction of all images, this item should equal 1. To only use every other image this item should equal 2. To use every third image this item should equal 3, etc.

This completes the items which defines the data files to be reconstructed.

The next set of items define the size of the images to be input.

NUM_IMAGE_1

This item is the number of pixels in the fastest changing direction of the image, which is normally considered to be the horizontal or X-direction.

NUM_IMAGE_2

This item is the number of pixels in a slower changing direction of the image, which is normally considered to be the vertical or Y-direction in the image.

IMAGE_PIXEL_SIZE_1

This is the pixel size in the faster changing direction (horizontal) in microns. (The pixel sizes are used to to convert the absorption into physical units, but are otherwise unimportant.)

IMAGE_PIXEL_SIZE_2

This is the size of the pixels in the slower changing direction (vertical) in microns.

Next are parameters which define pre-treatment of the data prior to back-projection.

SUBTRACT_BACKGROUND

This logical item may be YES or NO. If the item is YES a background image will be subtracted from each data image prior to flat-field correction and other operations, and subsequent back projection. (The background image is also subtracted from any flat-field image prior to it being used for normalisation.)

BACKGROUND_FILE

This item is the name of any background file to subtract from data files. The name may include a relative or an absolute path in addition to the file name.

CORRECT_FLATFIELD

This item determines whether or not data files will be flat-field corrected prior to further correction and back-projection. It may take the value YES or NO. The other items concerned with flat-field correction are only relevant if this value is YES.

FLATFIELD_CHANGING

If flat-field correction is being applied it may be from a single file or from a series of files which have been taken during the data collection. If the files changed during data collection this item should be set to YES and a series of flat-field files will be defined. Their numerical value corresponds to the numerical value of the data images when the flat-field was taken. In between the flat-fields linear interpolation is used to simulate the closest flat-field to the situation when a data image was collected.

FLATFIELD_FILE

This item is the name of the flat-field file when only a single file is used and does not change. It is not used when a series of flat-field files are being input.

A series of flat-field files is defined in the same manner to the series of data images.

FF_PREFIX

This is the flat-field file name prefix and includes any relative or absolute path, and the characters which do not change as the base part of the flat-field filenames of the file series.

FF_NUM_FIRST_IMAGE

This is the number of the first flat-field image in the series.

FF_NUM_LAST_IMAGE

This is the number of the last flat field image in the series.

FF_NUMBER_LENGTH_VARIES

This item may have the value YES or NO, YES means that the number of figures used to represent the numeric part of the file name varies.

FF_LENGTH_OF_NUMERICAL_PART

This item is only used when the length of the numerical part does not vary. This is the number of figures used for the numerical part.

FF_POSTFIX

This is the series of characters added to the end of the file name after the numerical part.

FF_FILE_INTERVAL

This is the interval between numbers at which flat-field files will be input. e.g. If the files have been created for every hundred data images this value would be set to 100.

TAKE_LOGARITHM

This item may have the value YES or NO. Normally the value would be set to YES which means that the logarithm of the data is taken prior to back projection. However, if the data has already been treated outside of the program then it may be required not take the logarithm and this value should be set to NO.

Next comes a series of parameters which describe the experiment.

ANGLE_BETWEEN_PROJECTIONS

This is the incremental angle in degrees from one data image to the next. It may be expressed in degrees and fraction of degrees. (The program works in single precision arithmetic, so you may usefully express this value to 6 or 7 significant figures.)

ROTATION_VERTICAL

This item may have the value YES or NO. This defines whether the axis of rotation was vertical (YES) or was horizontal. This is defined relative to the detector read-out. (It would be possible to have a horizontal rotation axis but to rotate the detector by 90 degrees and still have this value set YES. This will result in slightly faster reconstruction as it is more efficient in reading the detector files from disk.)

ROTATION_AXIS_POSITION

This is a real value which defines the pixel coordinate of the rotation axis position. In either the horizontal direction for vertical rotation as defined above, or in the vertical direction for horizontal rotation as defined above. This value is measured in units of the detector image pixels, where the left-hand side of the first pixel is defined as 0.0 and the right hand side of the first pixel is defined as 1.0. Thus if the image has 1024 pixels then the right-hand edge of the last pixel is pixel coordinate 1024.0 and the centre of the image is pixel coordinate 512.0.

Next come a series of items which define the reconstruction.

OUTPUT_SINOGRAMS

This item allows the partially reconstructed sinograms to the output as a series of files. For normal full reconstruction this would be set to NO. However, it is sometimes necessary to pre-treat the sinogram data prior to full reconstruction in which case this item may be set to YES.

OUTPUT_RECONSTRUCTION

For normal reconstruction and output this value should be set to YES. If just the sinograms are to be assembled and output then this value can be set to NO and no back-projection will take place.

The next six items define the sub-volume of the full possible reconstruction volume to be reconstructed and output.

START_VOXEL_1

This is the starting voxel to the output in the fastest changing horizontal direction.

START_VOXEL_2

This is the first voxel to the output in the second fastest changing direction, normally considered to be the Y-direction in a right handed coordinate system.

START_VOXEL_3

This is the first voxel to output in the third fastest changing direction, normally considered to be the Z-direction in a right handed coordinate system.

END_VOXEL_1

This is the last pixel to be output in the fastest changing direction, normally considered to be the X-direction in a right handed coordinate system.

END_VOXEL_2

This is the last pixel to the output in the second fastest changing direction, normally considered to be the Y-direction in a right handed coordinate system.

END_VOXEL_3

This is the last pixel to the output in the third fastest changing direction, normally considered to be the Z-direction in a right handed coordinate system.

OVERSAMPLING_FACTOR

This item determines the accuracy with which interpolation is applied to back-project into voxel positions which fall between two detector pixel positions. The value 0 means that full linear interpolation will be used; this will result in the reconstruction taking considerably longer time. The value 1 means that very simple nearest pixel values will be used and no interpolation will take place. This will result in the quickest reconstruction but quality may suffer. Values greater than one means that the detector pixel arrays will be over-sampled and linearly interpolated at the over-sampling factor specified. The reconstruction then takes place using the closest over-sampled pixel. This allows reconstruction almost as fast as nearest pixel reconstruction but with much better data quality, depending on of course using a suitable over-sampling factor. For most data the value of 4 seems to be quite adequate, however even if a larger value needs to be used this will still be faster than linear interpolation for every pixel.

ANGLE_OFFSET

This item allows the object reconstructed to be rotated by an angle relative to the experimental conditions. This value is expressed in degrees and may also contain fractions of degrees.

CACHE_KILOBYTES

This item defines the size of the processor cache per processor in kilobytes. This value is used to to decide whether or not to process more than one slice at the same time. If the cache is large enough it may be more efficient to process two slices at the same time. However, if the cache is not large enough this might result in slower reconstruction owing to the need to write data to and from the RAM.

SINOGRAM_MEGABYTES

This is the maximum size of storage in megabytes that will be used for storing internally the sinograms prior to back-projection. Normally this value should be set slightly lower than the physical memory size (RAM). If this value is set too high the system will not have enough RAM to store the sinograms internally, virtual memory will have to be used, and the reconstruction will take longer. This can be monitored by looking at disk usage. Normally the disk usage should be very low and periodic, corresponding to the output of reconstructed slices. If the disk is being used continually than the system is not running well, reconstruction will take longer, and eventually the disk will wear out and breakdown. Under these circumstances you should reduce this value for future reconstructions. If this value is set lower than necessary it means that the reconstruction will be broken down into a larger number of passes during which a smaller number of sinograms will be stored. This is less damaging, but nevertheless means that the reconstruction will take longer than is necessary.

OUTPUT_FILE

This item defines the name of the of file to contain the completed reconstruction. It may include a relative or an absolute path, as well as the name of the file. This should include any file extension.

DISPLAY_GRAPHICS

This item may be set to YES or to NO. If the value is set to YES then during reconstruction, periodically reconstructed slices will be displayed. This may be used to monitor data quality and check that the reconstruction is progressing in a reasonable manner.

Example of a Raw Data Reconstruction HST Parameter File

 


! HST_SLAVE PARAMETER FILE
 
RECONSTRUCT_FROM_SINOGRAMS = NO
 
! Parameters defining the projection file series 
FILE_PREFIX = /data/id19/inhouse/nov99/luc/AlSi7_4_oben4/AlSi7_4_oben

NUM_FIRST_IMAGE =  40000 ! No. of first projection file
NUM_LAST_IMAGE =  40899 ! No. of last projection file
NUMBER_LENGTH_VARIES = NO
LENGTH_OF_NUMERICAL_PART =  5 ! No. of characters
FILE_POSTFIX = .edf

FILE_INTERVAL =      1 ! Interval between input files
 
! Parameters defining the projection file format
NUM_IMAGE_1 =   1024 ! Number of pixels horizontally
NUM_IMAGE_2 =   1024 ! Number of pixels vertically
IMAGE_PIXEL_SIZE_1 =      6.65000 ! Pixel size horizontally (microns)
IMAGE_PIXEL_SIZE_2 =      6.65000 ! Pixel size vertically
 
! Parameters defining background treatment
SUBTRACT_BACKGROUND = YES ! Subtract background from data
BACKGROUND_FILE = /data/id19/inhouse/nov99/luc/AlSi7_4_oben4/dark.edf
 
! Parameters defining flat-field treatment
CORRECT_FLATFIELD = YES ! Divide by flat-field image
FLATFIELD_CHANGING = YES ! Series of flat-field files
FLATFIELD_FILE = N.A.
FF_PREFIX = /data/id19/inhouse/nov99/luc/AlSi7_4_oben4/refm

FF_NUM_FIRST_IMAGE =      0 ! No. of first flat-field file
FF_NUM_LAST_IMAGE =    900 ! No. of last flat-field file
FF_NUMBER_LENGTH_VARIES = NO
FF_LENGTH_OF_NUMERICAL_PART =  4 ! No. of characters
FF_POSTFIX = .edf

FF_FILE_INTERVAL =    100 ! Interval between flat-field files
 
TAKE_LOGARITHM = YES ! Take log of projection values
 
! Parameters defining experiment
ANGLE_BETWEEN_PROJECTIONS =    0.200000 ! Increment angle in degrees
ROTATION_VERTICAL = YES
ROTATION_AXIS_POSITION =       511.6334 ! Position in pixels
 
! Parameters defining reconstruction
OUTPUT_SINOGRAMS = NO ! Output sinograms to files or not
OUTPUT_RECONSTRUCTION = YES ! Reconstruct and save or not
START_VOXEL_1 =     87 ! X-start of reconstruction volume 
START_VOXEL_2 =     59 ! Y-start of reconstruction volume 
START_VOXEL_3 =      1 ! Z-start of reconstruction volume 
END_VOXEL_1 =    926 ! X-end of reconstruction volume 
END_VOXEL_2 =    932 ! Y-end of reconstruction volume 
END_VOXEL_3 =   1023 ! Z-end of reconstruction volume 
OVERSAMPLING_FACTOR =  4 ! 0 = Linear, 1 = Nearest pixel
ANGLE_OFFSET =    0.000000 ! Reconstruction rotation offset angle in degrees
CACHE_KILOBYTES =   4096 ! Size of processor cache (L2) per processor (Kbytes)
SINOGRAM_MEGABYTES =    800 ! Maximum size of sinogram storage (megabytes)
 
! Parameters defining output file / format
OUTPUT_FILE = /users/opid19/luc/AlSi7_4.vol
 
! Reconstruction program options
DISPLAY_GRAPHICS = NO ! No images

Parameters for reconstruction from Sinograms

 

Parameter files for reconstructing from sinograms are very similarly to raw data reconstruction parameter files. Many of the parameters are the same, but the keywords to define the series of sinograms have slightly different names. Here all parameters, including those which are the same, are documented.

The file starts with a series of parameters which define the files series of sinograms.

SINOGRAM_PREFIX

This item defines the starting text which is used as part of the series of file names. This is the invariant part of the file names. It may include a directory path as well as the start of the file names. Normally each filename will start with the same series of characters followed by numerical part which will vary.

NUM_FIRST_SINOGRAM

This item is an integer number which defines the number of the first image in this series of sinograms to be reconstructed. Normally this number would be one or perhaps zero.

NUM_LAST_SINOGRAM

This is the number of the last image in the sequence of sinogram images. e.g. If the sequence consists of 900 images numbered 1 to 900 then this number would be 900.

NUMBER_LENGTH_VARIES

This logical item can have the value YES or NO. YES means that the number of figures used to represent the numerical part of the file name varies from file name to file name. NO means that the number is fixed and many of the file names will contain preceding zeros.

LENGTH_OF_NUMERICAL_PART

This item is only appropriate for a file series where the numerical part is of fixed length. This determines the number of figures used to represent the numerical part and hence the number of preceding zeroes.

SINOGRAM_POSTFIX

This is the series of characters which is added to the back of each file name after the numerical part of the file main. It includes the dot.

SINOGRAM_INTERVAL

This is the interval between sinogram file numbers to input. For full reconstruction of all sinograms, this item should equal 1. To only use every other sinogram this item should equal 2. To use every third sinogram this item should equal 3, etc. (Note: Unlike the FILE_INTERVAL parameter for raw data reconstruction, this does not lead to reduced data quality, but will lead to smaller volumes, as a smaller number of slices will be reconstructed.)

This completes the items which defines the sinogram files to be reconstructed.

The next set of items define the size of the images to be input.

NUM_IMAGE_1

This item is the number of pixels in the fastest changing direction of the sinogram images, which corresponds to the number of detector pixels in a projection.

NUM_IMAGE_2

This item is the number of pixels in a slower changing direction of the sinogram image, which corresponds to the number of projections in the sinogram.

IMAGE_PIXEL_SIZE_1

This is the pixel size in the faster changing direction (horizontal) in microns. (The pixel sizes are used to to convert the absorption into physical units, but are otherwise unimportant.)

IMAGE_PIXEL_SIZE_2

This is the size of the pixels in the slower changing direction (vertical) in microns.

For sinogram reconstruction all detector corrections will have been performed earlier, so there are no correction options.

(TAKE_LOGARITHM: this item may appear in a parameter file, but is presently ignored.)

Next comes a series of parameters which describe the experiment.

ANGLE_BETWEEN_PROJECTIONS

This is the incremental angle in degrees from one data image to the next. It may be expressed in degrees and fraction of degrees. (The program works in single precision arithmetic, so you may useful express this value to 6 or 7 significant figures.)

ROTATION_AXIS_POSITION

This is a real value which defines the pixel coordinate of the rotation axis position. This is in the 1st direction of the stored sinograms, which is the detector bin direction. This value is measured in units of the detector image pixels, where the left-hand side of the first pixel is defined as 0.0 and the right hand side of the first pixel is defined as 1.0. Thus if the image has 1024 pixels then the right-hand edge of the last pixel is pixel coordinate 1024.0 and the centre of the image is pixel coordinate 512.0.

Next come a series of items which define the reconstruction.

The next four items, together with the numbers of the first and last sinogram to be reconstructed, define the sub-volume of the full possible reconstruction volume to be reconstructed and output.

START_VOXEL_1

This is the starting voxel to the output in the fastest changing horizontal direction of the output slices.

START_VOXEL_2

This is the first voxel to the output in the second fastest changing direction of the output slices, normally considered to be the Y-direction in a right handed coordinate system.

END_VOXEL_1

This is the last pixel to be output in the fastest changing direction of the output slices, normally considered to be the X-direction in a right handed coordinate system.

END_VOXEL_2

This is the last pixel to the output in the second fastest changing direction of the output slices, normally considered to be the Y-direction in a right handed coordinate system.

OVERSAMPLING_FACTOR

This item determines the accuracy with which interpolation is applied to back-project into voxel positions which fall between two detector pixel positions. The value 0 means that full linear interpolation will be used; this will result in the reconstruction taking considerably longer time. The value 1 means that very simple nearest pixel values will be used and no interpolation will take place. This will result in the quickest reconstruction but quality may suffer. Values greater than one means that the detector pixel arrays will be over-sampled and linearly interpolationed at the over-sampling factor specified. The reconstruction then takes place using the closest over-sampled pixel. This allows reconstruction almost as fast as nearest pixel reconstruction but with much better data quality, depending on of course using a suitable over-sampling factor. For most data the value of 4 seems to be quite adequate, however even if a larger value needs to be used this will still be faster than linear interpolation for every pixel.

ANGLE_OFFSET

This item allows the object reconstructed to be rotated by an angle relative to the experimental conditions. This value is expressed in degrees and may also contain fractions of degrees.

CACHE_KILOBYTES

This item defines the size of the processor cache per processor in kilobytes. This value is used to to decide whether or not to process more than one slice at the same time. If the cache is large enough it may be more efficient to process two slices at the same time. However, if the cache is not large enough this might result in slower reconstruction owing to the need to write data to and from the RAM.

OUTPUT_FILE

This item defines the name of the of file to contain the completed reconstruction. It may include a relative or an absolute path, as well as the name of the file. This should include any file extension.

DISPLAY_GRAPHICS

This item may be set to YES or to NO. If the value is set to YES then during reconstruction, periodically reconstructed slices will be displayed. This may be used to monitor data quality and check that the reconstruction is progressing in a reasonable manner.

Example of a Sinogram Reconstruction HST Parameter File

 


! HST_SLAVE PARAMETER FILE
 
RECONSTRUCT_FROM_SINOGRAMS = YES
 
! Parameters defining the projection file series 
SINOGRAM_PREFIX = d:\Data\Tomography\AlSi7\sino_

NUM_FIRST_SINOGRAM =    548 ! No. of first sinogram file
NUM_LAST_SINOGRAM =    549 ! No. of last sinogram file
NUMBER_LENGTH_VARIES = NO
LENGTH_OF_NUMERICAL_PART =  4 ! No. of characters
SINOGRAM_POSTFIX = .edf

SINOGRAM_INTERVAL =      1 ! Interval between input sinograms
 
! Parameters defining the sinogram file format
NUM_IMAGE_1 =   1024 ! Number of pixels horizontally
NUM_IMAGE_2 =    900 ! Number of pixels vertically
IMAGE_PIXEL_SIZE_1 =      2.00000 ! Pixel size horizontally (microns)
IMAGE_PIXEL_SIZE_2 =      2.00000 ! Pixel size vertically
 
TAKE_LOGARITHM = NO
 
! Parameters defining experiment
ANGLE_BETWEEN_PROJECTIONS =    0.200000 ! Increment angle in degrees
ROTATION_AXIS_POSITION =       516.3000 ! Position in pixels
 
! Parameters defining reconstruction
START_VOXEL_1 =      1 ! X-start of reconstruction volume 
START_VOXEL_2 =      1 ! Y-start of reconstruction volume 
END_VOXEL_1 =   1024 ! X-end of reconstruction volume 
END_VOXEL_2 =   1024 ! Y-end of reconstruction volume 
OVERSAMPLING_FACTOR =  4 ! 0 = Linear, 1 = Nearest pixel
ANGLE_OFFSET =    0.000000 ! Reconstruction rotation offset angle in degrees
CACHE_KILOBYTES =   4096 ! Size of processor cache (L2) per processor (Kbytes)
 
! Parameters defining output file / format
OUTPUT_FILE = d:\Data\Tomography\AlSi7\sino_0548.vol

 
! Reconstruction program options
DISPLAY_GRAPHICS = YES ! Images of slices


next up previous contents index
Next: Adding New Data Items To Up: The HST Parameter File Previous: The HST Parameter File

Andy Hammersley
8/6/2001