Geometry Calibration by COBRA ScannerGeometryCalibration Utility

1. Used Phantom

Fig.1. Sketch of a spiral phantom. Dimensions (A, B, E, etc.) may vary depending on field of view


2. Positioning a Phantom.

Fig 2. An example how a decent input projection may look like.

The critical thing is to position a phantom right. All input views must contain all beads in a full-beam setup. In half beam setup a phantom cylinder should stay/seem basically the same on all frames. Technically the calibration utility fails when the amount of beads on a frame is less than 15.

3. Using a calibration program.

Fig.3. Please make sure that the highlighted fields are set correctly. Please note that the field Number of bead layers should be 1 and Number ... per Layer should contain total number of beads . Before pushing the button Exact Bead Centers (which makes calibration process run) please push More Options and make sure that everything there is set right. Note: Layer Radius should be set to actual values. Distance between layers are not relevant and might be left as-is. Please set your best estimate of a scan angle; +/- 20 degrees typically is not a problem and is good enough as a value for this field.

Fig.4. Please make sure that the mode Spiral Phantom is set. In many cases the border of the image may contain some "garbage" including (but not limited to) dead pixels, non-desirable scene elements like phantom stand/holder, etc. In this case there is an option to make framing (cropping) of every input projection so such border pixels won't be included to analysis. This cropping option is also helpful when only a part of projections contain some bead(s). Potentially these partial beads cam be cropped out. Bottom factor 60 on Pic. 4 corresponds cutting off two horizontal strokes on the Pic.2

Please also note that if the projection size is larger than ~768 or so we recommend to make downsampling by setting the corresponding factor. Basically, after downsampling the projection size should be approx. 500 (thus this factor = 2 for projections like 1216x1232)

After all parameters are set one should press the button Extract Bead Centers and wait till extract process gets finished (the progress is being illustrated bt a special window where one can watch bead extraction process "like a movie").

For collecting more detailed data about scanner geometry create (manually) the folder DynamicGeoData in the directory where projections are residing.

When Extract Bead Centers phase is over one should press Calibrate Parameters button


4. Geometry calibration results.

The results being saved into the file GeoTest_Out.xxm.

There are the following relevant tags there (particular values are just examples)

PARTAG_SRCOBJDIST = 568.855

PARTAG_SRCDETDIST = 796.611

PARTAG_SCANANGLE = 360

PARTAG_PROJRECON = 450

PARTAG_DETPIVOT = -0.554

PARTAG_DETSIZEU = 512

PARTAG_DETSIZEV = 512

PARTAG_DETOFFSETU = 3.86318

PARTAG_DETOFFSETV = 5.21233

PARTAG_DETPITCHU = 0.254

PARTAG_DETPITCHV = 0.254

Please note

- The parameter PARTAG_ROTATIONDIR may need a manual adjustment (one just should try both possible settings +1 and -1)

- All other parameter values in GeoTest_Out.xxm may/should be disregarded


5. Applying static (AKA intrinsic) geo factors to Fidex

One should correct the file C:/Fidex/bin/Scanner.xxm manually

a) Open both GeoTest_Out.xxm and Scanner.xxm . Go to sections [COBRA ] and [GeoCal] in Scanner.xxm

Copy the following factors to Scanner.xxm as they exist in GeoTest_Out.xxm (see also below)

PARTAG_SRCOBJDIST

PARTAG_SRCDETDIST

PARTAG_DETPIVOT

b) Get uoffset and voffset factors adjusted for 1024 resolution. Since we typically calibrate at 2x2 binning both should be multiplied by factor 2.

If in GeoTest_Out.xxm

PARTAG_DETOFFSETU = 3.86318

PARTAG_DETOFFSETV = 5.21233

then we get uoffset = 7.72636 and voffset = 10.42466

c) Set voffset value (10.42466) to Scanner.xxm (as PARTAG_DETOFFSETV)

d) Calculate uoffset in motor steps. The factor depends on scanner in general but for most of scanners it is 0.3068 (in scanner.xxm is defined by DETMOTOR_COEFF)

Thus, the factor DETMOTOR_OFFSETshould be set to uoffset/0.3068-500

In our case DETMOTOR_OFFSET = 7.72636/0.3068-500 = -474.8

e)Practical rules:

- positive PARTAG_DETOFFSETU in GeoTest_Out.xxm corresponds to absolute (module) values smaller than 500 in DETMOTOR_COEFF

- 3 pixels of u offset in GeoTest_Out.xxm approx. corresponds to 20 points in DETMOTOR_OFFSET.

6) Upload scanner.xxm to LabView board. Reboot the scanner

7) Make a scan with an object with known size (in XY plane). Measure and make corrections in PARTAG_SRCOBJDIST if the magnification ratio needs it (typically within 10% , we have been working on it)