Next: Adding New Data Items To
Up: The HST Parameter File
Previous: The HST Parameter File
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.
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.
! 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
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.
! 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
Andy Hammersley