NAME#
eldix.cfg - configuration file for program \"eldix\" for the ELDICO electron diffration system
DESCRIPTION#
Program eldix drives the ELDICO electron diffraction system. The program can be configured with one or more configuration files that will be read at program startup. The configuration file follows the convention of Windows \"ini\" files with section names given in [brackets] and keywords and their values separated by the \"equal\" sign (=). All lines starting with # are ignored.
- The program reads configuration files from the following locations in
- the given order (in parenthesis: Windows)
-
\$HOME/.eldix.cfg (%HOME%\\eldix.ini)
- [step]
-
/usr/local/ELDICO/eldix.cfg (%PROGRAMDATA%\\ELDICO\\eldix.ini)
- [step]
-
\$ELDICOHOME/eldix.cfg (%ELDICOHOME%\\eldix.ini)
Entries given in the next available file will override all previous entries. This allows for mixing entries that can be changed by the user with entries set by a system administrator.
Depending on the connected hardware, the program will also read similarly named configuration files for specific hardware with the same variations of names, i.e. by replacing string \"eldix\" by the corresponding string for the hardware. The following hardware uses the following configuration files:
-
E-beam system: ebeam.cfg|ini
-
Octagon system: octagon.cfg|ini Attocube system: attocube.cfg|ini Smaract system: smaract.cfg|ini
The syntax in the configuration file remains the same, so it doesn\'t matter whether entries specific for the E-beam system are listed in eldix.cfg or in ebeam.cfg. Note, though, that in case of a duplicate entry in eldix.cfg and ebeam.cfg, only the one in eldix.cfg is taken. Please note also, that in ebeam.cfg and octagon.cfg only the hardware specific entries will be parsed, not the ones for general program features.
SECTION: [eldix] or [global]#
In section [eldix], the program accepts the following parameters:
- hardware=True|False
-
(De-)Activate use of hardware modules altogether. This is useful, if you want to use eldix standalone as image viewer and/or data processing program but without data collection hardware attached to it.\ Default: hardware=True
- process=True|False
-
(De-)Activate data processing interface in viewer\ Default: process=True
- attocube=True|False
-
(De-)Activate attocube goniometer interface. When active, the program will attempt to read attocube.cfg|ini from the home directory. All hardware-ids should then specified in that configuration file.\ Default: attocube=False
- smaract=True|False
-
(De-)Activate smaract goniometer interface. When active, the program will attempt to read smaract.cfg|ini from the home directory. All hardware-ids should then specified in that configuration file.\ Default: smaract=False
- octagon=True|False
-
(De-)Activate octagon goniometer interface\ Default: octagon=False
- project=PATH
-
Master directory for projects. All data directories will be subdirectories of PATH. If PATH is a valid directory name, at startup the program will present a project selector. If PATH is empty, this feature is turned off. See section PROJECT MANAGEMENT below.\ Default: project=\$HOME/data
- project_uuid=True|False
-
Automatically assign a 4 character universal unique ID to a project.This UUID will be used for naming STEM files.\ Default: project_uuid=True
- powders=FILENAME
-
Provide a filename in json format containing defined d-spacings of powders. The exact format of that json file is described elsewhere.\ Default: powders=
- resizable=True|False
-
(De-)Activate resizing of main window. If resizing is disabled, the user cannot change the size of window.\ Default: resizable=True
- splash=True|False
-
(De-)Activate splash screen at program start\ Default: splash=True
- timer=N
-
The user interface runs an internal timer that updates values in intervals of N milliseconds. The smaller N, the more CPU time the UI will need, but the data update will appear somewhat smoother. It is suggested to not use values smaller than 250.\ Default: timer=1000
- geometry=SIZE
-
By default, program eldix will make use of the height of the screen and choose a suitable width that allows to show square images with the same width and height. You may force the program to choose a certain geometry by giving a single number which will adjust the width and height of the image area to the given value. With option \"geometry=fullscreen\" the program will start in fullscreen mode, i.e. without windows decorations. With option \"geometry=max\" the program will start with the window maximized, i.e. taking as much of the screen as possible.\ Default: geometry=
- thumbnail=SIZE
-
When collecting data, show a thumbnail of images in the log area with a size of SIZE*SIZE pixels\ Default: splash=width of log area/4
- tcp=N
-
Turn on TCP/IP-API on port N. See man page of program \"eldix\" for more details about the TCP/IP-API.\ Default: tcp=0
- http=N
-
Turn on REST API on port N. See man page of program \"eldix\" for more details about the REST API.\ Default: http=0
- browser=NAME
-
In the \"Help\" menu of the GUI, a browser will be called to show the man pages of program eldix and eldix.cfg. Depending on the system, the browser name may very but typical choices are \"firefox\", \"chromium\", \"windows-default\" or \"macosx\". The default system browser is used if not set explicitely or if not available.\ Default: browser=None
- help=True|False
-
When working on wide screens with resolution larger than 2500 pixels (e.g. 4k or QHD), on the right hand side of the GUI there can be an area showing instructions on how to use features of the current page. This feature is enabled by default (help=True) but it can be turned off altogether when help=False is set.\ Default: help=True
- log_versions=N
-
When using FileHandler instead of RotatingFileHandler for keeping several backups of the log files, here is the place to change the amount of backups kept. The most recent one is always eldix.log and eldix.log.M are older ones. The larger M, the older the file.\ Default: log_versions=99
- license=KEY
-
To use certain functions of program eldix, a license key must be provided. License keys are computer specific and not transferable. Please consult ELDICO Scientific for more details.\ Default: license=
SECTION: [fonts]#
Depending on monitor size and resolution, text may sometimes appear too small (on 4k monitors) or too big (on full HD monitors). The fonts used in the program can therefore be adapted, so it fits your preferences. For the proportional font used inside the program (Arial), there are a number of font sizes called xs, tiny, small, medium and large. You may specifiy sizes in points for each of them. Then, there is also a fixed font with a number of font sizes called fixed, fixed8, fixed9, fixed10, fixed11, fixed12, fixed14, fixed16 and fixed18. A integer number on keyword add will add N points to all defined font sizes. The default are as follows:
[fonts]
add=0
xs=10
tiny=12
small=14
medium=16
large=18
fixed=12
fixed8=8
fixed9=9
fixed10=10
fixed11=11
fixed12=12
fixed14=14
fixed16=16
fixed18=18
SECTION: [image]#
In section [image], the program accepts the following parameters:
- box=N
-
Size of integration box around selected pixel when pressing middle mouse button\ Default: box=25
- colors=N
-
N is the amount of colors to be used by the program.\ Default: colors=256
- colorscheme=SCHEME
-
Colorscheme for image: either \'grey\', \'blue\' or \'rainbow\'\ Default: colorscheme=grey
- play_delay=TIME in sec
-
When loading images in play mode, add a delay between subsequent loads.\ Default: play_delay=0
- convert=PROGRAM_NAME
-
If an executable program name is given here, the program at the end of each series of data collection will call that program with all images of the current series as command arguments. The executable program can as well be a shell script that can be edited to fit your needs. A typical usage would be to convert collected images into another format.\ Default: convert=
- pixelsize=(PX,PY)
-
Pixelsize in x and y-direction in mm.\ Default: pixelsize=(0.075,0.075)=NY/2
- center_x|y=CX|CY
-
Pixel x|y-coordinate for center of beam on detector.\ Default: center_x=NX/2 center_y=NY/2
- wavelength=LAMBDA
-
For a fixed wavelength system, set the used wavelength in Angstroem, e.g. 0.02805 for a 160kV electron beam. This value will go into image headers.\ Default: wavelength=1.541789
- distance=DISTANCE
-
For a fixed distance system, set the used distance in mm. This value will go into image headers.\ Default: distance=100.0
- chi=CHI
-
For a fixed CHI system, set the used CHI angle in deg.. This value will go into image headers.\ Default: chi=0.0
- theta=THETA
-
For a fixed THETA system, set the used THETA angle in deg.. This value will go into image headers.\ Default: theta=0.0
- file=NAME
-
NAME of file to load at startup.\ Default: not given
- linewidth=N
-
Width of line in Line window.\ Default: linewidth=1
- minscale=METHOD, maxscale=METHOD, minvalue=N, maxvalue=N, minrange=N
-
For converting image pixels into display colors, the programs distribute a certain amount of colors in equidistant intensity bins between a minimum and maximum pixel value. All pixel values above the maximum are drawn in one color and all values below the minimum in another color. The program computes suitable min. and max. values by analyzing a histogram of pixel intensities. There is a choice of fully automatically determine the initial values (\'auto\') or to provide a fixed value. In the latter case, this value can be an absolute pixel value (\'absolute\'), but it can also be a value relative to the maximum of the histogram (\'relative`). Note, that for enforcing a minimum threshold on the left hand side of the histrogram, a negative relative value will have to be entered. Instead of using absolute or relative values, it is usually better to use a multiple of the full-width-half maximum of the histogram (\'fwhm\'). Suitable values are 3 fwhm for the minimum threshold and 5 to 20 fwhm for the maximum. When providing a positive number for minrange, the max. value computed by the program will become not smaller than min. value + minrange. E.g. if the program determines a color range starting with 100 and ending with 200 but minrange is 256 (default), the ending color will be 100+256=356.\ Example: minscale=fwhm, minvalue=3, maxscale=fwhm, maxvalue=10, minrange=512\ Default: minscale=auto, maxscale=auto, minvalue=-1, maxvalue=-1, minrange=256
- method=METHOD
-
Method for plotting lines: either \'crystal\', \'powder\' or \'texture\'\ Default: method=crystal
- raw=WxH[[BPP]+OFF]
-
Format specification for uncompressed raw data images. For each raw data format you want to support you need to provide details about width (W) and height (H) and (optionally) the number of bytes per pixel (BPP, default: 2-bytes=16 bits) and an optional offset (OFF) in bytes from the start of the file to the beginning of the actual image data that might be used to skip an image header. The total size of the file MUST be OFF+WxH*BPP (in bytes). As an example, to read an image with 2048x2048 pixels with 32-bit integers in each pixel and an image header of 4096 bytes you would specify: raw=2048x2048x4+4096.\ Default: none
- resolution_rings=N|[array of resolutions]
-
Show N resolution rings or rings at resolutions given in an array like [10.0,6.0,3.0,2.0]. If N is 0, no resolution rings will be drawn\ Default: resolution_rings=0
- scaling=METHOD
-
Scaling method for image: either \'linear\', \'square\', \'cubic\', \'fwhm\', \'radial\' or \'logarithmic\'\ Default: scaling=linear
- spots=METHOD
-
For detectors with very small smearing (e.g. flat panels and pixel detectors), diffraction spots may be very small and comprise only a single pixel. It then becomes difficult to see those spots in an image. To make them more visible, a method can be provided to make the spots appear bigger than they actually are. Generally speaking, pixels drawn in black will be painted with either one additional black neighbour (spots=small) or 2 additional black neighbours (spots=tiny) on each side.\ Default: spots=normal
SECTION: [auth]#
Section [auth] defines user authentication details. The section may contain the following keyworded lines:
- policy=none|relaxed|strcit
-
With policy set to \"none\" (default), no user authentication is required to run the program. All functions are accessible. With policy \"relaxed\", only authenticated users may change the status of the system like changing the power of the ebeam-system. Unauthenticated users may only see status information but cannot interact. With policy \"strict\", a user must give username and password in order to use the program at all.\ Default: policy=none
- user=USERNAME
-
Specifies a single single username who may use the program.\ Default: empty
- password=PASSWORD
-
Specifies the password for a single user. It is STRONGLY DISCOURAGED to use a clear text password but nevertheless possible. It is highly recommended to rather use a password hash, i.e. a password that has been digested by an encryption algorithm. This password hash is not the actual password and therefore safe to use. The program makes use of the hashing algorithms implemented in the Apache web server. Command line utilities like \'htpasswd\' will produce a valid password hash out of a secret password. Likewise, the internet provides online tools to generate password hashes. Please note, that only the following encryption algorithms can be used: \"apr1\", \"md5\", \"sha1\", \"sha256\", \"sha512\" and \"des\". A typical entry would look like:\ password=\$apr1\$nK4/FNVY\$9VIUw.j8ez3pecAkeMMUh0\ Default: empty
- db=database
-
Specifies the name of a database with combinations of username and password hashes in the same way as a htpasswd-like databases for web browsers. All users given in the database will be used to check for password checks in program \"eldix\" . A typical entry for username \"eldix\" and password \"eldix\" encrypted with \"apr1\" looks like:\ eldix:\$apr1\$nK4/FNVY\$9VIUw.j8ez3pecAkeMMUh0
When using a database, it is possible to assign role to individual users, but only if the user policy is set to \"strict\". The user role must be appended to the hashed password using a colon \':\' followed by a role string or digit. The following roles are implemented (digits in parentheses):
-
General (0) - Unrestricted access to all functions
-
Major (1) - Access to hardware interface for typical user functions related to sample handling and data collection. No access to critical hardware functions. Full access to data processing interface.
-
Sergeant (2) - Access to hardware interface only for monitoring, no interaction, not even data collection. Full access to data processing interface.
-
Private (3) - No access to hardware. Full access to data processing interface only.
The default role is \"Major\". A typical line in the user interface for a \"General\" would look like:\ general:\$apr1\$nK4/FNVY\$9VIUw.j8ez3pecAkeMMUh0:General
The easiest way to manage users in the user database is to use program \"eldixusers\". This program comes with a graphical interface that allows for adding, changing and deleting users from the database. Please see the man page for eldixusers for more details.
SECTION: [process]#
Section [process] defines details for the use of the data processing interface offered by the program. The section may contain the following keyworded lines:
- dials=True|False
-
Use DIALS processing.\ Default: dials=True
- drawspots=STRING
-
This controls the way how spots are drawn as overlay on a diffraction image. Choices are \"rich\" or \"normal\".\ Default: drawspots=rich
- fulls=(r,g,b)
-
Sets the color of fully recorded spots as triplet of RGB values\ Default: fulls=(0,140,255) (lightblue)
- partials=(r,g,b)
-
Sets the color of partially recorded spots as triplet of RGB values\ Default: partials=(255,140,0) (gold)
- recent=N
-
Show N recent project in menu Process - Recent Projects\ Default: recent=10
- solve={\'NAME\':\'PATH\'}
-
Use program NAME for solving structure. If NAME is not included in the default program execution path, a PATH will have to be given to start the program. By defauult, PATH is empty and eldix expects the program to be callable without giving the full path name.\ Default: solve={\'olex2\':\'\'}
SECTION: [ui]#
Section [ui] provides a way to customize some components of the graphical user interface. Currently, it only supports styling the LCD widgets with the positions of the goniometer motors. Those widget are shown in the goniometer and STEM pages. You may provide json files containing some formatting instructions, in particular the font sizes to be used by the program. Defaults are taken from the program distribution. The section may contain the following keyworded lines:
- lcd_goniometer=FULLPATH
-
Provide the full path name of the json file for styling the LCD widgets on the goniometer page.\ Default: lcd_goniometer=
- lcd_stem=FULLPATH
-
Provide the full path name of the json file for styling the LCD widgets on the STEM page.\ Default: lcd_stem=
SECTION: [detector]#
Section [detector] defines details for the use of a detector by the program. The section may contain the following keyworded lines:
- host=NAME[:PORT]
-
Hostname and optional port number to connect to. Dectris ELA/QUADRO detectors should be 10.42.41.10 and port number should be 80\ Default: host=None
- id=STRING
-
The string given here will go into the keyword detector_number of the cbf data files produced by the program\ Default: id=Eiger
- type=\"eiger\"
-
Type of detector in use. Currently only \"eiger\"\ Default: type=\"eiger\"
- zmq=PORT
-
Port number for streaming interface of Dectris detectors. Should be 9999.\ Default: zmq=9999
- api=a.b.c
-
Dectris EIGER API in use. In 2021 supposedly 1.8.0. This might change with a firmware upgrade on the detector.\ Default: api=1.8.0
- pixelsize=MM
-
Pixelsize of the detector in use. Default is 75 microns for Eiger detectors.\ Default: pixelsize=0.075
- pixels=[x,y]
-
Number of pixels in x and y-direction of the detector in use. Default is [2068,2162] for EIGER2 4M detectors.\ Default: pixels=[2068,2162]
- gui=True|False
-
Normal use of the program is to offer a GUI for driving the detector. It is possible, though, to operate the program via the TCP/IP or REST API without a need for providing an interface for the data collection. This can therefore be turned off by setting gui=False\ Default: True
SECTION: [ebeam]#
Section [ebeam] defines details for the use of the E-beam system by the program. The section may contain the following keyworded lines:
- host=NAME[:PORT]
-
Hostname and optional port number the E-beam controller is listening to. Example: host=ebeam:4944\ Default: ebeam_host=None
- paramsets=N
-
The E-beam system can have several settings for the electron lenses yielding different beam sizes.\ Default: paramsets=5
- default_set=N
-
The E-beam system can have several settings for the electron lenses yielding different beam sizes. The default set is the one that will be used for switching to stem and diffraction modes.\ Default: default_set=\"\"
- diffractioncmd=NAME
-
Actual name of the state \'diffraction\' of the E-beam system.\ Default: diffractioncmd=_diffraction
- oncmd=NAME
-
Actual name of the state \'on\' of the E-beam system.\ Default: oncmd=_on
- stemcmd=NAME
-
Actual name of the stem state of the E-beam system. For the time being, the name of operation state STEM in the E-beam system is called \"_stem\".\ Default: stemcmd=_stem
- lenscmd=NAME
-
Actual name of the state \'lenshysteresisreset\' of the E-beam system.\ Default: lenscmd=_lenshysteresisreset
- largebeamcmd=NAME
-
Actual name of the state \'diffraction\' for a large beam of the E-beam system. There are 5 beam modes that have different settings for the electron lenses.\ Default: largebeamcmd=_diffraction4
- emission_stabilization_time=MS
-
The time it takes for a change of emission current to become stable. The units are milliseconds\ Default: emission_stabilization_time=5000
- emission_tolerance=P
-
When starting a data collection allow variations of P percent from given target to start a data collection. If deviations are larger, send an instruction to the E-beam system to change the emission current.\ Default: emission_tolerance=2.0
- errors_until_restart=N
-
It happens occasionally, that the E-beam system does not respond to commands any more. If the program consecutively fails N times to send a command to the E-beam system, the program will try to restart the E-beam system by sending a special instructions. This behaviour can be turned off by giving a number N \<= 0.\ Default: errors_until_restart=10
- largebeam_cycles=N
-
A data collection may be carried out with a larger beam. When switching to large beam mode, the E-beam system needs a certain procedure to obtain a stable beam by switching several times from diffraction to stem mode. The number of cycles can be adjusted\ Default: largebeam_cycles=5
- largebeam_wait=X
-
At the end of the switching cycles for the large beam mode, wait X seconds before proceeding with data collection.\ Default: largebeam_wait=10.0
- largebeam_center=[X,Y]
-
The larger beam will come with a beam center that differs from normal beam mode. Enter X,Y coordinates here.\ Default: largebeam_center=[X,Y] from normal beam
SECTION: [stem]#
For the E-beam system, the program will also accept a section that configures the way STEM-images are produced, in particular limits for the field of view and resolution of the STEM-pictures. A typical section would look like this:
[stem]
um2ma=0.00072681
prescan=10000
blank_timeout=1000.
fov=10.0
fovmenu=["5","10","25","50","75","100","150","200","400"]
xmin=-0.15
xmax=0.15
ymin=-0.15
ymax=0.15
brightness=5.0
contrast=1.7
pixels=400
rows=0
columns=0
gain=3
format=tiff
ascii=False
stemdir=/home/eldix/stem
stemplot=
datadir=
palette=rainbow
series_n=1
series_fov=10
series_dphi=10.0
series_phi=-60.0
series_pixels=400
prealign_fov=10
prealign_phi=1.0
prealign_pixels=400
dx=[0.99,0.0638]
dz=[0.99,0.0638]
dy=[1.062,0.043]
grid_x=3
grid_y=3
grid_overlap=20
map_fovgrid=400
map_fovmesh=75
map_fovparticle=10
- xmin|ymin|xmax|ymax=val
-
Min. and max. limits for the movements in x and y of the STEM scan that define the field of view. The unit is microns. Values given here may be modified in the GUI.\ Default: xmin=-0.15, ymin=-0.15, xmax=0.15, ymax=0.15
- um2ma=X
-
For STEM image creation the electron beam needs a conversion factor to convert ranges of micrometers into milliAmps. This conversion factor is instrument specific and needs to be calibrated.\ Default: um2ma=0.00072681
- prescan=N
-
Another cryptic value used for generation of STEM images. Don\'t touch.\ Default: prescan=10000
- fovmenu=[array of integers]
-
Sets menu choices for field-of-view parameters in STEM images.\ Default: fovmenu=[5,10,25,50,75,100,150,200,400]
- format=FORMAT
-
Output format of STEM images. Can be \".report\" files which are plain ASCII files with e.g. 400 x 400 values. The better alternative is to use \"tiff\" as format.\ Default: format=tiff
- pixels|rows|colums=N
-
Number of pixels in x (columns) and y (rows) for a STEM scan. Values may be modified in the GUI. For the time being, STEM images should have x=y. It is sufficient to only specify pixels=N. The values for rows and columns will then be set to N\ Default: pixels=400, rows=pixels, columns=pixels
- brightness|contrast=val
-
Brightness and contrast parameters for STEM scan. The unit is dimensionless. The range of values is from 0 to 5.0.\ Default: brightness=5.0, contrast=1.7
- gain=val
-
Gain parameter for STEM scan. The unit is dimensionless. The value is an integer between 0 and 7. Low emission might need 4 or 5, default is 3.\ Default: gain=3
- ascii=True|False
-
The E-beam system may transfer the STEM-picture as binary data or as ASCII data. The user shouldn\'t care, but large scans would usually benefit from a binary transfer.\ Default: ascii=False
- stemdir=path
-
Path to store the STEM data. STEM data are stored as a sequence of columns*rows pixel values as digitized by either the bright field or dark field detector. The STEM data can be viewed a 2D images with appropriate software and can be loaded into the GUI in the foreseen window to display STEM data. If no directory is given, STEM data will be saved in the directory where the GUI has been started.\ Default: stemdir=None
- stemplot=COMMAND
-
Additional COMMAND to run when calling option \"Plot series\" from the Stem menu, typically just command \"stemplot\". The default is not to use an additional command.
- datadir=path
-
After data collection all STEM images in stemdir (see above) will be moved to the current data collection directory (datadir=.) or a subdirectory of it (e.g. datadir=stem). If the keyword is missing altogether, no STEM images will be moved from stemdir\ Default: datadir missing, i.e. STEM\'s will not be moved
- palette=string
-
Default color scheme to be used for showing STEM images. The color palette can be modified in the window showing STEM images. A number of color palettes are predefined, but more could be added. Currently the program supports the following choices: grey, autumn, bone, jet, winter, rainbow, ocean, summer, spring, cool, hsv, pink, hot, parula, magma, inferno, plasma, viridis, cividis, twilight, twilightshifted, turbo and deepgreen.\ Default: None
- series_n=N
-
When collecting a series of STEM images, define the default value here. This is the amount of STEM images taken when doing a series. Once modified in the GUI, the modified values will be stored and reloaded at next startup of the program.\ Default: series_n=1
- series_fov=N
-
Field of view in microns for a series of STEMs.\ Default: series_fov=10
- series_pixels=N
-
Amount of pixels in x&y when collecting a series of STEMs.\ Default: series_pixels=400
- series_phi=PHI
-
Starting PHI angle for a series of STEMs.\ Default: series_phi=-60.0
- series_dphi=DPHI
-
PHI movement inbetween 2 STEMS in a series of STEMs.\ Default: series_dphi=10.0
- prealign_fov=N
-
Field of view in microns for the prealignment procedure.\ Default: prealign_fov=10
- prealign_phi=PHI
-
The first STEM in the prealignment procedure will always be shot at PHI=0.0. The value given here is the PHI position for the second shot. It should be close to 0.0 but can also be larger. If the mounted sample is pretty much out of focus, even a small movement of PHI will move the sample out of the field of view.\ Default: prealign_phi=1.0
- grid_x|y=N
-
Set defaults for number of STEM\'s to take when using the Grid tool\ Default: grid_x|y=3
- grid_overlap=PERCENT
-
Set percentage of overlap when using the Grid tool\ Default: grid_overap=20
- map_fovgrid=FOV
-
When using the Map tool, set field-of-view when shooting overviews of the grid\ Default: map_fovgrid=400
- map_fovmesh=FOV
-
When using the Map tool, set field-of-view after a mesh has been selected.\ Default: map_fovmesh=75
- map_fovparticle=FOV
-
When using the Map tool, set field-of-view after a particle has been selected inside a mesh.\ Default: map_fovparticle=10
- map_meshes=N
-
When using the Map tool, set default for the maximum number of meshes to be selected for mapping.\ Default: map_meshes=All
- map_particles=N
-
When using the Map tool, set default for the maximum number of particles inside a mesh to be selected for mapping.\ Default: map_particles=All
- map_refine_z_at=PHI
-
When using automatic mapping, a SAMPLE:Z refinement may be required in addition to x,y refinements. By default, in automatic data collection mode, a centering of a particle will be done for x,y at PHI=0.0. If a non-zero value is given here, the goniometer will drive to PHI and determine a z-correction from a STEM image taken at PHI. This is done as the last step before starting a data collection. Instead of given a numeric value for PHI, when giving argument map_refine_z_at=start, the goniometer will drive to the starting value for the next data collection and derive the z-correction from there.\ Default: map_refine_z_at=0.0
- map_max_shift_z=X
-
When the computed shift in Z exceeds X um, ignore the movement.\ Default: map_max_shift_z=20.0
SECTION: [octagon]#
Section [octagon] defines details for the use of the Octagon goniometer system by the program. The section may contain the following keyworded lines:
- activate=True|False
-
With the Attocube goniometer, automatically activate the motors on startup.\ Default: activate=True
- activate=True|False
-
With the Attocube goniometer, automatically deactivate the motors on leaving the program. The motors may produce heat while being activated, so it might be useful to deactivate the motors if the program exits.\ Default: deactivate=False
- camera=N
-
Index of video device to use for displaying a video stream on the E-beam page in the notebook. If missing or set to None, no camera subpage will be present. If the system has 1 video device N should be 0. If the camera is of type TIS, use camera=tis:0 (see below). In the octagon section, you can also use the keywords width, height, scale, brightness, contrast, exposure, gain, colormode, and origin as described below in the section [camera].\ Default: camera=None
- simulator=HOSTNAME|True|False
-
Turn simulator on or off for the given type of hardware (Attocube, Smaract, Octagon). The simulator behaves pretty much the same as real hardware.\ Default: simulator=False
- y-lookup=filename
-
When a filename is given, the program will load a lookup table containing corrections for the movement of OCT:GONIO:Y. The way how it works is explained elsewhere. This correction is only available for the goniometer based on SmarAct motors.\ Default: y-lookup=
- phi-lookup=filename
-
When a filename is given, the program will load a lookup table containing corrections for the movement of OCT:GONIO:PHI. The way how it works is explained elsewhere.\ Default: phi-lookup=
- goniox-lookup=filename
-
When a filename is given, the program will load a lookup table containing corrections for the movement of OCT:GONIO:X. The way how it works is explained elsewhere. This correction is only available for the Attocube goniometer.\ Default: goniox-lookup=
- gonioy-lookup=filename
-
When a filename is given, the program will load a lookup table containing corrections for the movement of OCT:GONIO:Y. The way how it works is explained elsewhere. This correction is only available for the Attocube goniometer.\ Default: gonioy-lookup=
- rotation_compensation=True|False
-
With the Attocube goniometer it is possible to dynamically apply corrections to OCT:GONIO:X and OCT:GONIO:Z motors depending on the position of OCT:GONIO:PHI. For this to work, a lookup table must have been recorded. The corrections will keep the sample better centered while moving the PHI axis.\ Default: rotation_compensation=False
- stemin_cmd=COMMAND, stemout_cmd=COMMAND, stemstate_cmd=COMMAND
-
The Attocube goniometer does not operate the STEM detector detector directly. To drive the STEM detector in and out of the electron beam, external commands are being used. A typical command to drive the detector into its detection position would look like \"stemcmd -i\" and for driving it out of that position \"stemcmd -o\". To obtain the current position (IN or OUT), the stemstate_cmd is being used.\ Default: stemin/out/state_cmd=
- transfer_wait=True|False
-
When starting transfer, drive motors either simultaneously (transfer_wait=False) or sequentially one after each other (transfer_wait=True).\ Default: transfer_wait=False
SECTION: [hardware-ids]#
For the goniometer, the program will accept a number of sections that carry an ID string describing the related hardware, e.g. [OCT:GONIO:PHI] or [OCT:GONIO:X]. Each section will contain hardware specific configuration values that should not be changed. A typical section would look like this:
[OCT:GONIO:PHI]
channel=2
name=Phi
units=deg.
precision=3
min_speed=0.2
max_speed=2.0
default_speed=2.0
upper_ctrl_limit=580.
lower_ctrl_limit=-220.
transfer=0.0
hz=600
amplitude=30
direction=1
mouse_direction=1
sleep_in_transfer=true
The following specifiers are available for Attocube motors: host, name, channel, type, units, precision, upper_ctrl_limit, lower_ctrl_limit, min_speed, max_speed, default_speed, hz, amplitude, move_on_click, position_in, position_out, transfer, transfer_start, mouse_direction, vel2hz, backlash, direction, sleep_in_transfer, add2position.
The following specifiers are available for Smaract motors: device, name, use, channel, type, mode, module, units, precision, upper_ctrl_limit, lower_ctrl_limit, min_speed, max_speed, default_speed, ref_speed, move_on_click, transfer, transfer_start, mouse_direction, backlash, direction, acceleration sleep_in_transfer, add2position.
The following specifiers are available for Octagon motors: name, use, channel, type, units, precision, upper_ctrl_limit, lower_ctrl_limit, min_speed, max_speed, default_speed, pixels2mm, move_on_click, transfer, position_in, position_out
SECTION: [cameraX]#
The program supports video frame grabbers (USB, PCI, PCIe) that produce a video stream from a connected camera. It also support TIS-cameras as manufactured by \"The Imaging Source\". These cameras come with a special software interface (see below). The program also supports IP cameras or server program that transmit image data via TCP/IP. The program may connect to a given host name and port. If successful, it expects entire images to be sent as greyscale (1 byte per pixel) or RGB images (3 bytes per pixel). The result will be displayed on an additional window that can be opened under menu \"File -> Camera\" or by typing CTRL+m on the keyboard. If no camera ID or host and port is given, the option \"Camera\" is not available in the file menu. The X in the section name should be an integer value. You can thus define multiple camera sections, if multiple cameras are present in the system. If there is more than 1 camera, you will see them on different tabs of the Camera window. The section may contain the following keyworded lines:
- name=NAME
-
A meaningfule name that will be shown on the tab header of the camera window. Otherwise, this keyword has no further function.
- camera|device=N
-
Index of video device to use for displaying a video stream on the E-beam page in the notebook. If missing or set to None, no camera page will be present in the Camera window. If the system has 1 video device N should be 0. For TIS-cameras, you will have to use something like: camera=tis:XXX where XXX is the serial number of that device. If it is unknown, just provide camera=tis:0. A serial number is required only if there are multiple TIS-cameras connected to the system. If the value is set to \"ignore\", the camera will not be used upon program start.\ Default: device=ignore
- host=NAME[:PORT]
-
Hostname and optional port number to connect to. The default port is 80. If no hostname is given, there will be no page for IP-cameras in the Camera window. Example: host=camera:4567\ Default: host=None
- pixels=NXxNY[xBPP]
-
NX is the horizontal number of pixels, NY is the vertical number. BPP is the number of bytes per pixel and defaults to 1 (greys). For RGB data, use 3.\ Example: pixels=576x720x3\ Default: pixels=576x720x1
- fps=N
-
N is the number of frames per second. This applies to TIS cameras only which provide a variety of operation modes with different resolutions and FPS rates. The default is 15 and should work for all cameras.\ Example: fps=15
\ origin=CX,CY CX,CY are pixel coordinates with respect to the lower left corner of the video frame. A small cross is painted as overlay on the video frames at the given coordinates CX and CY. The coordinates should mark the intersection of the beam with the goniometer rotation axis, i.e. the center of the sample. When doing point-and-click centering all motions will be calculated using [CX,CY] and the coordinates of the point that has been clicked inside the video frame. See section SAMPLE CENTERING in eldix(1).\ Default: origin=321,239\ Default: origin=video_width/2, video_height/2
- brightness|contrast|exposure|gain=[default,min,max]
-
Settings for adjusting the visual appearance of the video stream. Typical values could be [50,0,100], i.e. setting the range of adjustment from 0 to 100 and the default to 50.\ Default: brightness=[50,0,100] etc.
- colormode=grey|colors
-
This applies only to TIS camera. The cameras can be operated as color cameras or with greys only. Unless explicitely given as grey, colors are tried.\ Default: colormode=colors
SECTION: [report]#
Section [report] defines details for generating data collection reports. Please consult man pages for ed1report for options. Program option will accept all configuration options from this program.
EXAMPLE#
A typical configuration file eldix.cfg looks like:
[eldix]
browser=None
process=True
octagon=False
attocube=True
smaract=True
project=/home/eldico/data
splash=True
http=0
tcp=0
thumbnail=600
help=True
geometry=1024
resizable=True
powders=
license=
[fonts]
xs=10
tiny=12
small=14
medium=16
large=18
fixed=12
fixed8=8
fixed9=9
fixed10=10
fixed11=11
fixed12=12
fixed14=14
fixed16=16
fixed18=18
[camera0]
camera=0
name=-DFK_33GX264E
device=tis:06120046
origin=960,540
fps=15
width=1920
height=1080
scale=0.5
brightness=[64,0,100]
contrast=[55,0,100]
colormode=colors
[image]
wavelength=0.02805
distance=745.78
colors=256
box=25
colorscheme=grey
linewidth=1
scaling=linear
minscale=fwhm
minvalue=3
maxscale=fwhm
minrange=256
maxvalue=10
method=crystal
spots=normal
raw=512x512x4 1024x1024x4
resolution_rings=[5.0,3.0,2.0,1.5,1.3,1.15,1.0,0.9,0.8]
wavelength=0.028510
distance=578.3
center_x=279.4
center_y=280.1
chi=267.0
convert=imgcvt -T direct
[auth]
#policy=strict
policy=none
user=eldix
password=$apr1$nK4/FNVY$9VIUw.j8ez3pecAkeMMUh0
#db=/usr/local/ELDICO/users.db
[ebeam]
host=ebeam:4944
stemcmd=_stem
diffractioncmd=_diffraction
oncmd=_on
[detector]
id=Quadro
host=quadro:80
zmq=9999
api=1.8.0
pixels=[512,512]
pixelsize=0.075
[stem]
prescan=10000
um2ma=0.00072681
yscale=1.13
pixels=400
fov=10.0
palette=twilightshifted
ascii=False
stemdir=/home/eldico/data/stem
series_n=1
series_dphi=5.0
series_phi=-5.0
series_fov=10
stemdir=/home/eldico/data/stem
datasubdir=stem
[process]
dials=True
spotsize=12
drawspots=rich
fulls=(255,0,140)
partials=(255,165,0)
[report]
command=ed1report
json=False
SEE ALSO#
eldix, eldix.log, eldixusers
AUTHOR#
Claudio Klein
COPYRIGHT#
© Copyright 2025, ELDICO Scientific AG, Switzerland
ADDRESS#
_
ELDICO Scientific AG Phone: +41 - 763020303
Switzerland Innovation Park info@eldico.ch
Hegenheimermattweg 167 A www.eldico.ch
CH-4123 Allschwil Switzerland
_