Skip to content

Configuration

Configuration

Fcan

Because tomo sequences are based on fscan library, you need first to configure fscan. You can look here how to do it: https://bliss.gitlab-pages.esrf.fr/fscan/fscan_config.html

- name: fscan_mrtomo
  class: FScanConfig
  package: fscan.fscanconfig
  devices:
    musst: $musst
    measgroup: $mrtomocounters
    rotation_motors: $srot_eh2

Optic

Basic optics can be configured in ebs-tomo. For example, optic with fixed magnification:

#fixed magnification optic
- name: REFLECTIVE
  plugin: bliss
  class: FixedmagOptic
  package: tomo.optic.fixedmag_optic
  rotc_motor:  $rotcrefl
  focus_motor: $focusrefl
  focus_type: "rotation"     # translation or rotation
  image_flipping_hor: False
  image_flipping_vert: True
  magnification: 10
  scintillators: ["Lso23"]

If you want a more flexible object, there is user optic which allows you to specify motors, magnification, etc directly in bliss session

# user defined optic
- name:  uoptic
  plugin: bliss
  class: UserOptic
  package: tomo.optic.user_optic
  scintillators: ['scinti1','scinti2','scinti3']

There are also specific optics. You can find all the list here: #link towards optics page#

Tomo Detector

Now that you have configured your optic, you can associate it one detector with the following object:

- name: dimax_optic
  plugin: bliss
  class: TomoDetector
  package: tomo.controllers.tomo_detector
  detector: $dimax
  optic: $uoptic

TomoDetector object allows to know detector pixel size according to camera pixel size and optic magnification. On this object, you can also specify if you want to set sample pixel size manually (automatically calculated with sample/source distances by default). You have to do this for all detectors you want to use in ebs-tomo.

Tomo Detectors

Then to group all tomo detector objects, you have to declare one tomo detectors object:

- name: mrdetectors_optic
  plugin: bliss
  class: TomoDetectors
  package: tomo.controllers.tomo_detectors
  detectors:
  - $edgedzoom_optic
  - $edgezoom_optic
  - $edgetwinmic_optic
  detector_axis: $mrxc

Detector axis is used to deduce sample detector distance according to axis position and a specific offset value associated to each tomo detector object. We can then calculate pixel size automatically.

Tomo Reference Configuration

This object handles axis movements to put sample out of beam when taking flat images and then put sample back in beam.

- name: mrref_displ
  plugin: bliss
  class: FlatMotion
  package: tomo.controllers.flat_motion

  motor: $yrot_eh2
  settle_time: 2.0

Reference object can also handle a list of motors if you need it.

Tomo Configuration

After having configured previous objects you can create a tomoconfig object. It is used to describe the beamline:

- name: mrtomo_config
  plugin: bliss
  class: TomoConfig
  package: tomo.controllers.tomo_config

  fscan_config: $fscan_mrtomo
  reference: $mrref_displ

  detectors: $mrdetectors_optic

  sample_stage:
    # Motor under the rotation in the direction of the beam
    translation_x: null
    # Motor under the rotation orthogonal to the beam and the vertical plan
    translation_y: $yrot_eh2
    # Motor under the rotation moving the sample vertically
    translation_z: $sz_eh2

    # Motor controlling the rotation axis
    rotation: $srot_eh2       # axis object for the tomo rotation

    # Real motor moving the sample on top of the rotation axis
    sample_u: $sx_eh2
    # Real motor moving the sample on top of the rotation axis
    sample_v: $sy_eh2

  default_single_chain: $MRTOMO_int_chain                # bliss default chain to be used for dark, flat and 
                                                         # return scans when detector is in single mode
  default_accumulation_chain: $MRTOMO_int_chain_acc      # bliss default chain to be used for dark, flat and  
                                                         # return scans when detector is in accumulation mode

  machinfo: $machinfo       # bliss MachInfo object (optional)
  beam_shutter: $bsh1       # (optional)
  frontend: $frontend       # (optional)

These 3 last keys are used to activate some securities on tomo scans as check refill, wait for beam and check beam. To know more about it: #link towards securities page#