##### Page tree
Go to start of banner

# Conventions

AxisInfo
X
• Direction along the X-ray beam.
• Positive is downstream.
Y
• Direction perpendicular to the X-ray beam in the plane of the storage ring.
• Positive is away from the ring.
Z
• Vertical direction
• Positive is up.
Phi
• Rotation around the Z axis.
• Positive is CCW when looking from above.

# File Saving

The root where the data is saved is always set by the beamline scientist. After this the user can influence where the data goes by using one of the following commands:

newsession

Purpose

• Creates a new session, which will be the base for all the saved files of the following scans.
• Can be used to separate samples in different folders.

Syntax

• newsession <session_name>
Special characters, including spaces, will be removed automatically!

# Scan Information

scan_info

Purpose

• Add metadata information to the next scan or a series of scans.

Syntax

• scan_info <information> <persistent>
• <information> == Information about the following scan(s).
• <persistent> == Determines if the provided information is added to only the next or every consecutive scan.

Examples

If the information that you want to add includes spaces you have to declare it as a string using quotes ("").

• Add information to only the next scan:
scan_info "some info about the next scan"
• Add information to any consecutive scan:
scan_info "some info about the next scan" True

# Test Exposures

ct

If you want the data to be saved or all detectors to acquire data, look at the macro "cnt".

• Count with all selected 0D detectors from the measurement group.
• Syntax: ct <exposure time>
• <exposure_time> == The exposure time. If none is given it will expose for 1 second.

# Scanning

## Point Measurements

cnt
• Count with all selected 0D, 1D, and 2D detectors.
• Syntax: cnt <exposure time>
• <exposure_time> == The exposure time. If none is given it will expose for 1 second.
timescanc
• Repeated point measurement.
• Syntax: timescanc 0 1 <nr exposures> <exposure time>
• <nr_exposures> == The number of exposures making up the scan.
• <exposure time> == The exposure time per scan point in seconds.

## Step Scans

Detector Info

Following detectors are not compatible with step scans:

• Maia

### One Dimensional Step Scans

ascan
• 1D step scan based on absolute coordinates.
• Syntax: ascan <axis> <start> <stop> <nr_intervals> <exposure time>
• <axis> == The name of the stage to be scanned.
• <start> == The start coordinate as an absolute value.
• <stop> == The end coordinate as an absolute value.
• <nr_intervals> == The number of intervals making up the scan.
• <exposure time> == The exposure time per scan point in seconds.

Stages DO NOT move back to their original position.

dscan
• 1D step scan based on relative coordinates.
• Syntax: dscan <axis> <start> <stop> <nr_intervals> <exposure time>
• <axis> == The name of the stage to be scanned.
• <start> == The start coordinate as a relative value.
• <stop> == The end coordinate as a relative value.
• <nr_intervals> == The number of intervals making up the scan.
• <exposure time> == The exposure time per scan point in seconds.

Stages move back to their original position.

### Two Dimensional Step Scans

dmesh
• 2D scan based on relative coordinates.
• Syntax: dmesh <axis0> <start0> <stop0> <nr_intervals0> <axis1> <start1> <stop1> <nr_interval1> <exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned
• <start0> == The start coordinate as an relative value.
• <stop0> == The end coordinate as an relative value.
• <nr_intervals0> == The number of intervals making up the scan.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <stop1> == The end coordinate as an absolute value.
• <nr_intervals1> == The number of intervals making up the scan.
• <exposure time> == The exposure time per scan point in seconds.
• <bidirectional> == Optional boolean parameter: Bidirectional movement of <axis0> (Snake scan). Standard value is False

Stages move back to their original position.

imesh
• Like mesh but for scanning linked stages. Such as hexapods or some virtual motors.
• 2D scan based on absolute coordinates.
• Syntax: mesh <axis0> <start0> <stop0> <nr_intervals0> <axis1> <start1> <stop1> <nr_interval1> <exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value.
• <stop0> == The end coordinate as an absolute value.
• <nr_intervals0> == The number of intervals making up the scan.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <stop1> == The end coordinate as an absolute value.
• <nr_intervals1> == The number of intervals making up the scan.
• <exposure time> == The exposure time per scan point in seconds.
• <bidirectional> == Optional boolean parameter: Bidirectional movement of <axis0> (Snake scan). Standard value is False

Stages DO NOT move back to their original position.

jmesh
• 2D jittered scan based on absolute coordinates.
• Syntax: jmesh <axis0> <start0> <stop0> <nr_intervals0> <jitter_amplitude0> <axis1> <start1> <stop1> <nr_interval1> <jitter_amplitude1> <exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value.
• <stop0> == The end coordinate as an absolute value.
• <nr_intervals0> == The number of intervals making up the scan.
• <jitter_amplitude0> == The jitter amplitude factor to the step size. Range = [0, 1].
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <stop1> == The end coordinate as an absolute value.
• <nr_intervals1> == The number of intervals making up the scan.
• <jitter_amplitude1> == The jitter amplitude factor to the step size. Range = [0, 1].
• <exposure time> == The exposure time per scan point in seconds.
• <bidirectional> == Optional boolean parameter: Bidirectional movement of <axis0> (Snake scan). Standard value is False

Examples

Example 1

Scan Command jmesh scany 10 20 10 0.5 scanz 50 60 10 0.1 0.01 $//$ $//$

Example 2

Scan Command jmesh scany 10 20 10 0.5 scanz 50 60 10 0 0.01 $//$ $//$Meaning that the second axis will not jitter.
mesh
• 2D scan based on absolute coordinates.
• Syntax: mesh <axis0> <start0> <stop0> <nr_intervals0> <axis1> <start1> <stop1> <nr_interval1> <exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value.
• <stop0> == The end coordinate as an absolute value.
• <nr_intervals0> == The number of intervals making up the scan.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <stop1> == The end coordinate as an absolute value.
• <nr_intervals1> == The number of intervals making up the scan.
• <exposure time> == The exposure time per scan point in seconds.
• <bidirectional> == Optional boolean parameter: Bidirectional movement of <axis0> (Snake scan). Standard value is False

Stages DO NOT move back to their original position.

meshme
• 2D scan based on absolute coordinates. Certain detectors take multiple exposures at each scan point.
• Syntax: meshme <axis0> <start0> <stop0> <nr_intervals0> <axis1> <start1> <stop1> <nr_interval1> <exposure time> <exposures_per_point> <bidirectional>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value.
• <stop0> == The end coordinate as an absolute value.
• <nr_intervals0> == The number of intervals making up the scan.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <stop1> == The end coordinate as an absolute value.
• <nr_intervals1> == The number of intervals making up the scan.
• <exposure time> == The exposure time per scan point in seconds.
• <exposures_per_point> == The number of exposures certain detectors take per scan point.
• <bidirectional> == Optional boolean parameter: Bidirectional movement of <axis0> (Snake scan). Standard value is False

Stages DO NOT move back to their original position.

Implemented detectors:

• Eiger

## Continuous Scans

Below the available commands are listed.

Detector Info

Following detectors are not compatible with continuous scans:

• MarCCD165

Triggering Device

Depending on which detectors are used one needs to select a scan device that takes care of the detector triggering. This is typically set up by the beamline scientist.

The available scan devices can be found via the command:

scandevice_list

### One Dimensional Continuous Scans

cascan
• 1D continuous scan based on absolute coordinates and number of intervals.
• Syntax: cascan <axis> <start> <stop> <nr_intervals> <exposure time>
• <axis> == The name of the stage to be scanned.
• <start> == The start coordinate as an absolute value.
• <stop> == The end coordinate as an absolute value.
• <nr_intervals> == The number of intervals making up the scan.
• <exposure time> == The exposure time per scan point in seconds.
cascans
• 1D continuous scan based on absolute coordinates and step size.
• Syntax: cascans <axis> <start> <stop> <step_size> <exposure time>
• <axis> == The name of the stage to be scanned.
• <start> == The start coordinate as an absolute value.
• <stop> == The end coordinate as an absolute value.
• <step_size> == The step size in the same unit as the stage.
• <exposure time> == The exposure time per scan point in seconds.
cdscan
• 1D continuous scan based on relative coordinates and number of intervals.
• Syntax: cdscan <axis> <start> <stop> <nr_intervals> <exposure time>
• <axis> == The name of the stage to be scanned.
• <start> == The start coordinate as a relative position to the current position.
• <stop> == The end coordinate as a relative position to the current position.
• <nr_intervals> == The number of intervals making up the scan.
• <exposure time> == The exposure time per scan point in seconds.
cdscans
• 1D continuous scan based on relative coordinates and step size.
• Syntax: cdscans <axis> <start> <stop> <step_size> <exposure time>
• <axis> == The name of the stage to be scanned.
• <start> == The start coordinate as a relative position to the current position.
• <stop> == The end coordinate as a relative position to the current position.
• <step_size> == The step size in the same unit as the stage.
• <exposure time> == The exposure time per scan point in seconds.

### Two Dimensional Continuous Scans

cmesh
• 2D continuous scan based on absolute coordinates and number of intervals.
• Syntax: cmesh <axis0> <start0> <stop0> <nr_intervals0> <axis1> <start1> <stop1> <nr_interval1> <exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value.
• <stop0> == The end coordinate as an absolute value.
• <nr_intervals0> == The number of intervals making up the scan for axis 0.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <stop1> == The end coordinate as an absolute value.
• <nr_intervals1> == The number of intervals making up the scan for axis 1.
• <exposure time> == The exposure time per scan point in seconds.

cmeshr
• 2D continuous scan based on an absolute start coordinates, a range, and number of intervals.
• Syntax: cmeshr <axis0> <start0> <range0> <nr_intervals0> <axis1> <start1> <range1> <nr_intervals1> <exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value for axis 0.
• <range0> == Range for axis 0.
• <nr_intervals0> == The number of intervals making up the scan for axis 0.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <nr_intervals1> == The number of intervals making up the scan for axis 1.
• <step_size1> == The step size in the same unit as the stage.
• <exposure time> == The exposure time per scan point in seconds.

cmeshrs
• 2D continuous scan based on an absolute start coordinates, a range, and step size.
• Syntax: cmeshrs <axis0> <start0> <range0> <step_size0> <axis1> <start1> <range1> <step_size1> <exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value for axis 0.
• <range0> == Range for axis 0.
• <step_size0> == The step size in the same unit as the stage.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <range1> == Range for axis 1.
• <step_size1> == The step size in the same unit as the stage.
• <exposure time> == The exposure time per scan point in seconds.

cmeshs
• 2D continuous scan based on absolute coordinates and step size.
• Syntax: cmeshs <axis0> <start0> <stop0> <step_size0> <axis1> <start1> <stop1> <step_size1> <exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value.
• <stop0> == The end coordinate as an absolute value.
• <step_size0> == The step size in the same unit as the stage.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <stop1> == The end coordinate as an absolute value.
• <step_size1> == The step size in the same unit as the stage.
• <exposure time> == The exposure time per scan point in seconds.
cdmesh
• 2D continuous scan based on relative coordinates and number of intervals.
• Syntax: cdmesh <axis0> <start0> <stop0> <nr_intervals0> <axis1> <start1> <stop1> <nr_intervals1> <exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as a relative position to the current position.
• <stop0> == The end coordinate as a relative position to the current position.
• <nr_intervals0> == The number of intervals making up the scan for axis 0.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as a relative position to the current position.
• <stop1> == The end coordinate as a relative position to the current position.
• <nr_intervals1> == The number of intervals making up the scan for axis 1.
• <exposure time> == The exposure time per scan point in seconds.
cdmeshs
• 2D continuous scan based on relative coordinates and step size.
• Syntax: cdmeshs <axis0> <start0> <stop0> <step_size0> <axis1> <start1> <stop1> <step_size1> <exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as a relative position to the current position.
• <stop0> == The end coordinate as a relative position to the current position.
• <step_size0> == The step size in the same unit as the stage.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as a relative position to the current position.
• <stop1> == The end coordinate as a relative position to the current position.
• <step_size1> == The step size in the same unit as the stage.
• <exposure time> == The exposure time per scan point in seconds.

## Tomography

ctomomesh
• 3D continuous scan based on absolute coordinates.
• Syntax: ctomomesh <axis0> <start0> <stop0> <nr_intervals0> <axis1> <start1> <stop1> <nr_intervals1>
<axis2><start2><end2><nr_intervals2><exposure_time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value.
• <stop0> == The end coordinate as an absolute value.
• <nr_intervals0> == The number of intervals making up the scan.
• <axis1> == The name of the stage 1 (middle) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <stop1> == The end coordinate as an absolute value.
• <nr_intervals1> == The number of intervals making up the scan.
• <axis2> == The name of the stage 2 (slowest) to be scanned.
• <start2> == The start coordinate as an absolute value.
• <stop2> == The end coordinate as an absolute value.
• <nr_intervals2> == The number of intervals making up the scan.
• <exposure_time> == Exposure time in seconds.

Scanning Mode

The tomography axis can be operated in several ways. Have a look at the different modes.

At the moment only the slowest axis can be the tomography stage when applying fancy scanning schemes.

Content

## XANES

cxanesscan
• Continuous point xanes scan.
• cxanesscan <energy_start><energy_end><energy_intervals><exposure time><repetitions>
• <energy_start> == Energy start.
• <energy_end> == Energy end.
• <energy_intervals> == The number of energy intervals.
• <exposure time> == The exposure time per scan point in seconds.
• Optional Parameters:
• <repetitions> == The number of repetitions of the energy region.

Scan Repetitions

When the number of repetitions is larger than 1, the energy will be scanned alternating from <energy_start> to <energy_end> and from <energy_end> to <energy_start>.

Energy Regions

Energy regions are not supported.

cxanesmesh2d
• 3D scan based on absolute coordinates saved as separate 2D scans.
• Syntax: cxanesmesh2d <axis0> <start0> <stop0> <nr_intervals0> <axis1> <start1> <stop1> <nr_interval1>
<energy_start><energy_end><energy_intervals><exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value.
• <stop0> == The end coordinate as an absolute value.
• <nr_intervals0> == The number of intervals making up the scan.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <stop1> == The end coordinate as an absolute value.
• <nr_intervals1> == The number of intervals making up the scan.
• <energy_start> == Region energy start.
• <energy_end> == Region energy end.
• <energy_intervals> == The number of energy intervals.
• <exposure time> == The exposure time per scan point in seconds.

Information on energy regions can be found at the end of the Xanes section.

Why as separate 2D scans (cxanesmesh2d)

A 3D set of 2D scans (cxanesmesh2d) is currently preferred as processing with GeoPIXE offers more flexibility for xanes scans stored in this manner (as separate scans).

cxanesmesh3d
• 3D continuous scan based on absolute coordinates.
• Syntax: cxanesmesh3d <axis0> <start0> <stop0> <nr_intervals0> <axis1> <start1> <stop1> <nr_interval1>
<energy_start><energy_end><energy_intervals><exposure time>
• <axis0> == The name of the stage 0 (fastest) to be scanned.
• <start0> == The start coordinate as an absolute value.
• <stop0> == The end coordinate as an absolute value.
• <nr_intervals0> == The number of intervals making up the scan.
• <axis1> == The name of the stage 1 (slowest) to be scanned.
• <start1> == The start coordinate as an absolute value.
• <stop1> == The end coordinate as an absolute value.
• <nr_intervals1> == The number of intervals making up the scan.
• <energy_start> == Region energy start.
• <energy_end> == Region energy end.
• <energy_intervals> == The number of energy intervals.
• <exposure time> == The exposure time per scan point in seconds.

Energy Regions

Information on energy regions can be found at the end of the Xanes section.

Energy Regions

You can make as many energy regions as you like by just repeating the 4 arguments per region.

Example: scan energy between 6000 6010 with 2 eV steps and 0.01 s per point and between 6010 6020 with 1 eV step and 0.02 s per point.
cxanesmesh2d samy 0 1 10 samz 0 1 10 6000 6010 5 0.01 6010 6020 10 0.02

You can see that the end energy of interval 1 is the same as the start energy of interval 2. In this case the energy is only scanned once and the exposure time of interval 2 is used. The full scanned energies and used times are shown in the following spreadsheet:

Content

# Sequence of Commands/Scans

You can execute a list of commands by putting all the commands in a text file. Each command should be written on a new line.

scan_sequence
• Execute a sequence of commands
• Syntax: scan_sequence <sequence_name> <stop_on_error>
• <sequence_name> ==
• The name of the queue.
• The name of the file containing the commands.
• Optional Parameters:
• <stop_on_error> == default is False, meaning the sequence will only report errors but will continue on and provide a summary of the scans that had errors at the end of the sequence.
When it is preferred to stop when an error occurs, append True at the end of the command.
Queue Based Sequences
• To execute a queue based sequence, one provides the name of the queue.

File Based Sequences

file_name

• The file should have the extension ".seq".
• The file name provided can be:
• A file name.
• A relative path.
• An absolute path.

When a file name is provided, the file is assume to be located in the standard sequences location:

/gpfs/current/shared/sequences

It is possible to alter the sequence file while the sequence is already running, with the modified sequence executed accordingly. One can add/remove/alter commands after the line specifying the command that is currently running.

Note the following warnings:

• One can only change the sequence file on the pc that is running the experiment, otherwise the changes are not recognised!!!
• The sequence file should only be edited with the editors sublime or emacs. Other text editors will cause errors.

File Layout

• Each command should be written on a new line.
• Comments can be included by starting the line with a hash (#).
• Empty lines are allowed to keep the file easily human readable.
• Files can be created on Linux and Windows.

For example:

mv samz 1
dscan samy -1 1 10 0.1
mvr samz 1
dscan samy -2 2 20 0.5
detector_use maia 0

To execute the sequence you run the following command:

scan_sequence <path_to_file>

Example:

scan_sequence /gpfs/current/shared/sequences/overnight_scans01.seq

Content

# Attenuation of the Beam

The X-ray beam can be attenuated using an absorber which contains Al and Si absorbers of different thicknesses.
Upon requesting an attenuation the device calculates the needed absorber thickness for the current energy.
One can select which attenuator material to be used.

## Setting the Attenuation

attenuate
• Setting the attenuation
• Syntax: attenuate <attenuation> <absorber_material>
• <attenuation> == The requested attenuation in %.
• Optional parameters:
• <absober_material> == To select which filter material to use.
Examples
• Setting the attenuation (51 %) using any available attenuator material:

attenuate 51

• Setting the attenuation (19 %) only using the aluminium absorber:

attenuate 19 Al

## Incrementing the Attenuation

attenuate
• Incrementing the attenuation
• Syntax: attenuate <attenuation_increment> <absorber_material>
• <attenuation> == The requested attenuation increment in %.
• Optional parameters:
• <absober_material> == To select which filter material to use.
Examples
• Increasing the attenuation (+10 %) using any available attenuator material:

attenuate +10

• Decreasing the attenuation (-19 %) only using the aluminium absorber:

attenuate -19 Al
• Default increment/decrement:

default value

Default increment/decrement is 5 %.

decrement
attenuate -
increment
attenuate +

## Report on the Current Attenuation

attenuate
• Report of the current attenuation settings
• Syntax: attenuate
Example
• Getting the attenuation report:

attenuate
• Output:

Total attenuation (@ 15000 eV): 20.18 %
Al used: 105 micron
Si used: 0 micron
Filter material restricted to: any
Lower attenuation: 19.32 %
Higher attenuation: 21.04 %
• Explanation of the output:
• Total attenuation at the given energy (15,000 eV) → 20.18 %
• Used absorber thickness per filter material in micron.
• Restriction of the absorber material.
• Lower attenuation → the attenuation % of the combination of the absorbers that provides 1 step less attenuation.
• Higher attenuation → the attenuation % of the combination of the absorbers that provides 1 step more attenuation.

Content

# Extra Bells and Whistles

A user is advised not to change these parameters if one does not know what he/she is doing .

## Scan Mode

Scan mode allows you to customise certain scans.
The scan modes can be listed by:

scanmode_list

Setting a scanmode can be done by:

scanmode_use <name> <value>

The following table provides you with some extra information on the available options:

ModePossible ValuesInfo
acquisition_mode0, 1

See details in Acquisition Modes table below.

energy_scan_mode0, 1, 2Determines which axis is the energy during continuous xanes scans.
• 0 == fast axis
• 1 == middle axis
• 2 == slowest axis
golden_angle_rangeany integer

The maximum of the range over which is sampled during a golden angle acquisition.

overscan_pixels-

Determines the overscan area during continuous scans.
Syntax: <overscan_pixels> <overscan_modus>

• <overscan_pixels> == A fixed number of pixels added to the fast axis to allow for stage acceleration.
• <overscan_modus> == The modus of how the number of overscan pixels is determined.
• 0 == The fixed <overscan_pixels> is used to calculate the overscan distance.
• 1 == The distance need to reach the required scan velocity is used.
• 2 == The fixed <overscan pixels> number is enforced as a minimum overscan distance.
• 3 == The fixed <overscan pixels> number is enforced as a maximum overscan distance.

Example

Setting the fixed number of <overscan_pixels> to 5 and the <overscan_modus> to modus 1.

scanmode_use overscan_pixels 5 1
scanning_mode0

Determines the stage scanning mode during continuous scans.

• 0 == snake wise
tomography_mode0, 1
• 0 == Normal incremental between begin and end position with the given interval
• 1 == Golden angle scan.
triggering_mode0, 1See details in the Triggering Modes table below.

### Acquisition Modes

Mode

Info

Use Case

Warnings

0TTL gate is used by all detectors.Typical Scanning
1TTL gate is used for all non photon counting detectors. The photon counting detectors use their internal exposure time clock.Ptychography Scans In this mode the photon counting detectors might miss pixels. After the scan, one needs to compile a list of where the detectors were triggered.

### Triggering Modes

ModeTriggering Based On
0Position
1Time
Content

• No labels