Manpage of CT-EDEI
Section: User Commands (1)
Return to Main Contents
ct-edei - All-in-one EDEI-based CT reconstruction.
ct-edei [OPTIONS...] <minus list> <plus list> <result mask>
Performs all procedures for the reconstruction:
1) reads two text files describing the arrays of input files (foreground-background pairs) in minus and plus position of the analyzer crystal.
2) removes the backgrounds in accordance with these files.
3) performs the EDEI extraction of the requested contrast component.
4) constructs the sinograms of the slices requested in the slice string.
5) finally reconstructs the sinograms.
All these procedures can be performed on the step-by-step basis using tools "bg", "edei", "sino" and "ct", but this approach saves all intermediate results on the hard disk and therefore a lot of time is spent for the I/O operations, memory allocations, etc. Also much more disk space is used.
- <minus list>
List of the input images in the minus position.
- <plus list>
List of the input images in the plus position.
Arguments "<minus list>" and "<plus list>". Text file which describes the stack of input images: foregrounds and (optionally) background(s). The strings in the file can be one of the following forms:
#BACKGROUND# <background filename>
The string prefixed with the "#BACKGROUND# " gives the name of the background file right after the prefix. This background file contains the background contrast for all foregrounds below it until the next background string is met. No background removal is performed for all foregrounds given in the strings above the first background. If the string starting with the prefix does not contain any background name then all following foregrounds are considered as is ( i.e. no background removal is performed).
#DARKCURRENT# <dark current filename>
The string prefixed with the "#DARKCURRENT# " gives the name of the dark current file right after the prefix. If more than one DC file is given, then the average of all are used.
The foreground string gives the name of the actual contrast of the sample.
The string starting with '#' sign, is treated as a comment.
Empty strings can be used for grouping and have no influence.
- <result mask>
Output result mask.
Defaults to "reconstructed-<minus list>-@.tif".
Used when there is a need to describe a stack of output files. In this case the special character represents the number of the output file in the stack. The result mask is a string which forms the names of the processed slices. The mask should (but not must) contain the '@' character which denotes the position where the slice number will be inserted:
If there is no '@' in the mask, it is inserted together with the '-' prefix right before the file extension (if any) or at the end of the mask (if no extension).
If there are more than one '@' character in the mask, only the last of them is replaced by the slice number.
For example the mask
produces file names similar to this (for the 13th slice):
Note that the path(s) to the files must exist: the program will not create any directory.
- -C, --component=STRING
Type of the contrast component.
The component of the contrast to extract and reconstruct. Must be one of the following strings (case insensitive):
A, ABS, ABSORPTION - for the absorption component
R, REF, REFRACTION - for the refraction component
- -s, --slice=STRING
Slices to be processed.
The string describing the slices in the image stack which are to be processed. Must be a string consisting only of numbers, commas ',' minus signs '-' and the character 'n'. First the string is divided into the substrings separated by comas and each substring is processed on it's own:
The string consisting only of numbers is read as the integer and added to the list of the reconstructed slices.
The string with the minus sign surrounded by the numbers adds all slices in the range into the list.
If the string starts with the minus then the range start is assumed to be 1.
If minus is the last character in the string then the range finishes at the maximum slice number.
If the string has negation prefix 'n' then the slice(s) are excluded from the previously formed list.
If all substrings have 'n' prefix or the first substring contains only it, then the meaning of the whole string is "all except ...".
Two and more negations are interpreted as a single one.
If no slice string is given then all slices are reconstructed.
For example the following string:
requests processing of the slices with numbers 1, 2, 4, 6, 9, 20 to 400, 440 to 449, 471 to 500, 800 to 909, 915 and 921 to the end.
- -c, --center=FLOAT[:FLOAT]
Variable rotation center.
Deviation of the rotation axis from the center of the sinogram.
Allows you to erase some minor artifacts in the reconstructed image which come from the inaccurate rotation position. The two float values are the coefficient "bconf" and "aconf" respectively for the calculation of the deviation of the rotation center as
center = bconf + aconf * slice
with the "slice" being the index in the projection image. If only first of two floats is given then aconf=0.0 (i.e. the rotation axis is strictly vertical).
Note: in most real CT or TS experiments the rotation center of the sample is not exactly in the center of the recoded projection. Moreover, the rotation axis may be inclined from the vertical orientation. If the inclination of the rotation axis is noticeable for your desired spatial resolution then you should rotate the images before the actual reconstruction. You can do it in the batch using "mogrify" command from the ImageMagick package with the -rotate option.
- -f, --filter=STRING[:FLOAT]
Filtering window used in the CT.
Defaults to "RAMP".
Must be a string consisting of two parts (the second one is optional): the filter name and float parameter of the filter. The filter name can be one of the following (case insensitive):
Optional float value is required only if the filter is KAISER or GAUSS and represents the lpha parameter of the KAISER filter or igma parameter of the GAUSS filter. Description of the filtering functions and their graphs can be found in the html documentation.
Input file containing the RC of the analyzer.
The absence of this option prompts to using the original DEI method.
Text data file which contains the rocking curve of the analyzer in the EDEI experimental setup. Consists of two columns: X- and Y-axis of the RC. i.e. must contain only the lines of the form:
<RC X-axis> <RC Y-axis>
where both numbers are float point representation of values which are respectively proportional to the RC scan angle and intensity. Note that the RC Y-axis does not have to be the scan angle (it can be motor pulses, encoder value, etc.), it only must be proportional to the scan angle. The same Y-azis does not have to be the reflectivity, but only must be proportional to it. However, if you want to have not only quantitative, but qualitative results (i.e. the results which represent the refraction index itself, not a value proportional to it), you should provide RC with exact data: X-axis in radians and Y-axis in reflectivity.
- -t, --threads=UINT
Number of threads used in calculations.
If the option is not used the optimal number is calculated automatically.
- -i, --int
Output image(s) as integer.
If this option is not set, the output format defaults to the 32-bit float-point TIFF (regardless of the extension). If it is set, the image format is derived from the output file extension (TIFF if the extension does not correspond to any format).
EDEI processing options.
Options which influence the component extraction via the EDEI method.
- -m, --minus-point=FLOAT
Value determining the minus-point.
- -p, --plus-point=FLOAT
Value determining the plus-point.
Options "-m, --minus-point" and "-p, --plus-point". Defaults to 0.5.
The meaning of the value is defined by the -I|--meaning option.
- -I, --meaning=STRING
Meaning of -m, --minus-point and -p, --plus-point options.
Defaults to "REFLECTIVITY". Can be one of the following strings (case insensitive):
"A", "ALPHA" - Sets the meaning of the +/- values to the angle lpha. I.e. finds the given value on the lpha axis of the RC (first column in the input RC file) and sets the position to the found point.
"N", "NUMBER" - Sets the meaning of the +/- values to the RC index. Converts values to integer and considers them as the index on the RC's lpha axis. In other words the given values represent the string in the RC file which corresponds to the position.
"I", "INTENSITY" - Sets the meaning of the +/- values to the intensity. I.e. finds the given value on the intensity axis of the RC (second column in the input RC file) and sets the position to the found point.
"R", "REFLECTIVITY" - Sets the meaning of the +/- values to the reflectivity. Similar to "INTENSITY", but normalizes the intensities and interprets the values as the normalized ones.
- -S, --scale=FLOAT
Data-to-angle conversion coefficient.
Defaults to 1.0.
Multiplication of this coefficient by the value in the first column of the rocking curve data file gives the actual angle in radians.
- -F, --filter-rc
Smooth RC to avoid non-monotonous parts.
The rocking curve in real experiment is never ideal and includes noise. If this option is used, the data of the rocking curve are first smoothed using very primitive algorithm. If you need some advanced smoothing algorithm, pre-process the data before using them.
- -v, --verbose
- -?, --usage
Outputs brief usage message.
- -h, --help
Outputs help message.
When combined with the "-v|--verbose" option may output more detailed message.
ctas(1), ctas-bg(1), ctas-ct(1), ctas-ct-abs(1), ctas-ct-dei(1), ctas-ct-edei(1), ctas-ct-ipc(1), ctas-dei(1), ctas-edei(1), ctas-ipc(1), ctas-f2i(1), ctas-ff(1), ctas-sino(1), ctas-sino-abs(1), ctas-sino-dei(1), ctas-sino-ipc(1), ctas-ts(1), ctas-ct-line(1)
- EDEI processing options.
- Standard options.
- SEE ALSO:
This document was created by
using the manual pages.
Time: 06:49:20 GMT, July 29, 2010