Recipes
Scan recipes will be placed in the location Z:\Recipes, a folder in the shared “Z:\” drive, which is shared between the on-board Linux machine and connected Windows computer (packaged with the Apex instrument). They are in JSON format, as described below. They can be edited both by hand and via the xrm companion.
The main structure is a series of parameters representing X-ray scan points to be performed on each sample. Each Queue entry represents an X-Ray scan point.
Recipes are created through the XRM Companion application:
Open XRM Companion
Click “Scan Settings” in the bottom-right
Create a recipe through the scan settings, and click the “Save” button
Save the recipe in “Z:Recipes”
The recipe can now be opened and loaded in the SigrayConnect API
Format
The format of the recipes are as follows:
{
"Queue": [
{
"Nickname": "Scan Point Nickname",
"System": "ApexV2",
"Sample": "Manual",
"Scan": {
"base_filename": "test_delete_me",
"flat_axis": "Sample Z",
"start_theta": -180,
"end_theta": 180,
"number_of_views": 3601,
"exposure_time": .5,
"num_filter": 1,
"bright_num": 4,
"send_email": false,
"email_address": "vsingh@sigray.com",
"do_fly_scan": false,
"collect_post_scan": false,
"collect_flat": true,
"collect_dark": false,
"collect_tomo": true,
"montage_col": 1,
"montage_rows": 1,
"warm_up": false,
"warm_up_duration": 1
},
"Motor": {
"sample_x": -580.25,
"sample_z": -1196.05,
"sample_y": 10000,
"source_object": -3,
"object_detector": 654.65,
"filter_wheel": "HED4",
"slant": 20,
},
"Source": {
"type": "Dage",
"voltage": 60.0,
"energy": 0,
"power": 5.2,
"material": 1
},
"Detector": {
"detector_index": 0,
"binning": 1
}
}
]
}
Many of these existing fields are irrelevant and unutilized for the Apex TCP-control functionality, which is kept purposefully slim. Some of them are not supported for the Apex in general, since this recipe is meant to function on multiple XRM systems, including the Prisma and Eclipse.
The following fields are the only ones utilized in the TCP control of the Apex 300E. Other fields are described in the XRM Companion documentation.
Field Descriptions
The fields representing a category of fields with multiple sub-fields will be printed and described in bold-face.
Field |
Data Type |
Description |
---|---|---|
Queue |
JSON Object list |
List of recipe routines to execute on each sample. Once all routines are complete, the stage will move back to the wafer load positions for sample unloading. |
“Scan” |
Category |
The parameters used to control the X-Ray scan. |
“base_filename” |
string |
File name prefix for each recorded .h5 data file under “Z:\<today’s date>\<today’s acquisition nickname>” |
“start_theta” |
double |
The starting rotational position of the sample stage for the X-Ray scan. |
“end_theta” |
double |
The ending rotational position of the sample stage for the X-Ray scan. |
“number_of_views” |
double |
The total number of images taken in the entire duration of the X-Ray scan. |
“exposure_time” |
double |
The exposure time for each image taken during the scan. |
“do_fly_scan” |
boolean |
Whether or not to execute the X-Ray scan as a fly scan. |
“collect_flat” |
boolean |
Specifies whether to collect a flat image after the scan-point has completed. |
“collect_dark” |
boolean |
Specifies whether to collect a dark image after the scan-point has completed. |
“warm_up” |
boolean |
Boolean flag setting whether the source should perform a warm-up before the X-Ray scan. |
“warm_up_duration” |
integer |
If the warm_up flag is set, how long, in seconds, the warm-up should take. |
“Motor” |
Category |
The starting positions for various motors required to start an X-Ray scan |
“sample_x” |
double |
The starting x-position for the sample stage before an X-Ray scan is started. |
“sample_y” |
double |
The position of the sample stage in the “y” direction. |
“sample_z” |
double |
The starting z-position for the sample stage before an X-Ray scan is started. |
“source_object” |
double |
The starting source-object distance (distance from X-Ray source to sample stage - also called source zoom) required for an X-Ray scan. |
“object_detector” |
double |
The starting object_detector distance (distance from sample stage to detector) required for an X-Ray scan. |
“filter_wheel” |
string |
The filter wheel setting for a scan - “HED1” through “HED5” (various copper filters) or “None” for no filter. |
“slant” |
double |
The starting slant angle (also called detector angle) required for an X-Ray scan. |
“Source” |
Category |
The source parameters required to start an X-Ray scan. |
“voltage” |
double |
Source voltage in Volts required to start an X-Ray scan. |
“power” |
double |
Source power in Watts required to start an X-Ray scan. |
“Detector” |
Category |
The detector parameters required to start an X-Ray scan. |
binning |
integer |
The detector binning value required to start an X-Ray scan. |