1.	General Information	1-1

1.1	Program Overview	1-1

1.2	Environment Variables (Logical Names)	1-2

1.3	Startup Command Qualifiers	1-4

1.4	SAXS Startup Behavior	1-5

1.5	Dialog Box and Keyboard Conventions	1-5

1.6	SAXS Directory Organization	1-7

1.7	Frame Indexes	1-8

1.8	Special Symbols	1-8

2.	Project Management Routines	2-1

2.1	Project  > Switch  •   Change to a different, existing project	2-1

2.2	Project  > Load  •  Load a configuration file and create a new project	2-2

2.3	Project  > New  •  Create a new project from scratch	2-2

2.4	Project  > Copy  •  Copy the current project to a new project	2-4

2.5	Project  > Edit  •  Edit the current project settings	2-4

2.6	Project  > Backup  •  Backup all files in the specified project’s directories	2-5

2.7	Project  > Remove  •  Remove a project from the project database	2-5

2.8	Project > Delete  •  Delete all project files and remove from project database	2-6

2.9	Project > Overwrite defaults  •  Overwrite the default configuration with the current settings	2-6

2.10	Project > Exit  •  Leave program and return to operating system	2-7

3.	File Routines	3-1

3.1	File > Display > Open  •  Display a detector frame on the screen	3-1

3.2	File > Display > Next  &  File > Display > Previous  •  Display next/previous frame in this series	3-3

3.3	File > Display > Movie+    &    File > Display > Movie-  •  Repeatedly display next/previous frame until key is pressed	3-4

3.4	File > Load  •  Read a frame from disk into frame accumulation memory	3-4

3.5	File > Save  •  Save a new detector frame to a disk file	3-6

3.6	File > Display > 3D Display  •  Redisplay current frame as 3D surface plot.	3-7

3.7	File > Logfile  •  Create a new log file and start recording	3-8

3.8	File > Scriptfile  •  Create a new script file and start recording	3-9

3.9	File > Print  •  Dump screen to printer device or file	3-10

4.	Edit Routines	4-1

4.1	Edit > Configure > User settings  •  Edit the current user configuration settings	4-1

4.2	Edit > Configure > Admin settings  •  View/edit the current administrator configuration settings	4-3

4.3	Edit > Configure > Read  •  Read a new configuration from a disk file	4-5

4.4	Edit > Configure > Write  •  Save the current configuration to a disk file	4-5

4.5	Edit > Configure > Show model  •  Display the current goniometer and controller type	4-6

4.6	Edit > Configure > Colors  •  Edit the current color configuration settings	4-6

4.7	Edit > Clear  •  Erase the data array and/or the display screen	4-8

4.8	Edit > Contrast  •  Change the screen brightness and contrast	4-9

4.9	Edit > Zoom  •  Magnify a specified square area on the display	4-9

4.10	Edit > Frame info  •  View a frame header	4-10

5.	Collect Routines	5-1

5.1	Collect > Detector > Cu bias  •  Set PDC to Cu (low) bias setting	5-1

5.2	Collect > Detector > Fe Bias  •  Set PDC to Fe (high) bias setting	5-1

5.3	Collect > Detector > Y vs X  •  Set PDC for normal positional display	5-1

5.4	Collect > Detector > E vs E  •  Set PDC for energy versus energy for bias calibration	5-2

5.5	Collect > Detector > Add  •  Accumulate a frame with temporary linear flood field	5-2

5.6	Collect > Detector > Reset  •  Reset to x-position vs. y-position, Cu bias	5-3

5.7	Collect > Detector > X-E vs X  •  Set PDC for X preamp calibration	5-4

5.8	Collect > Detector > Y-E vs X  •  Set PDC for Y preamp calibration	5-4

5.9	Collect > Detector > Custom  •  Enter values to be loaded into PDC setup registers	5-4

5.10	Collect > Goniometer > Drive  •  Move goniometer axes to specified positions	5-5

5.11	Collect > Goniometer > Manual  •  Control goniometer from manual box	5-5

5.12	Collect > Goniometer > Update  •  Enter observed goniometer angles	5-7

5.13	Collect > Goniometer > Limits  •  Enter software collision limits	5-7

5.14	Collect > Goniometer > Speeds  •  Enter slew drive speeds of axes	5-8

5.15	Collect > Goniometer > Attenuator  •  Insert/remove attenuator	5-8

5.16	Collect > Goniometer > Shutter  •  Open/close x-ray shutter	5-9

5.17	Collect > Goniometer > Generator  •  Control the high voltage generator: kv & ma settings	5-9

5.18	Collect > Goniometer > Home axis  •  Home goniometer axis	5-10

5.19	Collect > Goniometer > Temperature  •  TCU-50 Temperature Controller	5-11

5.20	Collect > Goniometer > Encoders  •  Adjust encoder zero offsets	5-11

5.21	Collect > Scan > SingleRun  •  Perform a single scan series – Resume an interrupted SingleRun	5-12

5.22	Collect > Scan > EditRuns  •  Edit parameters for MultiRun scans	5-14

5.23	Collect > Scan > MultiRun  •  Perform several series, as setup in the EditRuns form	5-16

5.24	Collect > Scan > Radiography  •  Set up grid and collect radiography image	5-17

5.25	Collect > Scan > AcceptTargets  •  Toggle mode to accept targets from radiography program	5-18

5.26	Collect > Scan > EditTargets  •  Edit parameters for MultiTarget scans	5-19

5.27	Collect > Scan > MultiTargets  •  Perform same scans on multiple targets on a single sample	5-20

5.28	Collect > Add  •  Accumulate an area detector frame (Still frame)	5-22

5.29	Collect > Shutter  •  Open/close X-ray beam shutter	5-23

6.	Process Routines	6-1

6.1	Process > Flood > New  •  Acquire data to generate new flood-field correction	6-1

6.2	Process > Flood > Load  •  Install a disk-resident flood-field correction table	6-3

6.3	Process > Flood > Reprocess  •  Generate a new table from previous projection data (on disk)	6-4

6.4	Process > Flood > Linear  •  Reset to linear table (i.e., no correction)	6-5

6.5	Process > Spatial > New  •  Acquire data and generate a new spatial correction	6-5

6.6	Process > Spatial > Load  •  Install a disk-resident spatial correction	6-8

6.7	Process > Spatial > Linear  •  Revert to linear table (i.e. no correction)	6-9

6.8	Process > Spatial > Process  •  Compute correction from current LOADed brass plate frame	6-9

6.9	Process > Spatial > Unwarp  •  Apply spatial correction and write unwarped output frame(s)	6-11

6.10	Process > LPA	6-12

6.11	Process > Smooth > Average  •  Smooth image with 3x3 boxcar average filter	6-13

6.12	Process > Smooth > Median  •  Smooth image with 3x3 median filter	6-14

6.13	Process > Smooth > Convolve  •  Smooth image by convolving with average neighborhood	6-14

6.14	Process > Calibrate  •  Calibrate detector distance, angle and center using a known standard	6-14

7.	Analyze Routines	7-1

7.1	Analyze > Cursors > Box  •  Display statistics of pixels in rectangular region	7-1

7.2	Analyze > Cursors > Circle  •  Display position and size of circular cursor	7-3

7.3	Analyze > Cursors > Pixel  •  Show pixel positions and values in displayed frame	7-4

7.4	Analyze > Cursors > Vector  •  Measure distances on displayed frame	7-6

7.5	Analyze > Cursors > Conic  •  Display constant two-theta conic lines	7-7

7.6	Analyze > Cursors > Rbox  •  Display statistics of pixels in rotated rectangular region	7-8

7.7	Analyze > Graph > File  •  Plot points from ASCII disk file	7-10

7.8	Analyze > Graph > Vector  •  Plot profile along vector in displayed frame	7-11

7.9	Analyze > Graph > Poster  •  Interactively annotate displayed graph or frame	7-13

7.10	Analyze > Transmission  •  Calculate transmission value for sample.	7-16

7.11	Analyze > Background  •  Perform pixel by pixel background correction.	7-16

8.	Peaks Routines	8-1

8.1	Peaks > Mask > Create  •  Create a new active pixel mask for this frame	8-1

8.2	Peaks > Mask > Save  •  Save active pixel mask to disk file	8-1

8.3	Peaks > Mask > Read  •  Read active pixel mask from disk file	8-1

8.4	Peaks > Mask > View  •  View active pixel mask on screen	8-2

8.5	Peaks > Mask > Octagon  •  Alternate active pixel mask using octagon region	8-2

8.6	Peaks > Integrate > Chi  •  Perform chi integration in conic region -> F(2T)	8-3

8.7	Peaks > Integrate > 2Theta  •  Perform 2theta integration in conic region -> F(chi)	8-4

8.8	Peaks > Integrate > Area  •  Perform area integration in conic region -> integer	8-5

8.9	Peaks > Integrate > Pixel  • Perform pixel integration in rectangular region -> F(pixel)	8-5

8.10	Peaks > Integrate > Write  •  Write integration results to disk file	8-6

8.11	Peaks > Integrate > Clear  •  Clear graph on top of image	8-7

8.12	Peaks > Integrate > Rectangle  •  Perform rectangle integration for detector testing	8-7

8.13	Peaks > Plots > Plot; Plotting of 1D spectra with selected axes.	8-8

8.14	Peaks > Plots > Zoom; Select new axes and replot.	8-9

8.15	Peaks > Plots > Baseline; Baseline removal on displayed trace.	8-9

8.16	Peaks > Plots > Smooth; Savitzky-Golay smoothing algorithm.	8-10

8.17	Peaks > Plots > LeastSQ; Linear least-squares to obatin slope and intercept.	8-11

8.18	Peaks > Plots > Subtract; Subtract out linear fit.	8-11

8.19	Peaks > Plots > Write; Write current data to output file.	8-11

8.20	Peaks > Plots > Export; Export current data to ASCII file using current scales.	8-12

9.	Special Routines	9-14

9.1	Special > Commandmode  •  Switch between command line and menu mode	9-14

9.2	Special > System  •  Suspend program and invoke the Command Prompt processor	9-14

9.3	Special > Spawn PROFILEplus  •  Spawn PROFILEplus (or TOPAS P) with current spectra	9-15

9.4	Special > Redraw  •  Re-draw current screen, e.g., if corrupted by window manager	9-15

9.5	Special > Level 1,    Special > Level 2,    &    Special > Level 3  •  Switch to simple, advanced, or administrator menu interface	9-16

10.	User Task Routines	10-1

10.1	User > *  •  Execute User task	10-1

11.	Help Routines	11-1

11.1	Help > Software reference  •  Display Software Reference on-line documentation	11-1

11.2	Help > User’s guide  •  Display User’s Manual on-line documentation	11-1

11.3	Help > About  •  Display program, trademark, copyright, and license information	11-1

12.	SLAM Routines	12-1

12.1	Echo	12-1

12.2	Menumode	12-1

12.3	Quit	12-2

12.4	Ratemeter	12-2

12.5	Video/Live	12-2

12.6	Video/Freeze	12-2

12.7	Wait	12-3

12.8	! (comment)	12-3

12.9	@ (execute script file)	12-3

13.	Utility Programs	13-1

13.1	FrmFix (FRaMe header FIX-up utility)	13-1

13.2	Frm2Frm (FRaMe to FRaMe file format conversion utility)	13-2

13.3	Plotso	13-3

13.4	Prbatch  •  Profile fitting in batch mode utility	13-5

13.5	PVWave  •  Precision Visual’s Wave procedures	13-5

13.6	Raw2Raw  •  RAW to RAW file format conversion utility	13-7

13.7	SAXAD.SYS  •  Bruker HISTAR NT Driver	13-8

13.8	SaxHelp  •  Bruker help topic display utility	13-10

Appendix A.	Area Detector Frame Format	1

Appendix B.	DIFFRACplus Raw Data File Format	1

Appendix C.	DIFFRAC-AT Raw Data File Format	1

Appendix D.	PLOTSO Raw Data File Format	1

Appendix E.	RAD Data File Format	1

Appendix F.	SLAM Command Reference	1


1.	General Information

The SAXS Software Reference Manual is designed to supplement the SAS User’s Manual and the SAXS Administrator’s Manual. Information already contained in these manuals is not duplicated here.

See the SAXS User’s Manual for:

•	General descriptions of the instrument: stages, generator, etc.

•	General operation of the instrument: power-up, operation, shut-down, etc.

•	Theory of analysis.

•	Geometry conventions.

•	Typical applications of SAXS to solve common scattering problems.

See the SAXS Administrator’s Manual for:

•	Pre-installation, installation, alignment, and calibration instructions.

•	Flood-field, spatial, and beam center instructions.

•	Software installation and release notes.

•	Software customization instructions.

•	Test procedures.

•	General maintenance.

•	Bruker service.

1.1	Program Overview

SAXS is part of a suite of programs available from Bruker AXS, Inc. for using an Area Detector for powder diffraction problems. In addition to the SAXS software, optional packages are GADDS, DIFFRACplus, TOPAS P, etc.

The functions of these programs are briefly summarized as follows:

•	SAXS is the essential instrument control and data acquisition program which controls all hardware functions associated with the multi-wire-based X-ray diffractometer systems. It contains a comprehensive set of on-line and off-line functions and algorithms for instrument calibration and frame data acquisition. These features will be described in detail in this manual.

•	TOPAS P is a profile fitting program for fundemental parameter and general lineshape fitting of diffraction spectra. This program is described in detail in the PROFILEplus Manual.

•	GADDS is the wide-angle, x-ray diffraction package for instrument control and data acquisition program.

•	DIFFRACplus for GADDS is a complete set of integrated programs for evaluation, search / match, etc. on 1D spectra. Programs included in the DIFFRACplus package include:

-	EVA—Graphical evaluation package.

-	Diffrac File Exchange—Similar to Raw2Raw utility, but more limited except with UXD file formats.

-	PDF  Database Maintenance—Utility to view and manipulate PDF database.

-	XRD Evaluation Program— Graphical evaluation package with optional search/match algorithm.

-	XRD Quantification Program— Graphical quantification package.

These programs are described in detail in the DIFFRACplus Manual.

SAXS may be executed in either on-line or off-line mode. The on-line version of SAXS supports a variety of goniometer stages and other instrument configurations including the following hardware options:

•	HISTAR detector.

•	No goniometer or Nanostar goniometers.

•	Phoenix (D8) or GGCS (all others) goniometer controllers.

•	No axis, one-axis, or two-axis sample positioners (stages).

•	TCU-50 temperature controller.

•	Sealed tube or rotating anode generators.

•	SMART rotary shutter.

The on-line version of SAXS is a powerful and flexible instrument control sample analysis data collection package. The program couples the precise control of the goniometer angles and X-ray shutters (through the GGCS controller) with the operation of two-dimensional, multi-wire X-ray detectors to yield highly accurate and reproducible two-dimensional images (frames) of X-ray diffraction patterns. SAXS includes a wide range of instrument functions (e.g., open/close shutter, drive sample, etc.), calibration routines, sample screening options (e.g., add, radiography, etc.), automatic routines (e.g., scripts) and automated frame data collection.

Examples of typical applications of the SAXS system are:

•	Routine data collection on transmission samples.

•	SAXS.

Basic SAXS Operation

1.	Click on the SAXS icon to execute the on-line version of SAXS.

1.	Verify that the correct project have been loaded.

3.	Verify that the appropriate calibration files have been loaded and that the goniometer angles and the values of the distance and X and Y beam centers are correct. Update, if necessary.

1.	Select the appropriate level for the experiment (e.g., Level 1 [beginner] or Level 2 [experienced]).

1.	Mount the specimen and proceed with the experiment. Individual steps will be described this manual.

1.	To exit from the program, drive all angles to zero and click on the File > Exit option. Do not exit from the program by clicking the Windows NT close button—this will cause abnormal termination and loss of configuration data!

1.2	Environment Variables (Logical Names)

Under WNT, logical names are stored as environment variables. Entering environment variables are done through Control Panel's System Applet. You may enter environment variables as either system (available to all users) or as user (available only to the current user).

Logical names, which point to directories, should end with a colon ":" and the translation should end with the directory separator "\".

        Example:  Defining the SAXS$FRAMES directory

                    set SAXS$FRAMES:=C:\FRAMES\

To display a frame, say cor1.001, from the SAXS$FRAMES directory the name to enter in the DISPLAY /NEW panel would then be:

                    SAXS$FRAMES:cor1.001

If the default working directory in SAXS's Project > New/Edit/Copy panel is defined as SAXS$FRAMES:, you would need to enter only “cor1.001” in the File > Display > New panel.

In order to allow users flexibility in working with multiple products on the same computer (e.g., FRAMBO and GADDS) SAXS supports program-specific logical names (environment variables).  The program-specific names are SAXS$SYSTEM:, SAXS$SYSDATA:, and SAXS$FRAMES:, which serve the same purpose as SAXI$SYSTEM:  (points to executables and help files), SAXI$SYSDATA: (points to color lookup table directory) and SAXI$FRAMES: (points to directory containing frame and plot data).  If the program-specific name exists, its translation is used. If it does not exist, the program attempts to use the corresponding SAXI$ name; thus, the program remains compatible with earlier logical name setups.

SAXS recognizes the following logical names.

SAXS$CALIB:

This variable translates to the directory which contains area detector calibration files, such as flood-field and spatial tables.

SAXS$FRAMES:

This variable translates to the root directory which contains area detector frames, calibration files, project files, and 1D spectra (raw files).

SAXS$PROJECT

This variable translates to the full pathname of the file to be used as the project database, for example, D:\frames\projects\saxs.prj.

SAXS$SYSTEM:

This variable must translate to the name of the directory where the area detector programs, utility programs, new project defaults, and help files reside (e.g., C:\SAXI\SAXSnew\).

SAXS$SYSDATA:

This variable must translate to the name of the directory where the area detector data files (e.g., color lookup tables, calibration files, usertask.ini) reside.  (C:\SAXI\SAXSnew\).

SAXS$TEST:

This variable must translate to the name of the directory where the test frames and test command files reside. (e.g., C:\SAXI\SAXSnew\TEST\).

PROF$SYSTEM:

This optional variable translates to the name of the directory where the profile fitting package resides. (e.g., C:\TopasP\). See Special > Spawn, section 9.8.

SAXI$ADMODEL

Sets the combination of goniometer and controller assumed for instrument control purposes by SAXS.  The environment variable SAXI$ADMODEL, if defined, must translate to:

None for all SAXS and NANOSTAR systems.

ANTON-PAAR for ANTON-PAAR sample positioner.

SAXS essentially ignores the translation of SAXI$ADMODEL. Because SAXS only supports three configurations, no motors, one-axis, and two axis sample positioner, SAXI$ADMODEL has no effect on the default settings for collision limits, drive speeds, etc. SAXI$ADMODEL is reserved for future configurations. Presently, SAXI$ADMODEL is only used for record keeping in frame headers.

SAXI$NAMECHARS

# characters in "NAME" part of filename

SAXI$RUNCHARS

# characters of "NAME" part used for run#

SAXI$RUNBASE

Numeric base of run # (10 or 36)

SAXI$NUMCHARS

# characters in extension, used as frame #

SAXI$NUMBASE

Numeric base of frame # (10 or 36)

These names translate to numeric values which establish the initial frame naming parameters, which can be viewed and modified on the Edit > Configure > User settings form.  If the configuration has been saved from a previous run of SAXS, the values in the configuration file override these values when SAXS is restarted.  Thus, these names are used by SAXS only if there is no existing saxs._sc file.

SAXI$BIGFONT

When set to a non-zero value, saxs displays the screen using a larger character font.

SAXI$CURSWEIGHT

This name can be defined with an integer value from 2 to 7 to specify the line thickness of the cursors in pixels.  This is primarily for use on IRIS systems, where single-weight lines can look very thin.  If SAXI$CURSWEIGHT is undefined or assigned the value 1, the cursors appear as in earlier versions.  The cursors drawn in the ZOOM and GRAPH commands are also affected in the same manner.

SAXI$NOBOXLIM

This optional variable, if defined, will increase the maximum Cursor > Box & Cursor > RBox size limit from 64 to 256 for diagnostic purposes.

SAXI$ON

If non-zero, we continue command file processing regardless of error code. If zero or undefined, command files stop on error code.

SAXI$PKZIP

If defined, it is set to the full pathname of PKZIP for console (version 2.50), which is used in the Project > Backup command.

SAXI$PRINTER

This optional variable points to the default SAXS print queue. A useful trick is to setup a SAXS print queue with typical settings for SAXS printing such as landscape orientation.

SAXI$SITE

The site name given here is stored in the header of frames written in Bruker format. Under WNT, this defaults to the RegisteredOrganization name in the Registry.

SAXI$SWCHAR

The startup command line switch character can be defined as the translation of this name. By default, SAXI$SWCHAR=/ leading to the default DOS-style parsing. You can set SAXI$SWCHAR=- to change to UNIX-style “-“ switches. The command syntax is otherwise the same (only the character which precedes the qualifiers is changed). SAXI$SWCHAR affects interpretation of only the startup command line, not the SLAM command line. We recommend that you retain the “/” switch character setting.

SAXI$USERNAME

The user name given here becomes the default name on the SAXS Edit > Configure > User settings command form. Under WNT, this defaults to the RegisteredOwner name in the Registry.

SAXI$VIDEOFORMAT

Overrides the saving of video images in TIFF format for Coreco or MIL format for Matrox. Alternate options are:

0	TIFF format stored with *.tif extension (Coreco) or MIL format stored with *.mim extension (Matrox)
1	BMP format stored with *.bmp extension (Coreco or Matrox)
2	TARGA format stored with *.tga extension (Coreco only)
3	JPEG format stored with *.jpg extension (reserved for future release) (Matrox only)
SAXI$512MAXOVF

Restricts frame file format to contain a maximum overflow table size of 512 bytes (for compatibility with other, older software packages).

1.3	Startup Command Qualifiers

The following qualifiers can additionally be given when starting SAXS. It is assumed that the qualifier switch character has not been changed from its standard value of "/". If it has, substitute the appropriate switch character, e.g., "-".

/COMMAND

Starts SAXS in command line mode instead of menu mode.

/COMMAND=@<filename> <parm1> <parm2> ...

Starts SAXS and automatically invokes SLAM script file with optional parameters of parm1, parm2, etc.

/CONFIGURATION=<filename>

Causes SAXS to read the initial configuration from <filename> rather than from saxs._sc.

/DEFAULT=<filename>

Causes SAXS to read the initial configuration from <filename> if the configuration file is either not found or creates a read error or the /NORELOAD switch is used.

/DEFAULT=<filename>

Causes SAXS to read the initial configuration from <filename> if the configuration file is either not found or creates a read error or the /NORELOAD switch is used.

/LEVEL1	/LEVEL2	/LEVEL3

Starts SAXS in requested menu level. Default is 1.

/LOCK

Disables the menu level commands. Useful for individual security situations.

/NOPROJECT

Prevents SAXS from starting in the last project’s working directory. Starts in icon’s working directory.

/NORELOAD

Prevents SAXS from reading the configuration file: saxs._sc.

/PORT=#

Specifies the goniometer controller com port number. Valid options are 1-4 with 1 being the default.

/PROJECT=<projname>

Specifies SAXS to start in the named project’s working directory. This is the project name as defined in the project database. On failure to load requested project, the last project’s working directory is used.

/TCPORT=#

Specifies the temperature controller com port number. Valid options are 1-4 with 2 being the default.

/X=# /Y=#

Determines SAXS window position offset from upper left corner in screen pixels. A value of -1 (default) will center SAXS in the screen display.

1.4	SAXS Startup Behavior

When SAXS is started, the program goes through many checks to determine the operating state of the program.

1.	Command line qualifiers and environment variables are used to override or set the default behavior. All environment variables must be defined prior to starting SAXS.

2.	The working directory is defined. By default, SAXS uses the last project’s working directory, unless the command line qualifiers, /noproject or /project=projname, are present. If the last project does not exist, not defined, an error occurred, or /noproject was used, then SAXS will prompt the user to define a new project (which includes defining the working directory).

3.	The program default settings are defaulted or read. By default the configuration is read from the project’s working directory (saxs._sc). If error or /noreload is present, from the SAXS system directory (SAXS$SYSTEM:saxsdefs._sc). On complete failure, the hard coded defaults are used. The names of the normal configuration file and the default configuration file can be changed using /configuration=<filename> and /default=<filename> command line qualifiers.

4.	Diffractometer communications with the goniometer controller is initiated.

1.5	Dialog Box and Keyboard Conventions

Dialog Boxes

SAXS has been designed with standard Windows dialog boxes, so you can use standard methods when responding.  The action buttons vary depending on the function of the dialog box.  The following types of dialogs are used, classified according to type-of-action button:

Message Boxes

These display informational and error messages and have only an OK button.  The ENTER key is equivalent to OK.

Yes/No Dialog Boxes

These display a message and request a Yes or No response.  Pressing the Y key is equivalent to clicking Yes. The N key is equivalent to No.  Pressing ENTER executes whichever button is highlighted.  The TAB key moves the highlight between the two buttons.

OK/Cancel Dialog Boxes

These display a message that requires an OK or Cancel response, or they may contain a series of Windows or Motif controls for entering data.  Pressing ENTER is equivalent to clicking the currently highlighted action button, which is initially the OK button. Pressing ESC is equivalent to clicking the Cancel button.  The TAB and SHIFT+ TAB keys move to the next or preceding control in the dialog box, respectively.  If the dialog box contains edit fields, you can copy, cut, and paste text within these fields with CTRL+C, CTRL+X, and CTRL+V.  These operations use the clipboard, so you can also use these keys to transfer text information among different dialogs or between programs.

Output Dialog Boxes

These display a scrolling multi-line text control; a scrollbar; and OK, Write..., and Print... buttons.  The arrow and page keys allow you to scroll the output text, as does the scrollbar. ENTER is equivalent to clicking the highlighted button (initially OK).  You can highlight text in the text control with the mouse or shifted arrow keys and copy it to the clipboard with CTRL+C. However, you cannot alter the text in this type of dialog.  The Write and Print buttons allow you to send selected text (or all the text, if no selection was made) to a disk file or a printer, respectively.

Edit Dialog Boxes

These display a scrolling multi-line edit control; a scrollbar; and OK, Cancel, Write..., Print..., and Read... buttons.  The text in the edit control can be edited according to the normal system conventions.  The arrow and page keys allow you to scroll the text, as does the scrollbar. ENTER is equivalent to clicking the highlighted button (initially OK), and the TAB and SHIFT+TAB keys cycle the highlight (focus) over the edit control and buttons. ESC is equivalent to Cancel. You can highlight text in the text control with the mouse or shifted arrow keys and copy it to the clipboard with CTRL+C, cut to the clipboard with CTRL+X, and paste with CTRL+V. However, ensure that any text you paste into such a dialog is correctly formatted , since format is not checked before a paste.  The Write and Print buttons allow you to send selected text (or all the text, if no selection was made) to a disk file or a printer, respectively.  The Read button allows you to insert text from a disk file at the current position.  As with the paste operation, ensure that text in the file is correctly formatted, since format is not checked before file text is inserted.

Keyboard Conventions

Following are definitions used by Bruker for common keyboard keys and key combinations. Note that the keys used in interactive commands may also be used as menu accelerators. (For example, when the SAXS menu has the focus, CTRL+LEFT ARROW displays the next image in a sequence. But when a cursor command has the focus, the same key moves the cursor left in 10-pixel increments.)

CTRL+BREAK and CTRL+C (NT only)

CTRL+C (SGI only)

Interrupts an operation in progress.  Under some workstation environments, CTRL+C is polled, so that to may need to hold the key combination down long enough for the program to detect it.

ESC

Works like the Cancel button in dialogs with a Cancel button. Also works as a soft abort (stop after current frame is finished) in the Acquire > SingleRun, MultiRun, Hemisphere, Quadrant, and Matrix commands.

ENTER

Works like the OK button in OK/Cancel dialogs, or executes the currently highlighted button in most other dialogs.

TAB

Moves to the next field in a dialog box.

SHIFT+TAB

Moves to the preceding field in a dialog box.

UP ARROW and DOWN ARROW keys

Move through items in a menu or  multi-line edit control. In most interactive commands, they can also be used to position the cursor as an alternative to the mouse.  By default, they move the cursor by 1 pixel in graphic/cursor commands (see PLUS key description below).

LEFT ARROW and RIGHT ARROW keys

Move non-destructively one character left or right when editing text in a dialog;  as with up/down arrows, they can position the cursor in interactive cursor commands.

+ plus key

Increases by a factor of 2 the number of pixels that a cursor is moved whenever a cursor key is pressed.  Values of 1, 2, and 4 are possible in conjunction with arrow keys, or 10, 20, and 40 in conjunction with CTRL+arrow keys.

- minus key

Decreases by a factor of 2 the number of pixels that a cursor is moved whenever a cursor key is pressed (opposite of the + key, described above).

CTRL+ARROW keys

Move the cursor 10x faster in interactive cursor commands (like Analyze > Cursor, Analyze > Cursor > Box, etc.)

PAGEUP

Move up a page in scrolling text dialogs.

PAGEDOWN

Move down a page in scrolling text dialogs.

INS

Toggles between character insert and overstrike modes when editing a line in a dialog box.

DEL

Deletes forward one character when editing a line in a dialog box. The character under the cursor is deleted.

Backspace

Deletes backward one character when editing a line in a dialog box. The character to the left of the cursor is deleted.

HOME

Moves to beginning of line when editing a line in an input panel.

END

Moves to end of line.

F2, F3, F4

In interactive commands, these are equivalent to left, center, right mouse buttons, respectively

CTRL+C

In a dialog box edit control, copies highlighted text to the clipboard.

CTRL+X

In a dialog box edit control, cuts highlighted text to the clipboard.

CTRL+V

In a dialog box edit control, pastes from the clipboard.

CTRL+P

Prints main SAXS screen to currently selected printer. Under NT, this function does not work when the user is in a dialog box or message box; however, PRTSC will send a copy of the entire screen including SAXS window (or ALT-PRTSC for just active window) to the clipboard.

1.6	SAXS Directory Organization

SAXS’s directory organization (as shipped from the factory) is shown below.  We recommend that you maintain this directory convention for Bruker-supplied files to minimize the effort required for future software updates.  On PCs and workstations, the same logical names are used to point to the programs and data.

Following is the normal directory layout (shown schematically) for SAXS.

1.7	Frame Indexes

Frame indexes have been implemented. When a frame name is given in the format:

INDEXNAME#N    or    INDEXNAME##H

the program looks for a frame index file INDEXNAME (with the extension defaulting to .fin, for Frame INdex). N is a decimal number representing the line number in the index file which contains the filename of the frame; H represents the same, only in base 36. Lines are numbered starting from 0. SAXS will remember the name of the last index specified, so that you can omit INDEXNAME in subsequent references; thus, #N and ##H become valid frame names.

The frame index is an ASCII file in (what I guess is) the Harvard format, where each line contains a number (which is ignored by SAXS) followed by the frame name. The default directory for frame index files is the frame directory as specified in the CONFIGURE /EDIT panel.

In the DISPLAY commands, NEXT, PREVIOUS, MOVIE+, and MOVIE-, the auto increment or decrement will be performed on the index line number, not the frame name.

1.8	Special Symbols

Throughout the various input panels, special symbols are reserved for special purposes.

Symbol	Where used	Purpose

$DATA	PEAKS /LOAD	To read the currently loaded peak table

PLOTS /PLOT

$FRAME	LPA	To read the currently loaded frame image

DISPLAY

FRAME_INFO

SPATIAL

SMOOTH

BACKGROUND

TRANSMISSION

$MASK	MASK /VIEW	To read the currently loaded active pixel mask

$NET	(obsolete)	Unused - avoid using $NET in filenames

$NEXT	DISPLAY	Display the next frame in a frame series

$NULL	LOAD	Read or save a null file

MASK /READ

MASK /SAVE

SAVE

BACKGROUND

TRANSMISSION

$PREV	DISPLAY	Display the previous frame in a frame series

$TITLE	SAVE	When saving a file, keep the original title string


2.	Project Management Routines

Project management is the organization of data files into logical groups. Typically, you will create a new project to start a new sample run, a new batch of samples, etc.; when to start a new project is really a user preference or a defined step in a laboratory procedure (for example, an ISO-9000 procedure).

SAXS manages and tracks all projects by using project files (*.prj). All users can share the same projects or each user can have their own unique projects. When SAXS was installed, SETUP created a system wide project file (for all users) and a SAXS administrator project file (for only the account that installed the SAXS software). SAXS locates the project file by translating the environment variable, SAXS$PROJECT, which contains the complete file specification of the project file (for example, D:\frames\projects\saxs.prj). SETUP creates this environment variable in the System Variables space to create the system wide project file. You may override the system wide setting, by creating a user specific project file as follows:

1.	Start > Settings > Control Panel > System applet.

2.	Click on the Environment tab.

3.	Click on a line in the "User Variable for <User>" section.

4.	In the Variable: edit box, enter SAXS$PROJECT.

5.	In the Value: edit box, enter the full file specification. The drive and directory path must already exist. Bruker recommends using our naming convention of D:\frames\projects\SAXS_<username>.prj (you replace <username> with your actual user account name).

6.	Click on [Apply].

7.	Click on [OK].

Because initially there is no project file, the first time SAXS is started, you will see several messages:

"Unable to open project database file for reading SAXS$PROJECT"

"Unable to use last project"

Then you are automatically sent to the Project > New command (see section 2.3 Project > New). Enter appropriate values and click [OK]. Inform your SAXS administrator if you get the message:

"Can't  open saxsdefs._sc. Using default settings. You must use Project > Overwrite defaults command."

When SAXS is started, you are automatically sent to the last project (most recently accessed). You can override this default behavior by modifying the SAXS shortcut with command line qualifiers:

/noproject

Forces SAXS to always create a new project when it starts.

/project=<projname>

Forces SAXS to always open into the same project, <projname>.

2.1	Project  > Switch  •   Change to a different, existing project

Menu Command:  Project > Switch

Accelerator:  None

User Level:  1

SLAM Syntax:	  PROJECT /SWITCH $1

Use this command to switch to an existing project.  A scrollable, alphabetized list of all known projects will appear. Highlight the project of interest and click [OK].

Before the program switches to the requested project, the message appears:

"Save the current configuration before changing projects?"

Typically, you click [Yes] as this is the safest option.

The program will switch to the requested project by loading that project's settings, clearing the frame buffer, clearing the displayed frame, and displaying the current project settings. However, if the requested project is no longer valid, the program will display a message, restore the original project settings, and remove the corrupted project from the project database.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Select Project)     [first in list]

Enter the existing project name. In menu-mode, a scrollable, alphabetized list of all valid projects appears and you may simply click the requested project. The default is the first project in the list.

2.2	Project  > Load  •  Load a configuration file and create a new project

Menu Command:  Project > Load

Accelerator:  None

User Level:  2

SLAM Syntax:	  PROJECT /LOAD $1 (not recommended to use in SLAM mode)

Use this command to create a project from an existing configuration file. You can click the browse button to search for an existing configuration file.

Before the program creates and switches to the requested project, the message appears:

"Save the current configuration before changing projects?"

Typically, you click [Yes] as this is the safest option.

The program will create and switch to the requested project by loading that project's settings, clearing the frame buffer, clearing the displayed frame, and displaying the current project settings. However, if an error occurs, the program will display a message and restore the original project settings.

Next the program automatically generates a project name and adds the new project to the project database. If the new project name already exists, the message appears:

"<PROJECT0> is already a project. Replace it?"

Click [Yes] to replace or [No] to generate a different project name (by incrementing the sample number).

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Configuration Filename)     [*._nc]

Enter the full file specification of an existing configuration file. The default is *._nc which will invoke the file browser.

2.3	Project  > New  •  Create a new project from scratch

Menu Command:  Project > New

Accelerator:  None

User Level:  1

SLAM Syntax:

PROJECT /NEW /CNAME=<s>  $1 /TITLE=<s> /WORKDIR=<s> /FORMULA=<s> /MORPH=<s> /CCOL=<s> /DENSITY=<s> /DENSMETH=<s>

Use this command to create a new project from scratch. Typically, whenever you mount a new sample or a new batch of samples, you want to define a new directory for all your data files.

You must enter information in all the project information parameters. The sample name and sample number are combined to form the project name. If the generated project name is invalid, the message appears:

"Sample name and number are too long or contain non-alphanumeric characters. Name will be shortened/modified as needed if you continue."

Click [Yes] to continue or [No] to return to dialog input box.

You must enter information in the directory information parameters. You may enter an existing directory, but typically you enter a new directory and the program will create it. You may enter the special value, $PROJECT, which instructs the program to use the directory SAXS$FRAMES:<projname>, which is typically defined as D:\frames\<projname>. The advantage of using $PROJECT is that it automatically generates a directory name that should be unique. If you try to re-use a project directory, the message appears:

"Working directory already contains a configuration file: saxs._sc. Choose a different directory or use the Project > Load command."

The sample information parameters are all optional. Enter what you know and leave the rest set to "?".

Before the program creates and switches to the requested project, the message appears:

"Save the current configuration before changing projects?"

Typically, you click [Yes] as this is the safest option.

The program will close any log and auto-script files before creating and switching to the new project.

"Closing last project's log file…"

"Closing last project's auto-script…"

New project defaults are taken from the system-wide default file create by the Project > Overwrite defaults command. The new project is created by clearing the frame buffer, clearing the displayed frame, displaying the project settings, and setting all title requests in other menus to the sample title.

If the previous project had either the log or auto-script enabled, you will be prompted to restart those features.

"Start/append log file for new project?"

"Start/append auto-script file for new project?"

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

/CNAME=<s>	(Sample Name)     [Unknown]

Enter the name of the sample (project name = sample name + number). Default is “Unknown”.

$1	(Sample Number)     [0]

Enter the number of the sample (negative to ignore). Default is 0.

/TITLE=<s>	(Title)     [?]

Enter a descriptive title for this project (sample). Default is “?”.

/WORKDIR=<s>	(Working Directory)     [$PROJECT]

Enter the Drive:Directory to make current or the working directory. The program will place all data files in this directory. Or enter “$PROJECT” and the program will generate a project working directory name from the project name and using SAXS$FRAMES: as the root. Default is “$PROJECT”.

/FORMULA=<s>	()     [?]

/MORPH=<s>	()     [?]

/CCOL=<s>	()     [?]

/DENSITY=<s>	()     [?]

/DENSMETH=<s>	()     [?]

Enter any sample information that you wish or enter "?". Default is “?”.

2.4	Project  > Copy  •  Copy the current project to a new project

Menu Command:  Project > Copy

Accelerator:  None

User Level:  1

SLAM Syntax:

PROJECT /COPY /CNAME=<s> $1 /TITLE=<s> /WORKDIR=<s> /FORMULA=<s> /MORPH=<s> /CCOL=<s> /DENSITY=<s> /DENSMETH=<s> /RESET

Use this command to create a new project using the current project settings as defaults. You typically use this command when mounting a similar sample on the goniometer or repeating a collect and process operation on the same sample.

Project > Copy differs from Project > New (see section 2.3) in that:

• 	The project defaults can be taken from either the system-wide defaults (see section 2.9 Project > Overwrite defaults) or from the current project settings by using the Reset switch.

• 	The project information defaults to stay the same except that the sample number is incremented; however, you may override these defaults.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses: Project > New arguments also apply here (see section 2.3 for explanations).

/RESET	(Reset to Defaults?)     [No]

Check to reset program to default settings. Default is no.

2.5	Project  > Edit  •  Edit the current project settings

Menu Command:  Project > Edit

Accelerator:  None

User Level:  1

SLAM Syntax:

PROJECT /EDIT /TITLE=<s> /FORMULA=<s> /MORPH=<s> /CCOL=<s> /DENSITY=<s> /DENSMETH=<s> /RESET

Use this command to modify the current project settings. Because you are not creating a new project, you cannot change the project's sample name, sample number, or working directory. But you may change the sample's title and the sample information parameters, reset defaults to system-wide default settings, and/or clear the crystal information.

Arguments

Project > New and Project > Copy arguments apply here (see sections 2.3 and 2.4 for explanations). Defaults are current settings.

2.6	Project  > Backup  •  Backup all files in the specified project’s directories

Menu Command:  Project > Backup

Accelerator:  None

User Level:  2

SLAM Syntax:	 PROJECT /BACKUP $1 $2 $3 /NOCALIB /NOWORK

Use this command to backup all files in the project's working directory and/or the current calibration files into a single, compressed, archive file, which you may wish to transfer to tape or CD-R media for archiving purposes.

A scrollable, alphabetized list of all known projects will appear. Highlight the project of interest and click [OK]. Next a dialog of options appears. You must enter a filename for the archive file and enter the directory to place the archive file. Optionally, you may choose to exclude the calibration files or the current working files from the archive; however, typically you backup all your working files, but not the calibration files.

"Requesting archive file already exists. Update existing archive file?"

Click [Yes] to update, [No] to abort. Updating adds new or updates existing data files in the archive, but does not remove any old data files. If you wish to overwrite an existing archive file, then you must pre-delete the archive (use Windows NT Explorer).

"No PKZIP file is defined: SAXI$PKZIP"

Your SAXS administrator must configure the console version of PKZIP for use with SAXS. Simply extract the PKZIP files to a directory and define the System Variable, SAXI$PKZIP, to point to the full file specification. SAXS was tested with PKZIP for Console version 2.50.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Select Project)     [no default]

Enter the project's name to archive or use $PROJECT for current project. No default.

$2	(Archive Filename)     [$PROJECT]

Enter the filename for the file archive. Default is project name.

$3	(Archive Directory)     [SAXS$FRAMES:]

Enter the directory to store the file archive. Default is SAXS$FRAMES:.

/NOCALIB	(Exclude Calibration Files?)     [Yes]

Check to exclude all calibration files from the archive. Default is yes.

/NOWORK	(Exclude Work Files?)     [No]

Check to exclude all working directory files from the archive. Default is no.

2.7	Project  > Remove  •  Remove a project from the project database

Menu Command:  Project > Remove

Accelerator:  None

User Level:  2

SLAM Syntax:	 PROJECT /REMOVE $1

Use this command to remove the requested project from the project database, but does not delete any data files. A scrollable, alphabetized list of all known projects excluding the current project will appear. Highlight the project of interest and click [OK]. The program will remove the requested project.

Note: Because the configuration and data files were not deleted, you could re-add the project using the Project > Load command.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Select Project)     [no default]

Enter the requested project name to remove from the project database. You cannot remove the current project. No default.

2.8	Project > Delete  •  Delete all project files and remove from project database

Menu Command:  Project > Delete

Accelerator:  None

User Level:  2

SLAM Syntax:	 PROJECT /DELETE $1

Use this command to delete all data files and remove the requested project from the project database. Typically, you perform a Project > Backup command before doing a Project > Delete command.

A scrollable, alphabetized list of all known projects excluding the current project will appear. Highlight the project of interest and click [OK]. The message appears:

"Delete all files in data directories and try to remove this directory?"

Click [Yes] to continue, [No] to abort. The program will delete all files in the working directory, but not any subdirectories, files in subdirectories, or the calibration files (in the calibration directory), then it will remove the requested project.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Select Project)     [no default]

Enter the requested project name to delete working files and remove from the project database. You cannot delete the current project. No default.

2.9	Project > Overwrite defaults  •  Overwrite the default configuration with the current settings

Menu Command:  Project > Overwrite defaults

Accelerator:  None

User Level:  3

SLAM Syntax:  PROJECT /MAKEDEF

Use this command to define the system-wide default settings for projects. Typically, your SAXS administrator will issue this command whenever he changes the goniometer stage or other hardware option.

Before issuing this command, go through all menu options and define your default settings. The most critical settings are located in the command:

•	Edit > Configure > User settings:

•	Edit > Configure > Admin settings:

•	Collect > Goniometer > All commands:

Double check that these settings are correct.

After issuing the Project > Overwrite defaults command, the message appears:

"Save the current configuration as default values (for new/copy/edit "reset to defaults" option)?"

Click [Yes] to continue, [No] to abort. The program will save current settings in the SAXS$SYSTEM:saxsdefs._sc system-wide default configuration file. Whenever the reset to defaults option is checked in a Project > New, > Copy, or > Edit command, these system-wide defaults are read.

Arguments

None. Commands executes immediately after confirmation message.

2.10	Project > Exit  •  Leave program and return to operating system

Menu Command:  Project > Exit

Accelerator:  None

User Level:  1

SLAM Syntax:	 EXIT

After saving the current configuration, this command terminates SAXS, returning you to the operating system. You may also exit SAXS by double clicking on the SAXS icon in the upper left, clicking the application close button in the upper right corner, pressing Alt-F4, or with the QUIT command (see section 12.3 Quit), but these methods do not save the current configuration.

If you choose EXIT from the menu, a box appears with OK and Cancel buttons and the message:

Save current configuration: Are you sure:

Normally, you want the program to save the current settings –- press OK. Occasionally, you may wish to ignore your project session and start over – press Cancel. All settings are stored in the project’s working directory in the file: saxs._sc, which will be read the next time you start SAXS.

Then, a box appears with OK and Cancel buttons and the message:

EXIT: Are you sure ?

The purpose is to provide a safety net in case EXIT was selected by mistake. Click the OK button, or press the ENTER key to exit the program.  If you do not wish to exit at this time, click the Cancel button or press Esc, and you'll be returned to the SAXS menu.

In command mode, EXIT terminates SAXS after saving the current configuration, without displaying any prompts.

Arguments

None. Command executes immediately after confirmation message.


3.	File Routines

3.1	File > Display > Open  •  Display a detector frame on the screen

Menu Command:  File > Display > Open

Accelerator:  Ctrl+D

User Level:  1

SLAM Syntax:

DISPLAY /NEW $1 /QUADRANT=<n> /LO=<n> /HI=<n> /X=<n> /Y=<n> /MAG=<n> /AUTOINCREMENT /GRAPHICS_SAVE /ORIENTATION /VIDEO

Use this command to display a specified data file from disk, or to display or redisplay the current contents of the frame accumulation memory.

Up to four different data files can be displayed at the same time using File > Display to place them into separate quadrants.  You can also display a region within a frame magnified in a quadrant or in the full image window by setting the input arguments appropriately.  While multiple images can be displayed in different quadrants at one time, only the image in the current quadrant is actually in memory. Thus, for example, the Analyze > Cursor functions work only on the image in the current quadrant.

SAXS will read and automatically configure internal parameters for Bruker CCD formats (based on the DETTYPE: frame header item). But whenever the DETTYPE: is “unknown” or “other” , then SAXS tries to read the sub-items: PIXPERCM: and CMTOGRID:. On failure, SAXS must ask for the “Pixels per cm” and “Cm to grid” parameters.

When invoked from the menu, or run from the command line without arguments, File > Display displays a dialog box where you can view/edit the arguments described below.  Pressing the ENTER key or clicking the OK button starts the display. Pressing ESC or the Cancel button returns you to the menu.

Both filenames and filename patterns entered in the input panel are merged with the working directory specified in the Project > New dialog box before SAXS attempts to open the file.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Input Filename)     [$FRAME]

Filename of the frame to be displayed. The special name $FRAME (the default) refers to the current data in frame accumulation memory.  Thus, $FRAME can be used to display the contents of accumulation memory if you've acquired a frame suppressing display, or can be used to redisplay a newly acquired with different lower and upper limits.  If you leave this item blank, or specify a wildcard filename pattern, pressing ENTER or clicking the OK button will allow you to choose from a list of the current filenames matching the pattern, after which you will be returned to the input dialog with the selected filename filled in.  If you leave this item blank, it is the same as entering a *.* wildcard pattern.  Remember that both filenames and patterns entered here are merged with the Project > New working directory, as described above.

/QUADRANT=<n>	(Screen Quadrant)     [0 - full]

Select the quadrant in which the frame is to be displayed.  In the dialog box, you can select the quadrant from a drop-down list.  While multiple images can be displayed in different quadrants at one time, only the image in the current quadrant is actually in memory; thus, for example, the cursor functions work only on the image in the current quadrant.  Quadrants are 0 = full window, 1 = lower left, 2 = lower right, 3 = upper left, and 4 = upper right. Default is 0.

/LO=<n>	(Lower Limit)     [0]

The number of counts to be mapped to zero in display memory. Pixel values lower than this are truncated to zero on display (although the cursor commands will still read the correct values).  The default value is 0; the allowed range is from -255 to +65,535.

/HI=<n>	(Upper Limit)     [63]

The number of counts to be mapped to the highest display memory value (currently 63;  that is, displayed frames are shown with 64 simultaneous colors).  Pixel values higher then the specified value are truncated to that value on display (although the cursor commands will still read the correct values).  The special value -1 causes the program to scan the pixel values in the frame and automatically pick reasonable display limits and contrast settings based on the result.  The special value -2 directs the program to use whatever the previous limits were.  The default value is -1; the allowed range is from -2 to 1,000,000.

/X=<n>	(X)     [256]

X-pixel coordinate to try to center in the specified quadrant. The range is from 0 to 511, 1023, or 2047 (depending on the frame size); the default value is 256.  If the magnification is small enough that centering the specified X in the quadrant would leave part of the quadrant blank, the image is translated only far enough to place the edge of the frame at the edge of the quadrant.

/Y=<n>	(Y)     [256]

Y-pixel coordinate to try to center in the specified quadrant. The range is from 0 to 511, 1023, or 2047; the default value is 256.  If the magnification is small enough that centering the specified Y in the quadrant would leave part of the quadrant blank, the image is translated only far enough to place the edge of the frame at the edge of the quadrant.

/MAG=<n>	(Magnification)     [1]

The magnification (zoom) factor, to examine a specific area in greater detail. The allowed range is from 1 to 16; the default value is 1.

/AUTOINCREMENT	(AutoIncrement?)     [No]

This allows successive frames to be displayed in different quadrants; for example, when the "MOVIE" option is used.  Check this option to increment quadrant 1-4 after display. By default it is unchecked.

/GRAPHICS_SAVE	(Preserve Graphics?)     [No]

Specifies whether or not to preserve any overlaid graphics if you clear the screen.  Check this option to preserve graphics if clearing screen. By default it is unchecked.

/ORIENTATION 	(Use Orientation in Header?)     [No]

Normally, you'll want the cursor commands to read out HKL's based on the orientation matrix computed in the last Peaks > Refl. Array > LeastSq command. This is the default setting (unchecked).  However, if you display a frame that was stored with its own orientation matrix in Bruker format, you can override SAXS's internal orientation matrix with the one in the frame header, and read HKL's on that frame without having to recompute its orientation matrix.  In that case, check this option.  Note that this option does not overwrite the matrix from the last least squares;  displaying another frame with this item unchecked, or acquiring a new frame clears the override flag (but does not reset the check box in this dialog — don't leave it inadvertently set!), effectively restoring the matrix from the last Peaks > Refl. Array > LeastSq.

/VIDEO	(Display Associated Video Image?)     [No]

Specifies whether to automatically display the associated video image on the video program. The video program must already be running in a separate window. By default it is unchecked.

Display Limits

The translation of pixel values to colors involves two separate translation steps.  These steps allow you to view the images with nearly photographic quality and to refine the color mapping in real time, however, this refining makes the mapping process more complicated.

The mapping process is discussed in detail below, specifically with reference to the File > Display command.  This command allows you to set both lower and upper display limits, which represents the most general case.  Most of the frame acquisition commands also allow you to display the result according to a specified upper display limit exactly equivalent to the upper limit discussed below. However, these commands fix the lower limit at zero, which works well most of the time.  While most commands recognize a few special values for the upper limit (-1 for automatic limit setting, etc.), we ignore these special cases in the following discussion.

The first step is the mapping of pixel values into display memory.  Display hardware components differ in the number of color levels available for each pixel.  With SAXS, we always assume that the hardware can support at least 64 different values (0-63).  The /LO and /HI qualifiers in File > Display let you specify any linear transformation between the pixel values and the values written into the display hardware (with the mapped values clipped to the range 0 to 63, so that values outside this range don't show up in the wrong colors).  Thus, if you need fine discrimination within a narrow range of pixel values, you could specify /LO and /HI to cover that range.  On the other hand, if wide latitude is more important, you would specify /LO and /HI to cover the whole range of pixel values in the frame.

After the pixel values have been converted and stored into display memory, the display memory values are mapped into colors with a second linear transformation, according to the current limits set in the Edit > Contrast command.  Display memory values less than or equal to the lower Edit > Contrast limit are shown in the color at the bottom of the color table (for example, black). And values at or above the upper Edit > Contrast limit are shown in the color at the top of the color table (for example, white).  The values in between are linearly mapped into the colors in the color table.  Although you enter the contrast limits in terms of pixel value (unless you're using Edit > Contrast interactively, in which case you’re changing the limits in real time without specifying explicit values), Edit > Contrast works internally strictly with the values in display memory.

In general, you don't have to worry much about display limits, since the program takes care of all the pixel-value/display-memory conversion details. For normal data collection, you should usually leave the lower File > Display limit set at zero and the upper limit at 511, or use the "automatic" setting -1 described above.  Anyway, powers of two make some internal calculations more precise, so 7, 15, 31, 63, 127, etc. are good general upper limit settings. If your frames look too dark, you can make them brighter by using a smaller File > Display upper limit. If they look too bright, use a larger File > Display upper limit.  Since the Edit > Contrast command gives you a lot of extra latitude (and is much faster), use the display limits just for getting your images into the ballpark, then use Edit > Contrast for interactive adjustments.

3.2	File > Display > Next  &  File > Display > Previous  •  Display next/previous frame in this series

Menu Command:

File > Display > Next

File > Display > Previous

Accelerator:  Ctrl+RightArrow (next), Ctrl+LeftArrow (previous)

User Level:  1

SLAM Syntax:

DISPLAY /NEXT

DISPLAY /PREVIOUS

When data frames have been collected as part of a set, these commands provide a convenient means of specifying display of the data frame that comes either just before (File > Display > Previous) or just after (File > Display > Next) the one currently displayed. The next (or previous) sequential name in a series of frames is computed according to the frame naming parameters set in the Edit > Configure > User settings dialog box (see section 4.1 Edit > Configure > User settings).

The items entered in the File > Display input dialog box remain in effect for the duration of the File > Display Next or File > Display > Previous subcommand, including the display quadrant and autoincrement qualifiers.  If the specified quadrant is 1-4 and autoincrement is set, successive frames will be displayed cyclically in the different quadrants.

When invoked from the menu or when run from the command line, File > Display > Next and File > Display > Previous start running immediately without prompting for additional input.

Arguments

None. Command executes immediately.

3.3	File > Display > Movie+    &    File > Display > Movie-  •  Repeatedly display next/previous frame until key is pressed

Menu Command:

File > Display > Movie+

File > Display > Movie-

Accelerator:  Alt+UpArrow (movie+), Ctrl+DownArrow (movie-)

User Level:  1

SLAM Syntax:

DISPLAY /MOVIE+

DISPLAY /MOVIE-

These commands are used to step through a series of sequentially numbered data frames, displaying them in sequence.  Successive frames continue to be displayed until the end of the series (that is, a nonexistent frame) is encountered or until a key or mouse button is pressed.  The MOVIE+ option displays the frames in an ascending frame number sequence and the MOVIE- option displays them in descending order.

The display arguments in the File > Display dialog are in effect for the duration of the File > Display > Movie+ or File > Display > Movie- subcommand, including the display quadrant and autoincrement qualifiers.  If the specified quadrant is 1-4 and autoincrement is set, successive frames will be displayed cyclically in the different quadrants.

When invoked from the menu or when run from the command line, these commands start immediately (without prompting for additional input).

The next (or previous) sequential name in a series of frames is computed according to the frame naming parameters set in the Edit > Configure  > User settings dialog box (see section 4.1).

Arguments

None. Command executes immediately.

3.4	File > Load  •  Read a frame from disk into frame accumulation memory

Menu Command:  File > Load

Accelerator:  Ctrl+O

User Level:  1

SLAM Syntax:  LOAD  $1  $2  /DISPLAY=<n> /SCALE=<n> /OFFSET=<n> /LOGSCALE /USE_CONFIG

The File > Load command copies a data frame from a disk into the 32-bit frame accumulation memory for display and evaluation.  The image is also displayed on the screen.  You can optionally form a linear combination of two frames, displaying the result.  File > Load, followed by a File > Save command, can also be used to convert a frame between the XENGEN 1.3 and Bruker formats, or to replace values in a frame header with the current values in the Edit > Configure panels.

When invoked from the menu or from the command line without arguments, File > Load displays a dialog box where you can view/edit the items described below. If you press ENTER or click the OK button, the load operation starts.  Pressing ESC or the Cancel button returns you to the menu without performing the operation.

File > Load is closely related to the File > Display.  Typically, File > Display is used much more often than File > Load, since it provides a more flexible set of display options, for example, for displaying sequential frames in a series or multiple frames in quadrants.  However, only File > Load contains options for combining frames and modifying frame headers.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Input Filename)     [no default]

This is the name of the file to be read from disk, or of the first file (of two) to be read when performing a linear combination.  The special name $FRAME can be used here to indicate that the first data set in a linear combination is to be the data currently residing in frame accumulation memory, for example, from the last Collect > Add command.  If you leave this item blank, or specify a "wildcard filename pattern, pressing ENTER or clicking the OK button will display a list of the current filenames matching the pattern.  You can choose one from the displayed list by moving to it with the arrow/page keys or mouse and pressing ENTER or clicking OK. You will be returned to the File > Load dialog with the selected filename filled in.  If you leave this item blank, it is the same as entering a *.* wildcard pattern.  Remember that both filenames and patterns entered here are merged with the project’s working directory.

$2	(Background Filename)     [$NULL]

This is the name of a second frame file to be read from disk and linearly combined with the first according to the scale and offset described below. If you leave this field blank, or supply the special name $NULL,  only the first file above is read in, and no linear combination is performed.  In order to run File > Load without intervention from a command script, you must supply this second filename, and must therefore specify $NULL if you want to load single frame from the command line without intervention. Default is $NULL.

/DISPLAY=<n>	(Maximum Display Counts)     [-1]

Enter 0 for no display, otherwise this item specifies the number of counts mapped into the maximum display memory value (for example, corresponding to white) on the display.  The special value -1 directs the program to pick a reasonable value by scanning through the pixels in the frame prior to display;  the special value -2 directs the program to use whatever setting is currently in effect.  The default value is -1; the allowed range is from -2 to 106 counts.  Smaller values make the displayed image look brighter;  larger values make look darker.

/SCALE=<n>	(Scale Factor)     [+n]

If you supply a second filename for the $2 argument described above, the two files are combined pixel-by-pixel according to the equation:

P0 = P1 + P2 * A + B

where P0 is the pixel value in the resulting frame, P1 and P2 are the pixel values in the first and second input frames, A is the scale factor supplied here, and B is the offset, described below.  Any resulting P0 values less than zero are clipped to zero.  A positive scale factor results in a weighted addition of the two frames while a negative scale factor results in a weighted subtraction of frame 2 from frame 1.  If instead of supplying a numeric value for the scale factor, you supply the special characters "+n" or "-n", the program weights the addition or subtraction according to the acquisition time ratio between the two frames.   That is, a value of +n results in a scale factor of t1/t2, and -n results in a scale of -t1/t2, where t1 and t2 are the respective acquisition times of frame 1 and frame 2.

/OFFSET=<n> 	(Offset)     [0]

Offset to be added prior to clipping negative values to zero.  This corresponds to "B" in the equation given in the scale factor description above.  This allows you to quantitatively assess signed differences between two frames.  The DIFFER.LUT color table can be useful for viewing signed differences.

While the linear combination capability is useful primarily for background subtraction in general diffraction applications, you can also use it to sum a series of frames to form an oscillation picture.  For example, the following SLAM commands generated a sum of 8 myoglobin frames.  Note the increase in display level as the sum grows larger:

!

! Make oscillation picture from 8 myoglobin frames

!

LOAD swmyo1.002 swmyo1.003 /DISPLAY=32 /SCALE=1.0 /OFFSET=0.0

LOAD $FRAME swmyo1.004 /DISPLAY=64 /SCALE=1.0 /OFFSET=0.0

LOAD $FRAME swmyo1.005 /DISPLAY=96 /SCALE=1.0 /OFFSET=0.0

LOAD $FRAME swmyo1.006 /DISPLAY=128 /SCALE=1.0 /OFFSET=0.0

LOAD $FRAME swmyo1.007 /DISPLAY=160 /SCALE=1.0 /OFFSET=0.0

LOAD $FRAME swmyo1.008 /DISPLAY=192 /SCALE=1.0 /OFFSET=0.0

LOAD $FRAME swmyo1.009 /DISPLAY=224 /SCALE=1.0 /OFFSET=0.0

/LOGSCALE	(Log Scale?)     [No]

If checked in the dialog box, or given as /LOGSCALE, the frame image is displayed using a logrithmic scale. By default it is unchecked.

/USE_CONFIG	(Merge Config into Header?)     [No]

If checked in the dialog box, or given as /USE_CONFIG on the command line, this qualifier replaces the following frame header items with the values currently in the Edit > Config dialog.  This option always defaults to N (unchecked), regardless of the previous setting.

Header Item	CONFIGURE/EDIT Prompt

USER	User name

DISTANCE	Sample-detector distance

LOWTEMP	Low temp device ? (Y/N)

TARGET	X-ray target material

WAVELENGTHS	X-ray source wavelength

SOURCEKV	Source kilovolts

SOURCEMA	Source milliamps

FILTER	Filter / monochromator

CENTER	Direct beam X, Direct beam Y

LUT	Color table filename

You can use this option to update frame header values, then use SAVE to save the frame with the new values.  For example, if you took a brass plate image at 18 cm, but the Edit > Config dialog contained the wrong distance, you could avoid having to retake the image as follows:

1) Correct the distance in Edit > Config > User settings.

2) Read in the brass plate with LOAD /USE_CONFIG (or with this option checked in the File > Load input panel).

3) Use File > Save to save the brass plate (so that the disk file is also modified).

4) Use Process > Spatial > Process to compute the spatial correction with the correct distance.

3.5	File > Save  •  Save a new detector frame to a disk file

Menu Command:  File > Save

Accelerator:  Ctrl+S

User Level:  1

SLAM Syntax:	 SAVE $1 /TITLE=<s> /XENGEN /DISPLAY=<n>

This command copies a data frame from the frame accumulation memory to a specified disk file disk for retention. In the process, it allows you to specify the file format and a title (up to 72 characters) to display with the data frame. (This title is stored in the output frame header.)

The data to be saved must exist in the 32-bit frame accumulation memory.  A frame currently displayed as a result of a File > Display, File > Load, Collect Menu, or Process > Spatial > New command can be saved.  A few commands will destroy the contents of the accumulation memory.  If you need to save a data frame, do so before issuing one of these (destructive) commands:

Edit > Clear (if data/image memory is cleared)

Peaks > Refl. Array > Threshold

If you try to save data that has been overwritten by one of these commands, the program displays a box with the message:

DETECTOR DATA NOT YET TAKEN OR OVERWRITTEN

Because File > Save allows you to write a frame in either Bruker or XENGEN 1.3 format, you can use it to convert a frame from one format to the other.  For example, you can use File > Load to read in a Bruker-format frame, followed by SAVE with the XENGEN-format option set to convert a frame from Bruker to XENGEN format. This option is rarely used.

When invoked from the menu, or run from the command line without arguments, File > Save displays a dialog box where you can view/edit the arguments described below.  Pressing the ENTER key or clicking the OK button starts the operation. Pressing ESC or the Cancel button returns you to the menu. Upon saving, the program displays the message "SAVING..." on the bottom status line.  Saving should be completed within a few seconds.  If the output filename starts with the five characters $NULL (case-independent), the output is sent to the null handler and discarded.

If the output file already exists, you are prompted as to whether or not you want to overwrite the file.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Output Filename)     [no default]

Enter filename for output frame.  The output filename is merged with the frame data directory in the Project > New dialog box. If the output filename starts with the five characters $NULL (case-independent), the output is sent to the null handler (i.e., is thrown away). Note: The special “$NET” is no longer supported by SAXS.

/TITLE=<s>	(Title)     [$TITLE]

Enter title for output frame (72 characters maximum).  If you're invoking File > Save from the command line, you must enclose titles containing imbedded blanks in double quotes. The special “$TITLE”  will default the title to the current title string. The default is “$TITLE”.

/XENGEN	(Xengen Format? (Y/N))     [No]

Check this option to write frame in XENGEN 1.3 (more correctly, in the old PCS computer format). The default is unchecked (Bruker format). This option is rarely used. By default it is unchecked.

/DISPLAY=<n>	(Max Displayed Counts)     [0]

Enter 0 for no display, otherwise this item specifies the number of counts mapped into the maximum display memory value (for example, corresponding to white) on the display.  The special value -1 directs the program to pick a reasonable value by scanning through the pixels in the frame prior to display;  the special value -2 directs the program to use whatever setting is currently in effect.  The default value is -0; the allowed range is from -2 to 106 counts.  Smaller values make the displayed image look brighter;  larger values make look darker.

3.6	File > Display > 3D Display  •  Redisplay current frame as 3D surface plot.

Menu Command:  File > 3D Display

Accelerator:  None

User Level:  2

SLAM Syntax:	  SURFACE $1 /ROTATION=<n> /ELEVATION=<n> /COARSENESS=<n>  /LOGSCALE

Frame images can be displayed in two methods:

1)	As frame images were each pixel is displayed by a color indicating it's intensity.

1)	As a 3D surface plot where intensity is represented by height.

The surface algorithm is very susceptible to noise. If the frame was not smoothed, then a Process > Smooth > Convolve command is automatically suggested (see section 6.15), however, in command mode, only a warning is displayed “Frame type is not SMOOTHED”.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Input file)     [$frame]

Enter the input filename (or $FRAME).

/ROTATION=<n>	(Rotation)     [0.0]

Enter the rotation angle. Default is 0.0.

/ELEVATION=<n>	(Elevation)    [30.0]

Enter the elevation angle for viewing 3D plot.

/COARSENESS=<n>	(Coarseness)    [5.0]

Enter the coarseness for drawing the surface plot.

/LOGSCALE	(Logscale)    [No]

Check to display using a logrithmic intensity scale.

3.7	File > Logfile  •  Create a new log file and start recording

Menu Command:

File > Logfile

File > Logfile > Enabled

Accelerator:  None

User Level:  1

SLAM Syntax:

LOGFILE /NEW $1 /APPEND

LOGFILE [/ON | /OFF]

The File > LogFile commands are used to maintain a record of all of a user's interaction with the system.  This record is referred to as the "log file" or "logfile." Logfiles are standard ASCII text files that can be typed, edited, printed, etc. like any other text file.  When you start recording to a log file, you have the option of appending to the file or overwriting it if it already exists.

The File > LogFile > Enabled command toggles the current state of recording to the log file. If logging is enabled, the command disables it. If logging is disabled, the command re-enables it.  A check mark is displayed in the menu next to the File > LogFile > Enabled command if logging is currently enabled.  From the SLAM command line, LOGFILE /ON and LOGFILE /OFF enable and disable scripting, respectively.

The log file records each command issued, along with its parameter values, a date/time stamp, and any non-graphic command output.  For example, the cursor commands write the statistics at the final cursor position to the log file, Analyze > Cursor writes a copy of any 17 x 17 pixel dumps, Process > Stress > Biaxial2D writes a copy of the contents of its scrollable output window, etc.  Commands and output are added to the log file until the File > LogFile > Enabled option is turned off or the user switches projects, which will automatically close any open log file.

The File > LogFile > Enabled command does not actually close the log file; it just tells the program to temporarily stop writing output to the file.  If you need to access the current log file in another process while SAXS is still running, for example to edit it from another window, you should close the file first. You can close the log file by running File > LogFile with another filename.  The program will close the current file before starting a new one.

An example of a log file output for a CURSORS /PIXEL command is:

!====================================================

!11/22/91   15:49:03

CURSORS

      $1=435

      $2=190

      /DUMP=N

      /DELAY=0.0

      /NOERASE=N

!>

!> PIXEL Statistics:  SAXI$TEST:swmyo1.005 11/22/91  15:49:36

!> Xraw, Yraw, Counts:        139       311       596

!> X, Y (Unwarped):        142.68    309.13

!> X, Y (XENGEN):             372       200

!> DX, DY:                -113.00     66.52

!> 2-Theta, Angstroms:     21.333     4.165

!> HKL:                     20.97    -10.98     -2.97

Different types of output lines are prefixed with character sequences that make the types easier to separate with editors, text filters, etc.  Lines that do not contain command information are prefixed with the comment character "!".  Lines that contain command output are prefixed with "!>". Note that the cursor was at X,Y = (435,190) when the command started, but the user moved the cursor to a final position of (139,311) before exiting the command.

With scripting enabled, the same command produced the following output script file, containing just one line:

CURSORS /PIXEL 139 311 /DELAY=0.0

Arguments

Each argument is listed below by its SLAM command line name, followed by its input panel prompt in parentheses:

$1	(Log Filename)     [frame._lg]

Filename of the log file to which output is directed.   By convention, log files have the extension ._lg.  If you don't supply a filename extension, the program will add the ._lg extension.  If you leave this item blank, or specify a "wildcard” filename pattern, pressing ENTER or clicking the OK button will display a list of the current filenames matching the pattern. You can choose one from the displayed list by moving to it with the arrow/page keys or mouse and pressing ENTER or clicking the OK button.  You will be returned to the File > LogFile dialog with the selected filename filled in.  If you leave this item blank, it is the same as entering a *._lg wildcard pattern.

/APPEND	(Append?)     [Yes]

If you check this option, output will be appended to the log file if the file already exists.  If the option is unchecked (that is, missing from the command line or unchecked in the dialog box), the output file is overwritten if it already exists.

3.8	File > Scriptfile  •  Create a new script file and start recording

Menu Command:

File > Scriptfile

File > Scriptfile > Enabled

Accelerator:  None

User Level:  2

SLAM Syntax:

LOGFILE /SCRNEW $1 /APPEND

LOGFILE [/SCRON | SCROFF]

File > ScriptFile lets you create/record a script (containing a list of one or more SAXS commands in SLAM format that execute sequentially as a group) as you interactively invoke the commands of your choice. SLAM stands for “Scripting Lexical Analyzer and Monitor” and is the command language used by most Bruker programs. (See more details below under “Command and Script File Conventions” and “@Command.”)

The File > ScriptFile > Enabled command toggles the current state of recording to the script file. If scripting is enabled, the command disables it. If scripting is disabled, the command re-enables it.  A check mark displays in the menu next to the File > ScriptFile > Enabled command if scripting is currently enabled.  From the SLAM command line, LOGFILE /SCRON and LOGFILE /SCROFF enable and disable scripting, respectively.

The File > ScriptFile command can be used to build script files automatically.  To do so, toggle the script feature on and operate the system using the exact sequence of commands that you want to appear in the script. To end the script, toggle the scripting feature off.  To execute a script file, issue the command "@<filename>" from the SAXS command line, where <filename> represents the name you gave the script file. If you attempt to play back a script just recorded before exiting and restarting SAXS, you must invoke File > ScriptFile with another filename to close the script file before starting playback. File > ScriptFile > Enabled does not close the script file. It only disables recording.  For the same reason, in order to access a script file from another process, you should close the script file.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Script Filename)     [script.slm]

Filename of the script file to which output is directed.   By convention script files have the extension *.slm.  If you don't supply a filename extension, the program will add the .slm extension.  If you leave this item blank, or specify a "wildcard” filename pattern, pressing ENTER or clicking the OK button will display a list of the current filenames matching the pattern.  You can choose one from the displayed list by moving to it with the arrow/page keys or mouse and pressing ENTER or clicking the OK button.  You will be returned to the File > ScrFile dialog with the selected filename filled in.  If you leave this item blank, it is the same as entering a *.slm wildcard pattern.

/APPEND	(Append?)     [Yes]

If this option is checked, output will be appended to the script file if the file already exists.  If the option is unchecked (that is, missing from the command line or unchecked in the dialog box), the output file is overwritten if it already exists.

3.9	File > Print  •  Dump screen to printer device or file

Menu Command:  File > Print

Accelerator:  Ctrl+P

User Level:  1

SLAM Syntax:	 PRINT  $1 /FORMAT=<n> /THRESHOLD=<n> /GREYSCALE

This command prints a copy of the data currently loaded into memory (or on the display) on a designated printer, or to a disk file for later transfer to a printer or into a word processor program.

Under NT, a special "native" format is available to specify using the native operation system's printer drivers. Text and border lines are printed in black, while the frame image is printed in either colors or gray-tones, depending on the selected printer device.

During printing, the black/white or grayscale of the image is approximated by the printer by assigning a minimum threshold for black and then using either white below that value or printing a 25% level grayscale in landscape format. Color scale plots ignore the threshold value and print the screen in 16 colors.

When invoked from the menu, or from the command line without arguments, File > Print displays a dialog box where you can view/edit the following items before performing the print operation.  If you press ENTER or click the OK button, printing begins.  Pressing ESC or the Cancel button returns you to the menu.  Use CTRL+BREAK to interrupt printing in progress.

You can also print the current display screen from just about anywhere in the program by pressing CTRL+P, allowing you to plot screens containing menus, input panels, etc.  Don't use CTRL+P during real-time data collection. Timing of real-time operations could be compromised.  The parameters on the PRINT input panel affect CTRL+P screen dumps the same way as PRINT command screen dumps. Note: Under NT, the CTRL+P option  does not work  when SAXS is  in either a menu panel or a message box.

Arguments

Each option is listed below by its SLAM command line name, followed by its dialog panel prompt in parentheses:

$1	(Output Device or Filename)     [$default]

Enter either the filename or device which is to receive the printout.  The  default device is SAXI$PRINTER, which you can define as a logical name to point to a file or device if desired.  For example, the DOS command SET SAXI$PRINTER=PRN would direct output to a parallel printer.  Alternatively, you can just enter the output name directly in the input panel (for example, PRN).  If you specify a filename, the system "prints to disk" creating a file with that filename on the system hard disk which may later be output directly to a printer without having to run SAXS.  Under DOS, a command like COPY /B <filename> PRN would copy your output file to a parallel LaserJet printer.

Note: You cannot print to a disk file if you use the Native format option.

Under NT, the SAXS printer device is often different than the default print device. Thus it is a good idea to create an unique SAXS print queue with your favorite printer settings and set the environment variable SAXI$PRINTER equal to the “Printer name”. Printing to SAXI$PRINTER will proceed without user intervention. Printing to “$DEFAULT” will default to the NT default printer, but will always display  the Print Setup dialog box.

/FORMAT=<n>	(Format)     [-1 native]

Enter the desired output format of the print data.  Interactively under NT, valid formats are "native", "BMP", "TIFF-color", "TIFF-grey", "PostScript-color", and "PostScript-grey". Native refers to the native operating system drivers for printers.

In addition to the native NT support, the program supports embedded drivers for certain printers and file formats:

Format	Description

-1	Native NT driver. (default value)

0	PCL4 printers, such as the HP LaserJets.

1	Monochrome TIFF files.

2	Monochrome PostScript files and printers

3	PCL4 color printers, that is,  HP PaintJets.

4	Color PostScript Level 2 files and printers, that is, Tektronix Phaser II & HP1200C-PS

5	Color TIFF files.

6	BMP files.

7	Codonics printer.

TIFF and BMP files are printed in portrait orientation, while all other output formats use landscape orientation to make maximum use of the page.

/THRESHOLD=<n>	(Threshold)     [16]

Specifies the minimum number of counts to be plotted as black.  Higher thresholds cause the printout to look less black;  lower thresholds cause it to look more black. Threshold is ignored for color plots.

/GREYSCALE	(Highest Resolution)     [Yes]

For PCL5 printers, specifies that any counts at or above the threshold are black. Counts between zero and the threshold are printed in a 25% greytone. If absent on the command line or specified as "N" in the input panel, all counts below the threshold are printed as white.

For color PCL4 printers, specifies to print using 16 colors. If absent on the command line or specified as "N" in the input panel, prints in black/white with all counts below the threshold printed as white. Colors are approximated with the nearest RGB printable color (see your PaintJet manual). For this reason, some greytones are printed in either brown, olive, green, or pink colors.

For PostScript printers, specifies to print using 16 greyscales (FORMAT=2) or 256-colors (FORMAT=4). If absent on the command line or specified as "N" in the input panel, prints in black/white (FORMAT=2) or 16-colors (FORMAT=4).

TIFF files behave similar to monochrome PostScript printers. A "Y" specifies 16 greyscales while "N" signifies black and white TIFF file.

Note: To preview a print file without actually printing the file, load the color lookup table with PRINT.LUT (in the Edit > Config > Colors panel), which displays the frame in reverse black/white greyscale.


4.	Edit Routines

4.1	Edit > Configure > User settings  •  Edit the current user configuration settings

Menu Command:  Edit > Configure > User settings

Accelerator:  Ctrl+C

User Level:  1(view/edit), 3 (full edit)

SLAM Syntax:

CONFIGURE /EDIT /USER=<s> /SITE=<s> /CALIBDIR=<s> /MINCPS=<n> /TIMEOUT=<n> /NAMECHAR=<n> /RUNCHARS=<n> /RUNBASE=<n> /NUMCHARS=<n> /NUMBASE=<n> /LOWTEMP /TEMP=<n> /XBEAM=<n> /YBEAM=<n> /FRAMESIZE=<n>

Edit > Configure > User settings displays a dialog box where you can view/edit certain general setup variables, including the current sample-to-detector distance, beam center coordinates, default calibration data directory, and frame naming conventions. Unless you are the SAXS Administrator, some fields are only viewable: calibration directory, beam center, and detector distance. To change a view-only field, see you SAXS Administrator and carry a big stick.

Frame Naming Parameters

Several qualifiers (NAMECHARS, RUNCHARS, RUNBASE, NUMCHARS, NUMBASE) comprise the convention SAXS uses for generating a series of sequential frame names. These naming parameters are used by the Collect > Scan > SingleRun, MultiRun, etc. commands (which collect one or more series of frames), and by File > Display (which can display a frame series in sequence). Thus, to display a series of frames, the naming parameters must be set appropriately, to match those in effect when the frames were written.

The Run # is appended directly to the Job Name, then the Frame # is added as the filename extension (it is concatenated after pre-pending a dot). Prior to concatenation, the Run # and Frame # are expanded (with leading zeros if required) to the number of characters specified by the Runchars and Numchars parameters. For your convenience, SAXS generates and displays an example filename using the current settings.

Sample-to-Detector Distance & Beam Center Measurement

Your SAXS Administrator should follow the “269-0223xx Detector Distance and Beam Center Calibration for GADDS” procedure (see SAXS Administrator’s Manual), to define the true detector distance and beam center parameters. In general, the beam center is stable over long periods of time. However, if you replace or realign the X-ray tube, or realign the goniometer, your SAXS Administrator should repeat this procedure.

Note: To process frames collected before these settings were properly set, see the /Use_config argument in section 3.5 File > Load.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

/USER=<s>	(User Name)     [SAXI$USERNAME]

Enter the user name (default is UNKNOWN).  If you define the environment variable SAXI$USERNAME, its translation will be taken as the default value. The name you supply will be stored in the header of any output frames created in Bruker (the normal) format, and in output .p4p files.

/SITE=<s>	(Site)     [SAXI$SITE]

Enter the site name (default is UNKNOWN).  If you define the environment variable SAXI$SITE, its translation will be taken as the default value. The name you supply will be stored in the header of any output frames created in Bruker (the normal) format, and in output .p4p files.

/CALIBDIR=<s>	(Calibration Data Directory)     [SAXS$CALIB:]

The directory where calibration data are to be stored, such as flood field and spatial correction files. The default is “SAXS$CALIB:”, which is an environment variable that usually translates to D:\FRAMES\CALIB\.  The special symbol, “*:”, means the current directory.

/MINCPS=<n>	(Minumum Counts per Second)     [25]

Enter  the minimum counts per seconds on scan frames. Frames collected with fewer cps are automatically re-collect, up to 3 times. This allows correcting stuck shutter problems. Default is 25 cps.

/TIMEOUT=<n>	(Auto/Command Mode Timeout)     [10]

Enter the number of seconds that you want the program to wait before proceeding when a prompt or output window displays in SLAM command-line mode.  The default is 10 seconds and the valid input range is 0 to 1,000,000 seconds. A value of 0 means no time-out (infinite wait).

/NAMECHARS=<n>	(Characters in Base Frame Name)     [28]

The maximum number of characters which can be used in the “base” component of a frame filename.  The base component is defined as the filename after removing any node, device, directory, extension, and version components.  NAMECHARS should be set to 8 for NT-FAT filenames, or 39 for NT-enhanced FAT or NTFS (or UNIX) filenames. The default is 28.

/RUNCHARS=<n>	(Characters in Run #)     [1]

This is the number of characters to be appended to the Job Name as a Set Number or Run Number (that is, the number assigned to a series of frames taken at the same phi,chi setting).  The Run Number is padded with leading zeros, if needed to fill RUNCHARS characters; it is not automatically incremented within a scan series unless the Frame Number overflows.  It is automatically incremented, however, when setting up an EDITRUNS array inside ASTRO.  RUNCHARS can usually be left at the default value of 1; however, if you’re performing more than RUNBASE runs, make sure that you set RUNCHARS to 2 to prevent wrap-around of the Run Number, otherwise earlier scans could be overwritten by later ones!  For example, if RUNCHARS is set to 1 and RUNBASE is 10 (instead of the default value of 36), a Run Number of 10 in the EDITRUNS array will result in a Run Number of 0 in the output filename.

/RUNBASE=<n>	(Base of Run #)     [36]

The numeric base of the Run Number.  The value must be 10 or 36.  If the base is 10, a carry out of each digit is produced when the digit is incremented from a value of 9, and the digit is reset to zero.  If the base is 36, the digit is incremented from 9 to A, then to B, etc.  A carry is produced when the digit reaches Z, and the digit is reset to zero.  RUNBASE should usually be left at the default value of 36.

/NUMCHARS=<n>	(Character in Frame #)     [3]

The number of characters to be appended to the filename as an extension representing the number of the frame in the current series.  The number is padded with leading zeros if needed to fill NUMCHARS characters.  This Frame Number is automatically incremented by one after each frame is collected during an Acquire > SingleRun, MultiRun, Hemisphere, Quadrant, or Matrix command.  This value should be left at its default setting of 3 if you’re collecting to a FAT-16 formatted disk partition.

A special case occurs when NUMBASE (see below) is set to 10 (the default); the most significant digit only is treated as base-36.  Thus, the frame number following .999 will be .a00.  This special case allows up to 3600 frames in a series when NUMBASE=10, while maintaining the DOS 8/3 filename convention.

/NUMBASE=<n>	(Base of Frame #)     [10]

This value represents the numeric base to be used for the frame number;  like RUNBASE, NUMBASE must be 10 or 36.  When NUMBASE is 10, the most significant digit in the Frame Number is still treated as base 36, as described above under NUMCHARS.  Base 10 is easier to interpret, but limits the number of frames in a run to 3600 under DOS, which allows, at most, 3 characters in the extension.  Base 36 allows a larger number (363) of frames per run under DOS.  This parameter should usually be left at its default of 10, unless you’re performing scans which require single sweeps of more than 3600 frames.

/LOWTEMP	(Low Temp Device (Y/N) ?)     [No]

Check this box if the LT-2 low-temperature device is installed.  Specify “N” here (or omit the qualifier in command-line mode) if no low temperature device is installed.  This value is stored in the header of output Bruker-format frames.  If you enter “Y”, SAXS fixes omega at 345° for optical alignment on a 4-circle goniometer (see the Collect > Goniom > Optical command). In addition, during data collection, SAXS rotates phi back and forth by 170° every few frames to help reduce possible sample icing.

/TEMP=<n>	(Current Temperature)     [-1]

Enter current temperature in degrees K (-1 = room temperature or unknown, default value). The Collect > Goniometer > Temperature command (see section 5.27) can also be used to define this parameter.

/XBEAM=<n>	(Direct Beam X)	     [current value]

Unwarped X-pixel coordinate (0 to framesize-1) of direct beam center at 2-Theta = 0, in the Bruker coordinate convention with (0,0) at the lower left of a displayed frame.  It is important that you enter the correct value here before collecting frames that will be analyzed with the interactive cursor commands used in conjunction with the spatial correction or for determination of crystal orientation with the Reflection Array commands.  These commands rely heavily on the value given for the beam center.  The value is stored in the output header of Bruker-format frames and in output .p4p files. If you change the value of the FRAMESIZE field, the beam center position will be scaled and converted to the new frame size convention;  the display will be updated when you tab out of the FRAMESIZE field.

Note: If you save frames in raw (warped) mode, this should be raw X-pixel coordinate.

/YBEAM=<n>	(Direct Beam Y)	     [current value]

Unwarped Y-pixel coordinate (0 to framesize-1) of direct beam center at 2-Theta = 0, in the Bruker coordinate convention with (0,0) at the lower left of a displayed frame.  It is important that you enter the correct value here before collecting frames that will be analyzed with the interactive cursor commands used in conjunction with the spatial correction or for determination of crystal orientation with the Reflection Array commands.  These commands rely heavily on the value given for the beam center.  The value is stored in the output header of Bruker-format frames and in output .p4p files. If you change the value of the FRAMESIZE field, the beam center position will be scaled and converted to the new frame size convention;  the display will be updated when you tab out of the FRAMESIZE field.

Note: If you save frames in raw (warped) mode, this should be raw Y-pixel coordinate.

/FRAMESIZE=<n>	(Size of Created Frames)     [1024]

Enter the linear frame dimension (512 or 1024) for newly created frames.  Subsequent frames created by commands in the Collect menu will have this size. If you change the value of the FRAMESIZE field, the beam center position will be scaled and converted to the new frame size convention;  the display will be updated when you tab out of the FRAMESIZE field. Storage requirements per 512 x 512 frames range from 256K bytes (8 bits per pixel) to 1 Mbyte (32 bits per pixel).  SAXS automatically compresses frames;  this compression results in no data loss and usually results in storage close to 256K bytes, or close to 512K bytes if enough diffraction lines are high enough that it cannot be contained in 8 bits/pixel.  1024 x 1024 frames require four times this amount of storage.  Acquiring and processing larger frames is slower, but will improve integration results, so it is highly recommended to use 1024 frames for power diffraction work.

4.2	Edit > Configure > Admin settings  •  View/edit the current administrator configuration settings

Menu Command:  Edit > Configure > Admin settings

Accelerator:  None

User Level:  2 (view), 3 (edit)

SLAM Syntax:

CONFIGURE /ADMIN /TARGET=<s> /WAVELENGTH=<n> /ALPHA1=<n> /ALPHA2=<n> /BETA=<n> /UNITS=<s> /KV=<n> /MA=<n> /STANDBYKV=<n> /STANDBYMA=<n> /MONOCHROMATOR=<s> /2THETA=<n> /OMEGA=<n> /PHI=<n> /CHI=<n> /DISTANCE=<n>

Edit > Configure > Admin settings displays a dialog box where you can view/edit certain instrumental setup variables, including the x-ray source, generator, and optics. Unless you are the SAXS Administrator, all fields are only viewable. To change a view-only field, see your SAXS Administrator.

Whenever a SAXS configuration file is read (starting SAXS, switching projects, etc.), the program checks the Preferred generator settings against the current settings and if different, displays the message:

Warning: Current high-voltage generator settings are different than user values.

When you invoke a command from the menu (or the command line without arguments), a dialog box appears. View or edit its contents (or type text). Then:

•	Press ENTER or click the OK button to save your entry.

•	Press ESC or click the Cancel button to return to the menu without saving your last entry.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

/TARGET=<s>	(X-ray Target Material)     [Cu]

Enter the standard 2-letter chemical symbol for the source target material (Cu, Mo, etc.), if applicable. Otherwise enter a short description of the radiation source.  The default target selection is Cu.  If you enter one of the recognized target types (Cu, Mo, Ag, Fe, Cr, or Co), the X-ray wavelengths in the following fields will be updated automatically.  The value is stored in the header of output Bruker-format frames and in output .p4p files.

/WAVELENGTH=<n>	(X-ray Source Wavelength)     [1.541838]

Enter the weighted-average X-ray wavelength in Angstroms. The default value is based on the default target (Cu) and is set at 1.541838 Å.  This value is automatically updated when the target is re-entered if the target is one of the known types (Cu, Mo, Ag, Fe, Cr, or Co).  It is important that you update this entry whenever the source wavelength is changed.  The value is stored in the header of any output frames created in Bruker format and in output .p4p files. It is also used by the interactive cursor commands, all the Reflection Array commands that deal with crystal orientation, Peaks commands, and Stress commands.

/ALPHA1=<n>	(Alpha-1)     [1.54056]

Enter the Ka1 X-ray wavelength in Angstroms. The default value is based on the default target (Cu) and is set at 1.54056 Å.  This value is automatically updated when the target is re-entered if the target is one of the known types (Cu, Mo, Ag, Fe, Cr, or Co).  It is important that you update this entry whenever the source wavelength is changed.  The value is stored in the header of any output frames created in Bruker format and in output .raw files. It is also used by the interactive cursor commands, all the Peaks commands, and the Stress commands.

/ALPHA2=<n>	(Alpha-2)     [1.54439]

Enter the Ka2 X-ray wavelength in Angstroms. The default value is based on the default target (Cu) and is set at 1.54439 Å.  This value is automatically updated when the target is re-entered if the target is one of the known types (Cu, Mo, Ag, Fe, Cr, or Co).  It is important that you update this entry whenever the source wavelength is changed.  The value is stored in the header of any output frames created in Bruker format and in output .raw files. It is also used by the interactive cursor commands, all the Peaks commands, and the Stress commands.

/BETA=<n>	(Beta)     [1.39222]

Enter the Kb X-ray wavelength in Angstroms. The default value is based on the default target (Cu) and is set at 1.39222 Å.  This value is automatically updated when the target is re-entered if the target is one of the known types (Cu, Mo, Ag, Fe, Cr, or Co).  It is important that you update this entry whenever the source wavelength is changed.  The value is stored in the header of any output frames created in Bruker format and in output .raw files. It is also used by the interactive cursor commands and all the Peaks commands.

/UNITS=<s>	(Units)     [angstroms]

Enter the wavelength units as either Angstroms (conventional and US standard) or nanometers (new European standard). The default value is Angstroms.  This value only affects displaying wavelengths within the SAXS program. All wavelengths within data files are always stored in Angstroms.

/KV=<n>	(Preferred Settings: Voltage)     [50]

Enter the preferred X-ray generator kV setting (default is 50 kV).  This value is stored in output .p4p & .raw files and in the header of output Bruker-format frames.  If you use Goniom > Generator to set the X-ray generator voltage, this value will default to the current generator setting.

/MA=<n>	(Preferred Settings: Current)     [40]

Enter the preferred X-ray generator milliamps setting (default is 40 ma).  This value is stored in output .p4p & .raw files and in the header of output Bruker-format frames.  If you use Goniom > Generator to set the X-ray generator current, this value will default to the current generator setting.

/STANDBYKV=<n>	(Standby Settings: Voltage)     [20]

Enter the standby X-ray generator kV setting (default is 20 kV).  SAXS will automatically reduce the generator settings to standby mode whenever the program has been idle for 10 minutes and the time is not between 8a.m. and 5 p.m. on a weekday. (This feature fails after 16-Jan-2038).

/STANDBYMA=<n>	(Standby Settings: Current)     [5]

Enter the standby X-ray generator milliamps setting (default is 5 ma).  See above /STANDBYKV.

/MONOCHROMATOR=<s>   (Filter / Monochromator)     [parallel, graphite]

Enter a short description of filter or monochromator (default is “parallel, graphite”).  Currently this value has no effect on the operation of the program, but it is stored in the header of output Bruker-format frames.

/2THETA=<n>	(2-Theta)     [0.0]

Enter the detector 2 setting in degrees, typically 0.0.

/OMEGA=<n>	(Omega)     [0.0]

Enter the detector omega setting in degrees, typically 0.0.

/PHI=<n>	(Phi)     [0.0]

Enter the detector phi setting in degrees, typically 0.0.

/CHI=<n>	(Chi)     [0.0]

Enter the detector chi setting in degrees, typically 0.0.

/DISTANCE=<n>	(Sample-detector distance)     [65.0]

Enter current nominal sample-to-detector distance in centimeters. The default setting is 65.00 cm.  It is important that you enter the correct value here whenever you change the detector distance.  The value is stored in the header of any output frames created in Bruker format, and is used by the flood-field and spatial corrections, the interactive cursor commands, integration commands.

4.3	Edit > Configure > Read  •  Read a new configuration from a disk file

Menu Command:  Edit > Configure > Read

Accelerator:  None

User Level:  2

SLAM Syntax:	 CONFIGURE /READ $1

Use this command to restore current program settings from a specified disk file. These configuration files, which have file extensions of ._sc, contain the current flood file correction, spatial correction, and current values of nearly all input panel items for nearly all the SAXS commands (a few exceptions).

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(Configuration Filename)     [saxs._sc]

Enter the filename where the configuration is to be saved (or read). The default file is saxs._sc. If you omit the file extension, *._sc is assumed.

4.4	Edit > Configure > Write  •  Save the current configuration to a disk file

Menu Command:  Edit > Configure > Write

Accelerator:  None

User Level:  2

SLAM Syntax:	 CONFIGURE /WRITE $1

Use this command to save current program settings to a specified disk file for later read-in using the Edit > Configure > Read command. Typically, you would use these commands to save a good configuration, play around with the program, and if something fails, restore the good configuration.

These configuration files, which have file extensions of ._sc, contain the current flood file correction, spatial correction, and current values of the input panel items for nearly all the SAXS commands (a few exceptions).

On startup, SAXS normally reads its configuration from a file called saxs._sc in the current project’s working directory. You can override this start-up behavior with a start-up command line qualifier. (See Chapter 1.3, for details.) On exiting, SAXS normally saves its configuration file into a file called saxs._sc in the current project’s working directory.

Caution: These commands are active and do not prompt before performing an operation (overwriting an existing file).

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(Configuration Filename)     [saxs._sc]

Enter the filename where the configuration is to be saved (or read). The default file is saxs._sc. If you omit the file extension, *._sc is assumed.

4.5	Edit > Configure > Show model  •  Display the current goniometer and controller type

Menu Command:  Edit > Configure > Show model

Accelerator:  None

User Level:  1

SLAM Syntax:	 CONFIGURE /SHOWMODEL

Use this command to display the current goniometer model type, maximum frame size, current frame size, current flood correction, current spatial correction, project working directory, and calibration directory.

Arguments

None. Command executes immediately.

4.6	Edit > Configure > Colors  •  Edit the current color configuration settings

Menu Command:  Edit > Configure > Colors

Accelerator:  None

User Level:  1

SLAM Syntax:

CONFIGURE /COLORS $1 /WINBG=<n> /WINFG=<n> /CURSOR=<n> /HIGHLIGHT=<n> /BORDER=<n> /GRAPH=<n> /OVERLAY=<n> /MATCH1=<n>

This command displays a dialog box where you can view or edit the colors used for the windows displayed by the program and the color scheme (called a “color table” or “color lookup table”) used to display detector frame pixel values.

Each window color (WINBG, WINFG, CURSOR, HIGHLIGHT, and BORDER) is specified as a 9-digit decimal integer. The first three digits correspond to the red level, the second three to the green level, the last three to the blue level. The range for each color is 0-255. Thus, the number itself has a range from 000000000 to 255255255 (RRRGGGBBB).  For example, the value 255000000 is bright red, 000255000 is bright green, 255255000 is bright yellow, 255255255 is white, 050000050 is dark purple, 000000000 is black, and 080080080 is gray. The simplest way to select a color is to enter an asterisk (*) and let the program display a color table map, where you can click on any color and have the RGB value calculated.

When you invoke a command from the menu (or the command line without arguments), a dialog box appears. View or edit its contents (or type text). Then:

•	Press ENTER or click the OK button to save your entry.

•	Press ESC or click the Cancel button to return to the menu without saving your last entry.

SAXS displays the angle status in the following color scheme:

•	Non-controllable axes in border color.

•	Moving axes in highlight color.

•	Stationary and controllable axes in foreground color.

•	Axes in collision state in reverse video: background on highlight color.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(Color Table Filename)     [bb.lut]

Enter name of the color lookup table to be used for frames.  This entry does not affect the colors used for menus, windows, screen background, etc. Color tables are assumed to be located in the directory pointed to by SAXS$SYSDATA:, and a .lut filename extension is assumed if you don’t specify one.  The following color tables are supplied with the program.  In addition, you can supply the special value, $DEFAULT, which refers to a table similar to bb.lut below, which is not disk-resident but, rather, is hard-wired into the program code.

BB.LUT	The default color table generated using a blackbody radiation model.  Intensities are monotonically increasing, but color provides better discrimination than a straight monochrome scheme.

CUSTOM.LUT	Arbitrary multicolor scheme

DIFFER.LUT	Red/green color table useful in viewing frames that are built from differences (for example a subtraction of one frame from another)

MONO.LUT	Monochrome grayscale color table

PRINT.LUT	Reverse monochrome grayscale color table.  Useful for previewing monochrome hardcopy screen dumps

V16.LUT	16-level color table, using a scheme similar to the defaults on older PCS systems

V8.LUT	8-level color table, using a scheme similar to the defaults on older PCS systems

V8SYM.LUT	Like V8, but with colors symmetrically distributed about the center display memory value

VIDEO.LUT	Another arbitrary multicolor scheme

When using the Edit > Config > Colors dialog, you can select the lookup table name from a list of available filenames by specifying a “wildcard” pattern in the COLOR TABLE FILENAME entry or by leaving the entry blank, and pressing ENTER or the left mouse button.  The default filespec used to search for available lookup tables is SAXS$SYSDATA:*.lut.

/WINBG=<n>	(Window Background Color)     [000000050]

Specifies the window background color as a 9-digit number in RRRGGGBBB format (see above). This is the color of the background outside of the image area when the program is started.  By default, it is dark blue (000000050).

/WINFG=<n>	(Window Foreground Color)     [255255255]

Specifies the window foreground color as a 9-digit number in RRRGGGBBB format (see above). This is the color of the screen text you see in the status areas, menus, and panels.  By default, it is white (255255255).

/CURSOR=<n>	(Cursor Color)     [000255255]

Specifies the color of the cursors that appear in the interactive cursor commands as a 9-digit number in RRRGGGBBB format (see above). This same color is used to draw graphic overlays (for example, X-Y plots).  By default, it is cyan (000255255).

/HIGHLIGHT=<n>	(Highlight Color)     [210000000]

Specifies the background color of “highlighted” text as a 9-digit number in RRRGGGBBB format (see above).  Text which is highlighted includes window title bars, and prompts, warnings and error messages displayed on the bottom status line. By default, it is read (210000000).

/BORDER=<n>	(Border Color)     [064192200]

Specifies the color of the line drawn around windows and panels as a 9-digit number in RRRGGGBBB format (see above).  By default, it is light cyan (064192200).

/GRAPH=<n>	(Raw Graph Color)     [255255255]

Specifies the color of the graphs drawn in the Peaks commands as a 9-digit number in RRRGGGBBB format (see above).  By default, it is white (255255255).

/OVERLAY=<n>	(Peak Overlay Color)     [000255000]

Specifies the color of the peak overlays drawn in the Peaks commands as a 9-digit number in RRRGGGBBB format (see above).  By default, it is green (000255000).

/MATCH1=<n>	(Match #1 Overlay Color)     [000255255]

Specifies the color of the second graph drawn in the Peaks commands as a 9-digit number in RRRGGGBBB format (see above).  By default, it is cyan (000255255).

4.7	Edit > Clear  •  Erase the data array and/or the display screen

Menu Command:  Edit > Clear

Accelerator:  Ctrl+Del

User Level:  1

SLAM Syntax:  CLEAR  $1 /QUADRANT=<n> /GRAPHICS_SAVE /IMAGE_SAVE

Analyze > Clear erases a specified region of the display and/or frame buffer memory.  Clearing of the screen can be confined to just image data (retaining any overlaid graphics) or just graphic overlays (retaining the underlying image).

When invoked from the menu, or from the command line without arguments, Analyze > Clear displays a dialog box where you can view/edit the arguments described below.  Pressing the ENTER key or clicking the OK button starts the operation.  Pressing ESC or the Cancel button returns you to the menu.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(Screen, Data, or All?)     [ALL]

Selects either the screen, the frame buffer accumulation memory (data) or both are to be cleared. "SCREEN" = erase display, "DATA" = erase accumulation memory, "ALL" = erase both. The default value is "ALL".

/QUADRANT=<n>	(Screen Quadrant)     [0]

Specifies the targeted display quadrant(s), to be cleared. The selection criteria are: 0 = all (the entire image area), 1 = first quadrant (lower left), 2 = second quadrant (lower right), 3 = third quadrant (upper left), and 4 = fourth quadrant (upper right). The default value is 0 (clears everything).

/GRAPHICS_SAVE	(Preserve Graphics (Y/N) ?)     [No]

Specifies whether or not to preserve the graphics if you clear the screen. Enter "Y" to erase just the displayed image and retain any overlaid graphics, "N" otherwise. The default value is "N".

/IMAGE_SAVE	(Preserve Image (Y/N) ?)     [No]

Specifies whether or not to preserve the image if you clear the screen. Enter "Y" to erase only the overlaid graphics and retain the underlying image, "N" otherwise. The default value is "N".

4.8	Edit > Contrast  •  Change the screen brightness and contrast

Menu Command:  Edit > Contrast

Accelerator:  Ctrl+T

User Level:  1

SLAM Syntax:  CONTRAST /LO=<n> /HI=<n>

This command performs real-time linear mapping of frame pixel values into the colors in the color lookup table currently loaded. (See Edit > Colors for more about color lookup tables.)  Based on the current mouse position (or the specified LO and HI values if invoked from the command line), Edit > Contrast computes a lower and upper limit. All pixel values at or below lower limit show up as lowest color in the color table (for example, black). Those at or above upper limit appear as highest color (for example, white). Pixel values in between are linearly mapped to colors in the table.

When you invoke this command from the menu, or from the command line with no arguments, you can change the lower and upper limit with the mouse or arrow keys.  Horizontal motion changes the width of the contrast window. Motion to the left brings the lower and upper limits closer together (increasing contrast) and motion to the right moves the upper and lower limits farther apart (reducing contrast and increasing latitude).  Horizontal motion is, thus, analogous to a contrast control or choosing a type of film according to the desired latitude.  Vertical motion raises or lowers the upper and lower limits together and is analogous to a brightness control or to selecting the length of exposure of a film.

When you’re using the arrow keys to modify contrast, you can press CTRL simultaneously with an arrow key to jump in intervals ten times larger than the arrow key alone.

To exit and save your changes to the color mapping, press ENTER or the left mouse button.  To exit and reset the mapping to default (wide-open) levels, press ESC or the right button.  When invoked from the command line with both the arguments shown below, the mapping is changed to the specified lower and upper limits, and control returns immediately to the command line.

SLAM arguments follow:

/LO=<n>	[0]

The number of counts to be mapped to the lowest display color. The default value is 0. The valid range is -255 to 65535.

/HI=<n>	[255]

The number of counts to be mapped to the highest display color. The default value is 255. The valid range is -255 to 65535.

4.9	Edit > Zoom  •  Magnify a specified square area on the display

Menu Command:  Edit > Zoom

Accelerator:  Ctrl+Z

User Level:  1

SLAM Syntax:	 ZOOM  $1  $2  $3

Analyze > Zoom displays the pixels surrounding a specified center point as a magnified image.  Magnification is performed by pixel replication, with the replication factor a power of 2 from 1 to 16, where 1 corresponds to the normal, unmagnified display.  If the specified X or Y center would leave part of the image area blank, the image is translated only far enough to place the edge of the frame at the edge of the image area.

No arguments are prompted for when ZOOM is invoked from the menu. ZOOM displays a full-screen crosshair; the zoom center is selected with the crosshair, which can be dragged with the mouse (or cursor keys). Once the zoom center is selected, press ENTER or release the left mouse button to display the following pop-up menu, from which you can choose the desired magnification factor:

Exit

1X

2X

4X

8X

16X

Select the EXIT option to exit and return to the menu.

Cursor commands that return pixel values and positions can be used on zoomed images.  Positions are reported relative to the original image; for example, if the magnification factor is 16, you would need to press the left arrow key 16 times in Analyze > Cursor to change from one X-pixel coordinate to another (assuming you start at the edge of an unmagnified pixel).

When invoked from the command line interpreter mode, the ZOOM command accepts three arguments.

$1	(X)     [255]

Enter X-pixel to try to center on screen. The range is from 0 to framesize-1.

$2	(Y)     [255]

Enter Y-pixel to try to center on screen. The range is from 0 to framesize-1.

$3	(Magnification)     [1]

Enter the magnification (zoom) to examine a specific area in greater detail. The allowed range is from 1 to 16.

4.10	Edit > Frame info  •  View a frame header

Menu Command:  Edit > Frame info

Accelerator:  Ctrl+F

User Level:  1

SLAM Syntax:  FRAME_INFO $1

Edit > Frame Info allows you to view the header of the currently displayed frame, or that of a specified frame file (very useful for detective work for data collection parameters).

When invoked from the menu, or run from the command line without arguments, Edit > Frame Info displays a dialog box where you enter the name of the frame whose header is to be viewed.  After entering the filename, pressing ENTER or clicking the OK button displays the header in a scrollable window; pressing ESC or clicking the Cancel button returns you from the dialog to the menu without displaying the header.

When viewing the header, pressing the ENTER key or clicking the OK button terminates the scrollable window and returns you to the menu bar.  You can click the Write..  button to write the currently selected header text (or the entire header, if nothing is selected to an ASCII text file, or click the Print... button to send the header text to a printer.

See Appendix A: Area Detector Frame Format: Headers for more information.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(Frame Filename)     [$FRAME]

Filename of the frame whose header is to be displayed. The special name $FRAME (the default) refers to the currently displayed frame.  If you leave this item blank on the input panel, or specify a "wildcard" filename pattern, pressing ENTER or clicking the OK button will display a list of the current filenames matching the pattern.  You can choose one from the displayed list by moving to it with the arrow/page keys or scrollbars and mouse, then pressing ENTER or clicking OK.  You will be returned to the input panel with the selected filename filled in.  If you leave this item blank, it is the same as entering a *.* wildcard pattern.  Remember that both filenames and patterns entered here are merged with the Crystal > New Project data directory (see Crystal > New Project for details).

See the Appendix A, Bruker Area Detector Frame Data Format, for details on the frame header


5.	Collect Routines

5.1	Collect > Detector > Cu bias  •  Set PDC to Cu (low) bias setting

Menu Command:  Collect > Detector > Cu bias

Accelerator:  Ctrl+Shift+C

User Level:  1

SLAM Syntax:  DETECTOR /CU

Use this command to place the PDC and detector at the Cu (low) bias setting. The action is performed immediately, with no prompt for additional input. The DETECTOR item in the goniometer status area at the lower right of the display is updated to reflect the new bias status.

Note: For the SAXS software to be able to change the detector bias, the PDC (position decoding circuit) must be in

Detector Bias - On              Source Select - Auto.

If the bias setting is incorrect when invoking either a Process > Flood > New, a Process > Spatial > New, or any  Collect > Scan command, SAXS will prompt the user to switch to the correct bias setting before collecting the data. Fe, high, bias is used by Flood and Spatial, while Cu, low, bias is used for Scan commands.

Arguments

None. Command executes immediately.

5.2	Collect > Detector > Fe Bias  •  Set PDC to Fe (high) bias setting

Menu Command:  Collect > Detector > Fe bias

Accelerator:  Ctrl+Shift+F

User Level:  1

SLAM Syntax:  DETECTOR /FE

Use this command to place the PDC and detector at the Fe (high) bias setting. The action is performed immediately, with no prompt for additional input. The DETECTOR item in the goniometer status area at the lower right of the display is updated to reflect the new bias status.

Note: For the SAXS software to be able to change the detector bias, the PDC (position decoding circuit) must be in

Detector Bias - On              Source Select - Auto.

If the bias setting is incorrect when invoking either a Process > Flood > New, a Process > Spatial > New, or any Collect > Scan command, SAXS will prompt the user to switch to the correct bias setting before collecting the data. Fe, high, bias is used by Flood and Spatial, while Cu, low, bias is used for Scan commands.

Arguments

None. Command executes immediately.

5.3	Collect > Detector > Y vs X  •  Set PDC for normal positional display

Menu Command:  Collect > Detector > Y vs. X

Accelerator:  none

User Level:  1

SLAM Syntax:  DETECTOR /YVSX

Use this command to place the PDC and detector into normal X-Y position display. The action is performed immediately, with no prompt for additional input.

Arguments

None. Command executes immediately.

5.4	Collect > Detector > E vs E  •  Set PDC for energy versus energy for bias calibration

Menu Command:  Collect > Detector > E vs. E

Accelerator:  none

User Level:  1

SLAM Syntax:  DETECTOR /EVSE

Use this command to place the PDC and detector into energy versus energy for bias calibration. The action is performed immediately, with no prompt for additional input.

Arguments

None. Command executes immediately.

5.5	Collect > Detector > Add  •  Accumulate a frame with temporary linear flood field

Menu Command:  Collect > Detector > Add

Accelerator:  none

User Level:  1

SLAM Syntax:

DETECTOR  /ADD  $1  /CLEAR  /PATTERN  /COUNTS=<n>  /DISPLAY=<n>  /REALTIME  /RESET=<n>  /SHUTTER

Use this command to collect a single "still" frame of data at a fixed goniometer position using a linear flood field. Data is continuously acquired until either a specified amount of time has elapsed or a specified number of counts is reached, whichever occurs first.

You can optionally display the accumulated frame after it has been acquired, or update the display immediately as each count is recorded (referred to as "real-time display").  If you elect one of the display options, ADD also updates the current frame status information displayed at the upper right of the screen.

The frame remains in the frame buffer's accumulation memory; it is not written directly to disk. Use the SAVE command to save the data to disk.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(Max. Seconds)     [30]

This is the maximum count time (in seconds). The default value is 30; the range is from 1 to 65,535 seconds.  Times can be entered in decimal seconds or in HH:MM:SS.SS (hours, minutes and seconds) format.  Data collection ends when the specified time has elapsed, or when the maximum count limit (see MAX COUNTS below) has been reached.

/CLEAR	(Pre-Clear?)     [Y]

This qualifier, when set, clears memory before the new data frame is collected. If it is not set, the new data are added to the image already in the frame accumulation memory (for example, an image left over from a previous ADD, LOAD, or SCAN command).

/PATTERN	(Test Pattern?)     [N]

This qualifier, when present, draws a test grid into the frame accumulation memory prior to collecting data.  The test grid is used for factory alignment, and consists of grid lines on a 64-pixel spacing; two circles, one with a 270-pixel radius and one with a 280-pixel radius; and two crosses rotated to 45 degrees, one linear cross, and one passed through the current flood field correction.

/COUNTS=<n>	(Max. Counts)     [10,000,000]

This qualifier sets an upper limit on how many counts may occur before data collection is terminated. When the specified number is reached the system ends the data collection, saving the data frame. The default value is 10,000,000 counts, with a range from 0 to 1037 counts.  Data collection will also be terminated if MAX SECONDS is reached before MAX COUNTS.

/DISPLAY=<n>	(Max Displayed Counts)     [7]

0 = no display, otherwise # counts corresponding to white on the display. The initial default is 7; the allowed range is from 0 to 106.

/REALTIME	(Realtime Display)     [Y]

This qualifier, when present, displays data as it is being collected.  The display does require additional processing time, and will limit the maximum rate at which counts can be accumulated.  If the MAX DISPLAYED COUNTS qualifier is given a non-zero value, the frame will be automatically displayed at the end of the ADD if realtime display is off.  This latter display method has no effect on observed data rate.

If you're not sure whether realtime display will affect the observed data rate significantly at your current incident count rate, check the late counts in the frame header of a representative frame with the FRAME_INFO command. If the late counts are more than a few percent of the total counts, your data collection will be more efficient if realtime display is turned off.  In general, you should be able to use realtime display for set-up and sample evaluation, but you should disable it during collection of frame series which will be used as input to data reduction (see the similar SCAN command display options).

/SHUTTER	(Open & Close Shutter?)     [N]

This qualifier, if present, causes the shutter to open at the start of the ADD, and to close at the end.  Otherwise, the shutter stays in its current state for the duration of the ADD.

/RESET=<n>	(Bar-Graph Hold Time)     [0.0]

This qualifier specifies the number of seconds before repetitive auto-clear of frame memory (0 = do not clear). The default value is 0; the range is from 1 to 65,535 seconds.  This parameter is useful in conjunction with realtime display if you're looking for a change in intensity over time.  For instance, if you're driving the goniometer manually to look for or maximize the intensity of a reflection, it helps to clear the screen frequently, for example every 1 second by setting the reset interval to 1.

5.6	Collect > Detector > Reset  •  Reset to x-position vs. y-position, Cu bias

Menu Command:  Collect > Detector > Reset

Accelerator:  Ctrl+Shift+R

User Level:  1

SLAM Syntax:  DETECTOR /DETRESET

Use this command to place the PDC and detector at the Cu (low) bias setting and into normal X-Y position display. The action is performed immediately, with no prompt for additional input. The DETECTOR item in the goniometer status area at the lower right of the display is updated to reflect the new bias status.

Note: For the SAXS software to be able to change the detector bias, the PDC (position decoding circuit) must be in

Detector Bias - On              Source Select - Auto.

If the bias setting is incorrect when invoking either a Process > Flood > New, a Process > Spatial > New, or any Collect > Scan command, SAXS will prompt the user to switch to the correct bias setting before collecting the data. Fe, high, bias is used by Flood and Spatial, while Cu, low, bias is used for Scan commands.

Arguments

None. Command executes immediately.

5.7	Collect > Detector > X-E vs X  •  Set PDC for X preamp calibration

Menu Command:  Collect > Detector > X-E vs. X

Accelerator:  none

User Level:  2

SLAM Syntax:  DETECTOR /XEVSX

Use this command to place the PDC and detector for X preamp calibration. The action is performed immediately, with no prompt for additional input.

Arguments

None. Command executes immediately.

5.8	Collect > Detector > Y-E vs X  •  Set PDC for Y preamp calibration

Menu Command:  Collect > Detector > Y-E vs. X

Accelerator:  none

User Level:  2

SLAM Syntax:  DETECTOR /YEVSX

Use this command to place the PDC and detector for Y preamp calibration. The action is performed immediately, with no prompt for additional input.

Arguments

None. Command executes immediately.

5.9	Collect > Detector > Custom  •  Enter values to be loaded into PDC setup registers

Menu Command:  Collect > Detector > Custom

Accelerator:  none

User Level:  3

SLAM Syntax:  DETECTOR /PDCCUSTOM  $1  $2  $3

Use this command to place the PDC and detector into a custom configuration. Useful for testing purposes only.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(X-ADC Source)     [0]

Enter 0 for X-position, 1 for X-energy, 2 for Y-position, or 3 for Y-energy.

$2	(Y-ADC Source)     [2]

Enter 0 for X-position, 1 for X-energy, 2 for Y-position, or 3 for Y-energy.

$3	(Bias)     [0]

Enter 0 for Cu, low BIAS, 1 for Fe, high bias.

5.10	Collect > Goniometer > Drive  •  Move goniometer axes to specified positions

Menu Command:  Collect > Goniometer > Drive

Accelerator:  Ctrl+Shift+D

User Level:  1

SLAM Syntax:

GONIOMETER /DRIVE  $1  $2

Use this command to drive the goniometer axes to a specified position. The default settings are the current positions, so you only change the axes that you wish to drive. The minimum and maximum allowed values are taken from the current software collision limit settings (see Collect > Goniometer > Limits settings, section 5.15).

When in the panel, pressing the ESC key or clicking Cancel button returns you to the main menu-menu. Pressing the ENTER key or clicking OK button initiates the drive command.

SAXS checks the specified angles against the current collision limits and extended limits and displays an error message if the requested positions are not allowed. Otherwise, SAXS begins moving the goniometer to the specified positions.  During the drive the message appears on the bottom status line:

DRIVING -- PRESS ANY KEY TO STOP...

You can halt the drive by pressing a keyboard key (for example, ENTER or the space bar).

On completion, the program updates the current goniometer angles displayed in the goniometer status area at the lower right of the screen.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(X)     [current setting]

Enter the destination X position in mm. Default is current setting.

$2	(Y) 	[current setting]

Enter the destination Y position in mm. Default is current setting.

5.11	Collect > Goniometer > Manual  •  Control goniometer from manual box

Menu Command:  Collect > Goniometer > Manual

Accelerator:  Ctrl+Shift+M

User Level:  1

SLAM Syntax:

GONIOMETER /MANUAL  $1

also	RATEMETER  $1  /RESET=<n>  /SHUTTER

Use this command to operate the goniometer motors using the manual control box. While the manual control is activated, the program control is suspended.

When in the panel, pressing the ESC key or clicking Cancel button returns you to the main menu-menu. Pressing the ENTER key or clicking OK button initiates the manual command. The goniometer is said to be in "manual mode" when in this state.  During manual mode, the message appears on the bottom status line:

MANUAL MODE. ESC=EXIT, S=SHUTTER, T=ATTENUATOR, A=ADD, C=COUNT.

Pressing ESC (or CTRL+G) exits manual mode, closing the shutter (if open), and returns you to the main menu. Pressing the S key toggles the state of the X-ray shutter open/closed.  Its status is updated in the goniometer status area at the lower right of the screen.  Pressing the T key performs the same function for the incident beam attenuator on systems equipped with an attenuator.

Pressing the A key displays the Collect > Add input dialog.  After you edit the items in this dialog, pressing ENTER or clicking the OK button begins a Collect > Add operation, during which the goniometer remains under control of the manual box.  This feature is most useful in conjunction with Collect > Add's /REALTIME real-time display option, with or without the /RESET periodic redisplay option, to observe changes in the X-ray pattern as the goniometer angles are changed.  If you want to terminate the acquisition early, use CTRL+BREAK, which returns you to manual mode (as will the ESC key or Cancel button pressed while in the ADD input panel).  (See Collect > Add, section 5.45).

Pressing the C key displays the RATEMETER input panel.  If you supply values for the items in this panel, pressing the ENTER key or left mouse button begins a RATEMETER operation, during which the goniometer remains under control of the manual box. This is most useful during instrument alignment, with or without the /RESET option, to observe changes in the x-ray pattern in real-time as the goniometer angles are changed. If you want to terminate the RATEMETER early, use the CTRL-BREAK key combination, which returns you to manual mode (as will the ESC key or right mouse button pressed while in the RATEMETER input panel).

While you're controlling the goniometer manually, the setting axes displayed in the goniometer status area on the lower right of the screen are not updated in real time.  However, if you press the ENTER on Phoenix controller’s or AXIS PRINTOUT button on the GGCS controller’s manual control box, the values on the screen will be updated to reflect the current angles.  On the Phoenix  controller, you can also press the ACVAL key to display the current angles on the manual control box’s LCD. The display is also updated automatically when you exit manual mode.

To operate the manual control box on the Phoenix controller (D8-Discover systems), press SHIFT-F1, then select the requested axis by pressing 1 for 2è, 2 for ù, 3 for ö, 4 for ÷, 5 for X, 6 for Y, 7 for Z, 8 for Aux1. Select drive speed by pressing + for fast or – for slow. To drive the axis, press and hold the down arrow for reverse or up arrow for forward. Release the arrow to stop the drive. Note: the D8 controller will drive for 120º and stop; this is normal. To display axes angles and positions, press the ACVAL (actual values) button. Note: if angles are dashes, you need to initialize the drive with a home command.

To operate the manual control box on the GGCS controller (Platform and earlier systems), select the requested axis by pressing the button. If a non-controllable axis is selected, then the message appears:

Bad button combination.

The buttons are labeled A, B, C, and D (also labeled: , , 2, and ). ). On a four-axis GGCS,  and  are used for X and Y. On an eight-axis GGCS, multiple button presses are required to control the additional axes: A+B for X, A+C for Y, A+D for Z, and C+D for Aux1.

To drive the selected axis, press and hold the fast forward, slow forward, fast reverse, or slow reverse button. To stop the drive, release the drive button.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(X/Y Fast:Slow Speed Ratio)     [14]

Enter the slew speed to slow speed ratio for manual control box. Default is 14. This parameter has no effect on Phoenix controllers (D8 Discovery systems) which has a fixed fast and slow speeds.

5.12	Collect > Goniometer > Update  •  Enter observed goniometer angles

Menu Command:  Collect > Goniometer > Update

Accelerator:  none

User Level:  2

SLAM Syntax:     GONIOMETER /UPDATE  $1  $2

This command is used to reset the goniometer controller's (Phoenix’s or GGCS's) memory to the correct goniometer position.  That is, if the readings on the goniometer's angular scales are different from those reported by the program, use this command to enter the readings from the angular scales to the nearest 0.5°.  The program then sends these readings to the goniometer controller, which very accurately maintains the current positions modulo 1 degree but must rely occasionally on this type of user input for the coarse absolute position.

On 4-circle, P3, style goniometers, all angles are entered to the nearest 0.5 degree.  The program then sends these readings to the goniometer controller, which very accurately maintains the current positions modulo 1 degree, but must rely occasionally on this type of user input for the coarse absolute position.

On all other goniometers (for example D8, Platform, or Aztalan), all angles and positions are entered with full fractional values. Rarely, if ever, does one know the exact axis setting, so typically, one performs a Collect > Goniometer > Home (see section 5.24) command after updating an axis to accurately position the axis.

When invoked from the menu, or run from the command line without arguments, Collect > Goniometer > Update displays a dialog box where you can view/edit the arguments described below.  Pressing the ENTER key or clicking the OK button updates the angles. Pressing ESC or clicking the Cancel button exits without updating the angles.  On successful completion, the program also updates the current goniometer angles displayed in the goniometer status area at the lower right of the screen.

Note: To change the settings of non-controllable axes, see the Collect > Goniometer > Fixed axes command, section 5.23.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(X)     [current value]

The current X positional reading from the goniometer, to the nearest 0.5 mm.

$2	(Y)     [current value]

The current Y positional reading from the goniometer, to the nearest 0.5 mm

5.13	Collect > Goniometer > Limits  •  Enter software collision limits

Menu Command:  Collect > Goniometer > Limits

Accelerator:  none

User Level:  2

SLAM Syntax:

GONIOMETER /LIMITS $1 $2  $3  $4

This command is used to specify the software collision limits for the goniometer axes.

When invoked from the menu, or run from the command line without arguments, this command displays a dialog box where you can view/edit the arguments described below. Pressing the ENTER key or clicking the OK button stores the limits you’ve entered.  Pressing ESC or clicking the Cancel button exits without modifying the limits.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt and default values in degrees.  (Note that a positive limit is a limit on drives which proceed in the positive direction. A negative limit limits drives in the negative direction. If both the positive and negative limit for any angle or axis are zero, the program considers its motion unlimited.)

$1	(X)     [current value]

The positive X limit in mm.

$2	(X)     [current value]

The negative X limit in mm.

$3	(Y)     [current value]

The positive Y limit in mm.

$4	(Y)     [current value]

The negative Y limit in mm.

5.14	Collect > Goniometer > Speeds  •  Enter slew drive speeds of axes

Menu Command:  Collect > Goniometer > Speeds

Accelerator:  none

User Level:  2

SLAM Syntax:

GONIOMETER /SPEEDS  $1  $2

This command is used to set the maximum drive speeds for the goniometer axes.  These speeds are also used as the “fast” drive speeds in manual mode (see Collect > Goniometer > Manual, section 5.11).

When invoked from the menu, or run from the command line without arguments, Collect > Goniometer > Speeds displays a dialog box where you can view/edit the arguments described below.  Pressing the ENTER key or clicking the OK button updates the drive speeds. Pressing ESC or clicking the Cancel button exits without changing the speeds.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses.  The conventions are listed with all values in degrees/minute or mm/minute:

Parameter	Dialog Box Prompt	Default	Maximum Allowable

$1	(X SPEED)	60.0	1000.0

$2	(Y SPEED)	60.0	1000.0

Caution: Although the software’s valid range for speeds is up to the “Maximum Allowable” values (specified above), increasing the slew speeds to above what the goniometer can handle, will result in lost axis position. Heavy stages or samples, will result in a slower, reliable slew speed for the omega axis. If you increase the speeds above the default, please test the drives for reliability.

5.15	Collect > Goniometer > Attenuator  •  Insert/remove attenuator

Menu Command:  Collect > Goniometer > Attenuator

Accelerator:  Ctrl+Shift+N

User Level:  1

SLAM Syntax:  GONIOMETER /ATTENUATOR

When invoked from the menu, or run from the command line, Collect > Goniometer > Attenuator immediately toggles the status of the hardware beam attenuator on those systems equipped with an attenuator.  If the attenuator is currently not inserted, the program opens the shutter (if not already open) and inserts the attenuator.  If the attenuator is inserted, the program removes the attenuator from the beam (and must briefly close the shutter to do so).  The SHUTTER item in the goniometer status area at the lower right of the display is updated to reflect the new attenuator status.

Arguments

None. Command executes immediately.

5.16	Collect > Goniometer > Shutter  •  Open/close x-ray shutter

Menu Command:

Collect > Goniometer > Shutter

or	Collect > Shutter

Accelerator:  Ctrl+Shift+S

User Level:  1

SLAM Syntax:

GONIOMETER /SHUTTER

or	SHUTTER

When invoked from the menu, or run from the SLAM command line, Collect > Goniometer > Shutter toggles the status of the X-ray shutter (that is, if the shutter is currently closed, the program opens it and, if it is open, the program closes it).  The action is performed immediately, with no prompt for additional input.  The SHUTTER item in the goniometer status area at the lower right of the display is updated to reflect the new shutter status.

SAXS supports an optional high-precision rotary shutter.  This shutter is intended for use with rotating anodes and synchrotron sources.  The normal Bruker shutter on sealed tube systems is perfectly adequate for acquiring high-quality data as is.  However, in the case where the high-precision shutter is added to a sealed tube system with existing shutter, SAXS controls both shutters.  When shutter open/close commands are issued from SAXS, both shutters are operated, except in the cases of Collect > Add, Collect > Scan > commands (SingleRun, MultiRun, Rotation, etc.), Process > Flood > New, Process > Spatial > New. In these cases, the safety (old) shutter is pre-opened at the start of the command and is closed when the command has been completed.  Operations performed between these two events (for example, collection of a frame series) open and close only the high-precision shutter.

Arguments

None. Command executes immediately.

5.17	Collect > Goniometer > Generator  •  Control the high voltage generator: kv & ma settings

Menu Command:  Collect > Goniometer > Generator

Accelerator:  Ctrl+Shift+G

User Level:  1

SLAM Syntax:  GONIOMETER /GENERATOR  $1  $2  /WAIT

When invoked from the menu or when run from the command line without arguments, Collect > Goniometer > Generator displays a dialog box where you can view/edit the desired generator settings.  The values in the dialog default to the current generator settings.  When in the panel, pressing the ENTER key or clicking the OK button sends the entered generator settings to the Bruker K710D generator.  Pressing ESC or clicking the Cancel button in the dialog returns you to the menu without changing the generator settings.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(kV)     [current setting or 0]

Enter the desired kV setting for the X-ray generator.

$2	(mA)     [current setting or 0]

Enter the desired mA setting for the X-ray generator.

WAIT	(Wait Y/N)     [No]

Check this option to wait for the generator to reach the desired settings, or leave it unchecked to return to the SAXS menu immediatley after sending the new settings to the generator.

5.18	Collect > Goniometer > Home axis  •  Home goniometer axis

Menu Command:  Collect > Goniometer > Home axis

Accelerator:  none

User Level:  2

SLAM Syntax:  GONIOMETER /HOME  $1  $2

When a goniometer controller is first powered up or power-cycled, the setting angle positions may be different from those reported by the controller.  While the Collect > Goniometer > Update command allows you to make sure the reported angles agree with those you read from the angular scales on the goniometer, it's difficult to tell if the reported position is off by a small amount.  Collect > Goniometer > Home Axis allows a specified axis to be driven to an internal fiducial mark and its position to be updated so that the reported position is exactly consistent from power-up to power-up.  In the case of a Platform goniometer, absolute fiducial marks are available (typically at +30.00° in 2-theta and -30.00° in omega), and the axis will seek the fiducial mark when homed. (Some systems, such as micro-diffraction systems have a modified 2-theta fiducial position.)  In the case of a P4, the axis seeks the degree mark nearest its current location.

When invoked from the menu, or run from the command line without arguments, Collect > Goniometer > Home Axis displays a dialog box where you can view/edit the input arguments. Pressing the ENTER key or clicking the OK button initiates the "homing" of the requested axis. The goniometer 2-theta or omega axis is driven to within 3° of the home position and a 6-degree search for the home mark is initiated. Phi and chi axes have a home mark every degree.

During the drive, the following message displays:

DRIVING — PRESS ANY KEY TO STOP...

You can halt the drive by pressing a keyboard key (for example, ENTER or the space bar).  Pressing ESC or clicking Cancel in the input dialog returns you to the menu without performing the homing operation. On completion of homing, the program updates the current goniometer angles displayed in the goniometer status area at the lower right of the screen.

Caution: Aborting homing in the middle of a drive may result in loss of the current angle position.  Should you abort homing, you MUST update the current angle and re-home the axis.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Axis Number)     [1]

This is the number of the axis to be homed, either 5 for X, or 6 for Y.

$2	(Velocity)     [250]

Velocity to drive during home search in steps / degree. Range 1 to 1024. On D8 systems, this parameter is ignored.

5.19	Collect > Goniometer > Temperature  •  TCU-50 Temperature Controller

Menu Command:  Collect > Goniometer > Temperature

Accelerator:  Ctrl+Shift+T

User Level:  1

SLAM Syntax: GONIOMETER /TEMP  $1  /RAMP=<n>  /HOLD=<n>  /WAIT

Operate a TCU-50 Temperature Controller using the secondary COM port, which defaults to COM2:, but can be specified with the command line argument: /TCPORT=#, where # is the com port number (1-4).

Connection to the TC is only established upon entering the GONIOMETER /TEMP command and is always disconnected upon exiting this command. This permits a more elaborate TC control program to be run from either the SYSTEM command or as a separate and independent program task; however, the GONIMOETER /TEMP command will not function if the TC port is already in use or allocated by another program. You must terminate any TC control program before executing the GONIOMETER /TEMP command.

All temperature parameters are stored in subsequently created frame headers. You may override waiting for the either the ramp up to temperature, the hold time, or both with either the <Enter> or <Lf-button> and the temperature parameters will still be stored in newly created frame headers. Interrupting with <Ctrl-Break> will not store the new temperature settings.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(Set Point)     [22.0]

Enter the requested temperature in degrees C.

/RAMP=<n>	(Ramp Rate)     [100.0]

Enter requested ramping rate in degrees C per minute

/HOLD=<n>	(Hold Time)     [0.0]

Enter hold time for stabilizing in seconds. Whenever this value is non-zero, the program will pause until the temperature has been held at the requested set point for the required amount of time.

/WAIT	(Wait)     [Y]

"Y" to wait for ramping up to requested temperature setting. If the hold time is non-zero, waiting for ramping up to temperature set point is automatically performed.

5.20	Collect > Goniometer > Encoders  •  Adjust encoder zero offsets

Menu Command:  Collect > Goniometer > Encoders

Accelerator:  none

User Level:  3

SLAM Syntax:

GONIOMETER /ENCODERS  $1  $2

This command allows you to access the Phoenix ZI or GGCS EZ command without leaving SAXS. Because this command changes the zero positions of the goniometer angles, it is recommended that only the person in charge of your system (for example, system manager) or Bruker service personnel use this command.  This command subtracts the specified amount to the encoder zero of the specified axis.  For example, entering a value of 0.05 for X will add 0.05 to all subsequent observed X values.

Arguments

Each argument is listed below by its command line name, followed by its dialog box prompt in parentheses:

$1	(X)     [0.00]

Enter the X encoder zero offset in mm to be added to subsequent chi values reported by the controller.

$2	(Y)     [0.00]

Enter the Y encoder zero offset in mm to be added to subsequent chi values reported by the controller.

5.21	Collect > Scan > SingleRun  •  Perform a single scan series – Resume an interrupted SingleRun

Menu Command:  Collect > Scan > SingleRun

Accelerator:  Ctrl+Shft+F1

User Level:  1

SLAM Syntax:

SCAN /SINGLERUN  $1  /START=<n> /WIDTH=<n> /SCANTIME=<s> /FIXED=<n>  /AXIS=<n>  /TITLE=<s>  /SAMPLE=<s>  /NUMSAMPLE=<n>  /NAME=<s>  /RUN=<s>   /FRAMENO=<s>  /DISPLAY=<n>  /REALTIME  /CLEAR

Collect > Scan > SingleRun allows you to collect a scan series comprising one or more contiguous frames of data starting at specified goniometer setting angles. Normally, Collect >  SingleRun stores frames as an unwarped image, after applying the spatial correction table.  It also applies the flood-field (intensity uniformity) correction as the counts are received.

When you invoke the command from the menu (or the command line without arguments), a dialog box appears where you can view/edit the arguments described below as follows:

•	press ENTER or click the OK button to start scanning.

•	press ESC or click the Cancel button to return to the menu.

You can interrupt a scan as follows:

•	press ESC to stop after finishing collecting the current frame.

•	press CTRL+BREAK to interrupt the scan.

The current configuration is saved in the current default configuration file (usually saxs._sc) before starting the first scan, which makes recovery easier in the event of a power failure, etc.

The filename of the first frame is generated from the Job Name, Run# and Starting Frame# (listed below) as defined in Edit > Configure > User settings: Frame Naming Parameters( see section 4.1).

Because, one typically starts a scan and walks away from the instrument, SAXS will pre-check that the available disk space is sufficient for storing the requested number of frames in 8-bit mode. However, if the frames are stored in 16-bit mode, you may still run out of disk space during the requested scan operation.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses.

$1	(# FRAMES)	[1]

The number of frames to be acquired in this series.  Ensure that the generated filename of the last frame in the series is a valid filename with regard to the frame naming parameters in the Edit > Configure > User settings dialog.

/START=<n>	(START)	[0.00]

The starting axis position value, in mm, at which SAXS positions the goniometer at the start of the frame series. Valid values are 0 to 500, but are typically reduced by the current software collision limits as defined in Collect > Goniometer > limits command. Entering "@" will be automatically replaced with current angle setting.

/WIDTH=<n>	(STEP SIZE)	[0.0]

The step size, in mm (either positive or negative), between each frame to be acquired.  Thus, the starting scan position for the Nth frame in the series (where the first frame is N=0) is START+N*WIDTH (where START and WIDTH are the values above).

/SCANTIME=<n>	(SECONDS/FRAME)	[1:00.00]

The accumulation time, in seconds, during which each frame is to be acquired.  You can enter time in decimal seconds or in the format HH:MM:SS.SS (where HH represents hours, MM minutes, and SS.SS decimal seconds). Valid values are 0.05 to 32,767 seconds. The default value is 60.

/FIXED=<n>	(FIXED)	[0.00]

The starting axis position value, in mm, at which SAXS positions the goniometer at the start of the frame series. Valid values are 0 to 500, but are typically reduced by the current software collision limits as defined in Collect > Goniometer > limits command. Entering "@" will be automatically replaced with current angle setting.

/AXIS=<n>	(SCAN AXIS #)	[X]

The axis to be moved between frames, either X or Y.

/TITLE=<s>	(TITLE)	[SAXS frame]

Enter a title for the output frames (80 characters maximum). The default entry is the sample title from the Project > New/Copy/Edit dialog box (or “SAXS Frame”).  If you invoked this command from the command line, you must enclose any title containing blanks in double quotes.

/SAMPLE=<s>	(SAMPLE NAME)	[Unknown]

Enter sample name, to be stored in frame header. If no name is specified, the default name of "Unknown" will be entered.

/NUMSAMPLE=<s>	(SAMPLE NUMBER)	[0]

Enter sample number, to be stored in frame header. The permitted range is from 0 to 32,767, with a default setting at 0.

/NAME=<s>	(JOB NAME)	[NEWFRAM]

Enter the base filename for the output frames.  The filenames for each series of output frames are generated by adding the series RUN# and an extension built from the series starting FRAME#  to the end of this base name.   For example, if the Job Name is LYS, the Run Number is 04, and the starting Frame Number is 000 (assuming that the number of characters in a Run Number is set to 2 and the number of characters in a Frame Number is set to 3 in the Edit > Config dialog), the data files would be named (in sequence) LYS04.000, LYS04.001, LYS04.002, and so forth. For more information, see the section 4.1 Edit > Configure > User settings: Frame Naming Conventions.  The default name if none is specified is NEWFRAM.

The Job Name can contain an NT drive and directory name, if desired, but you should use the project data directory instead.  The output filename is merged with the project’s working directory defined in the Project > New|Copy|Edit dialog prior to creating the output frame. If you specify $NULL as the Job Name, the frames are sent to the null handler and discarded. (Note: $NET is NOT supported under SAXS, please do not use.)

/RUN=<s>	(RUN #)	[0]

This is the Run Number of the series.  This is not actually a number, but is rather taken as RUNCHARS characters of ASCII text. Also, all characters must be valid characters to be used with filenames because the Run Number becomes part of the generated output filename. Basically, the Run Number is formatted and appended to the output base filename before the file extension. See Frame Naming Conventions, Edit > Configure > User settings command, and Collect > Scan > MultiRun command for more details.

/FRAMENO=<s>	(FRAME #)	[000]

This is the starting frame number for the series. Like the Run Number, this is actually taken as text of length NUMCHARS rather than as a numeric value. The text specified here will be used as the extension of the first output frame in the series and will be incremented according to the frame naming parameters to form the extensions of subsequent frames. See Frame Naming Conventions, Edit > Configure > User settings command, and Collect > Scan > MultiRun command for more details.

/DISPLAY=<n>	(MAX DISPLAY COUNTS)	[31]

Enter the number of counts to be mapped to the highest display memory value (that is, to set the display for acquiring frames). This value is usually white on the screen.  The valid value range is -2 to 1,000,000. However, Three special values are defined as follows: 0 suppresses display of frames as they are acquired; -1directs the program to pick a reasonable value; and -2 directs the program to use the current level.  The default value is 31.

/REALTIME	(REALTIME DISPLAY ?)	[Yes]

This qualifier, when present, displays data as it is being collected.  The display does require additional processing time, and will limit the maximum rate at which counts can be accumulated.  If the MAX DISPLAYED COUNTS qualifier is given a non-zero value, the frame will be automatically displayed at the end of each scan if realtime display is off.  This latter display method has no effect on observed data rate.  Unless your data rate is very low, it is better NOT to use realtime display in the course of a SCAN command, even though the default here is "Y". Note: Real-time is not permitted whenever display = 0.

/CLEAR	(PRE-CLEAR ?)	[Yes]

This parameter specifies whether or not the memory will be cleared before the new data frame is collected.  If clearing is not performed, each successive frame in the series will be added to the counts accumulated before is collection is begun (effectively producing a rotation picture).  Enter "Y" to clear the memory, "N" otherwise.  The default value is Y (clear).

5.22	Collect > Scan > EditRuns  •  Edit parameters for MultiRun scans

Menu Command:  Collect > Scan > EditRuns

Accelerator:  Ctrl+Shft+F2

User Level:  1

SLAM Syntax:  SCAN /EDITRUNS (interactive command only)

Use this command to create, read, or edit a run list (often called an array) of scans that you wish to acquire in multiple-run fashion (where one or more frames are collected without intervention).

Upon entering a Collect > Scan > EditRuns command, SAXS displays a run list with current settings. (A typical list follows.)

Typical Run List:

Run# Frame# Start(mm)   Time

0    001      10.00   10000.00

0    002      11.00   10000.00

0    003      14.00   10000.00

Each line of a run list defines one frame. When entering the individual run arguments, keep in mind the following special considerations:

•	The RUN# and FRAME# must conform to the frame naming parameters. (See Edit > Configure > User settings command.)

•	The number of runs (or lines) must not exceed the maximum number of runs allowed by RUNCHARS and RUNBASE (see Edit > Configure > User settings command). The default maximum number of runs is 36. The absolute maximum is 32.

•	All generated filenames must be valid and should not create duplicate names (explained later in this section).

With these considerations in mind, we recommend that you always configure the frame naming conventions as follows:

•	For 36 or fewer runs, set the "Base of Run #" (in the Edit > Configure > User settings dialog) to base 36, which will prevent the run number from wrapping from 9 to 0. The “Characters in Run #” should be 1. These are the default settings.

•	For greater than 36 runs, you must set the “Characters in Run #” (in the Edit >Configure > User settings dialog) to 2 characters. The “Base of Run #” can be base 10, if you find it more convenient.

Each line of the a run list contains the following items:

RUN#

This is the Run Number of the series.  This is not actually a number, but is rather taken as RUNCHARS characters of ASCII text. Also, all characters must be valid characters to be used with filenames because the Run Number becomes part of the generated output filename. Basically, the Run Number is formatted and appended to the output base filename before the file extension. See Frame Naming Conventions, Edit > Configure > User settings command, and Collect > Scan > MultiRun command for more details.

FRAME#

This is the starting frame number for the series. Like the Run Number, this is actually taken as text of length NUMCHARS rather than as a numeric value. The text specified here will be used as the extension of the first output frame in the series and will be incremented according to the frame naming parameters to form the extensions of subsequent frames. See Frame Naming Conventions, Edit > Configure > User settings command, and Collect > Scan > MultiRun command for more details.

Start(mm)

The sample position value, in mm, at which SAXS positions the goniometer for the frame. Valid values are 0 to 500, but are typically reduced by the current software collision limits as defined in Collect > Goniometer > limits command. Entering "@" will be automatically replaced with current angle setting.

TIME

The accumulation time, in seconds, during which each frame is to be acquired.  You can enter time in decimal seconds or in the format HH:MM:SS.SS (where HH represents hours, MM minutes, and SS.SS decimal seconds). Valid values are 0.05 to 32,767 seconds.

When you invoke this commands (> EditMulti), SAXS displays a scrollable editing window, listing all scan series currently in the corresponding array. You can add to, delete from, or reorganize the list as desired using the appropriate screen-editing functions (see section 1.5, Dialog Box and Keyboard Convention).

When you invoke the multirun scan command (Collect > Scan > MultiRun), each frame will be acquired in the order they appear in the corresponding array.  SAXS generates output filenames for each frame from the Job Name (in the Collect > Scan > MultiRun dialog box). SAXS also generates the Run Number (given for the series in the array), the starting Frame# (given for the series in the array), the Frame# being collected, and the frame naming parameters (defined in the Edit > Configure > User settings input panel). The generated filename in each run must be valid. Also, the generated filenames between runs should not overlap. Always check the bottom status line when you first start a new Collect > Scan > MultiRun to ensure that filenames are being synthesized the way you want, to avoid duplication of filenames during data collection (which will overwrite the previous file).

The EditRuns command is an interactive command, meaning that you can invoke it from the command line, but it will not proceed without user intervention.  And it has no built-in command-mode time-out as with other scrolling output windows. Additionally, the Collect > Scan > MultiRun does not work well from script files, as you cannot define the run list in command mode. Thus, we recommend using the equivalent SCAN/SINGLERUN script commands instead.

Arguments

None. Command executes immediate for interactive editing.

5.23	Collect > Scan > MultiRun  •  Perform several series, as setup in the EditRuns form

Menu Command:  Collect > Scan > MultiRun

Accelerator:  Ctrl+Shft+F3

User Level:  1

SLAM Syntax:

SCAN /MULTIRUN $1 /TITLE=<s> /SAMPLE=<s> /NUMSAMPLE=<n> /DISPLAY=<n> /REALTIME /CLEAR /STARTRUN=<n> ENDRUN=<n> /YVAL=<n>

Note: As one cannot load the run list in command mode, we recommend using the equivalent SCAN /SINGLERUN commands in script mode.

This command allows you to collect multiple scan series, each containing one or more contiguous frames of data starting at specified goniometer setting angles. Normally, Collect > Scan > MultiRun stores frames as an unwarped image, after applying the spatial correction table. It also applies the flood-field (intensity uniformity) corrections as the counts are received.

Before invoking Collect > Scan > MultiRun, you must set the parameters that are unique from series to series. (See section 5.30, Collect > Scan > EditMulti command, for details on these settings and the generation of filenames.) Then use Collect > Scan > MultiRun to define those parameters that are the same for all the different scan series to be performed and start the scans.

When you invoke the command from the menu (or the command line without arguments), a dialog box appears where you can view/edit the arguments described below as follows:

•	press ENTER or click the OK button to start scanning.

•	press ESC or click the Cancel button to return to the menu.

You can interrupt a scan as follows:

•	press ESC to stop after finishing collecting the current frame (soft abort).

•	press CTRL+BREAK to interrupt the scan (hard abort or immediate abort).

During actual frame data collection, a small summary file is written and updated after each frame is collected. This file contains the current status of data collection, including the current run and frame number, current angle settings, and elapsed data collection time. This file is used to resume a data set that has been interrupted.

To resume acquiring data where the scan operation was interrupted (even by power failure), use the Collect > Scan > ResumeRuns command. (See section 5.32 for more details.)

When you interrupt a scan with CTRL+BREAK, the goniometer returns to the starting scan angle of the current scan.  This repositioning is performed by backing up to the starting position minus one frame width (or +/- 0.5º maximum), then driving forward to the starting position.  The same positioning technique is used when driving to the first scan in a new series, which makes the positioning extremely repeatable but does require you to allow for an extra scan width at the beginning of the series when you're starting close to the goniometer collision limits.

The current configuration is saved in the current default configuration file (usually saxs._sc) before starting the first scan, which makes recovery easier in the event of a power failure, etc.

The filename of the first frame is generated from the Job Name, Run# and Starting Frame# (from the appropriate line in the run list) as defined in Edit > Configure > User Settings: Frame Naming Parameters (see section 4.1).

Because, one typically starts a scan and walks away from the instrument, SAXS will pre-check that the available disk space is sufficient for storing the requested number of frames in 8-bit mode. However, if the frames are stored in 16-bit mode, you may still run out of disk space during the requested scan operation(s).

Arguments: Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses. These arguments are the same as the similar singlerun type scans and are, thus, explained once in section 5.29. See that section for explanations.

$1	(JOB NAME)	[NEWFRAM]

See /NAME=<s> in section 5.29.

/TITLE=<s>	(TITLE)	[Scan Frame]

/SAMPLE=<s>	(SAMPLE NAME)	[Corundum]

/NUMSAMPLE=<n>	(SAMPLE NUMBER)	[0]

/DISPLAY=<n>	(MAX DISPLAY COUNTS)	[31]

/REALTIME	(REALTIME DISPLAY ?)	[Y]

/CLEAR	(PRE-CLEAR ?)	[Y]

See section 5.29.

/STARTRUN=<n>	(SEQUENCE # OF STARTING RUN)	[1]

You can collect just a specified range of the frames set up in the run list using STARTRUN and ENDRUN.  With STARTRUN you enter the first line number (not the RUN#) in the run list for which data collection is to be performed.  The lines are numbered 1-50.  The default is 1, and the valid range is 1-50.

/ENDRUN=<n>	(SEQUENCE # OF ENDING RUN)	[9999]

You can collect just a specified range of the frames set up in the run list using STARTRUN and ENDRUN.  With ENDRUN you enter the line number (not the RUN#) in the run list after which data collection is to be terminated.  The lines are numbered 1-50.  The default is 9999 (which works the same as 50), and the valid input range is 1-32767.

/YVAL=<n>	(Fixed Y ?)	[0.0]

See section 5.29.

Collect > Scan > MultiRun checks for possible collision of all scans before beginning the first run.  If any frame of a run is outside the set limits, the program displays a box with the message:

PROBABLE COLLISION IN 1ST SCAN OF EDITRUNS LINE <line #>

Here, <line #> represents the number of the line (starting at 1) in the run list which produced the message.  You can continue with the scans or quit (to re-edit the run list) and try again.

The current program configuration is saved in the current default configuration file (usually saxs._sc) before starting the first scan, which makes recovery easier in the event of a power failure, etc.

Before invoking Collect > Scan > MultiRun, you can view/edit the runs to be performed (as needed) with Collect > Scan > EditRuns.

SAXS retrieves the defaults for multirun scans from the saxs._sc file (located in the project directory). The defaults for new projects are taken either from the current settings or the saxsdefs._sc file (located in the SAXS system directory).

5.24	Collect > Scan > Radiography  •  Set up grid and collect radiography image

Menu Command:  Collect > Scan > Radiography

Accelerator:  Ctrl+Shft+F9

User Level:  1

SLAM Syntax:	 SCAN /RADIOGRAPHY  $1  /XBEG=<n>  /XEND=<n>  /XINC=<n>  /YBEG=<n>  /YEND=<n>  /YINC=<n>  /SCANTIME  $2  $3  $4  $5

This command allows you to collect a radiography pattern. The user specifies a grid to collect. At each X and Y position, the total counts hitting the detector is summed and stored at that point in the radiography pattern.

A background frame is always collected before and after the radiography pattern.

SAXS program is always put into "accept targets" mode at completion of this command.

Arguments: Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses.

$1	(JOB NAME)	[radio]

Enter the base of the filename. The radiography pattern will be stored in the project's working directory with the file extension of ".rad". Background frames will be stored using the extensions, ".000" and ".001".

/XBEG=<n>	(X begin)	[-5.0]

Enter the starting X in mm.

/XEND=<n>	(X end)	[5.0]

Enter the ending X in mm.

/XINC=<n>	(X increment)	[0.2]

Enter the X increment in mm.

/YBEG=<n>	(Y begin)	[-5.0]

Enter the starting Y in mm.

/YEND=<n>	(Y end)	[5.0]

Enter the ending Y in mm.

/YINC=<n>	(Y increment)	[0.2]

Enter the Y increment in mm.

/SCANTIME=<n>	(Seconds/Frame)	[1.0]

Enter the counting time, in seconds, for each point on the radiography pattern.

$2	(Title)	[background frame]

Enter the title for the background frames.

$3	(X)	[0.0]

$4	(Y)	[0.0]

Enter the X and Y location for a background frame. You should choose a location away from your sample.

$5	(Seconds/Frame)	[1.0]

Enter the counting time, in seconds, for each background frame.

5.25	Collect > Scan > AcceptTargets  •  Toggle mode to accept targets from radiography program

Menu Command:  Collect > Scan > AcceptTargets

Accelerator:  Ctrl+Shft+F10

User Level:  1

SLAM Syntax:

SCAN /ACCEPTTARGETS

This command allows you to accept a new target list from the SAXSRad program. The state of the accept target mode is displayed by a check mark on the command menu. It is automatically toggled on after a Collect > Scan > Radiography command. You must turn the state off, before editing or collecting targets with a Collect > Scan > EditTargets or MultiTargets command.

Arguments: Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses.

None	This command executes immediately.

5.26	Collect > Scan > EditTargets  •  Edit parameters for MultiTarget scans

Menu Command:  Collect > Scan > EditTargets

Accelerator:  Ctrl+Shft+F11

User Level:  1

SLAM Syntax:	 SCAN /EDITTARGETS

Use this command to create, edit, or review a target list of sample positions that you wish to acquire.

Because target positions are unique to particular samples and to a particular mounting of that sample, SAXS will not automatically load any previous target list. However, the user can easily save and load target lists from within Collect > Scan > EditTargets using the READ and WRITE options. For screen editing options and keys, see section under keyboard conventions. Upon exiting SAXS, the current target list (if any) is saved in the file: targets.txt.

Upon entering a Collect > Scan > EditTargets command, SAXS displays a target list with current settings. (A typical list follows.)

Typical Run List:

Run# Frame#    X      Y      Time

0    001     10.00  10.0   10000.00

0    002     12.00  12.0   10000.00

Each line of a run list defines one target position. When entering the individual target arguments, keep in mind the following special considerations:

•	The RUN# and FRAME# must conform to the frame naming parameters. (See Edit > Configure > User settings command.)

•	The number of runs (or lines) must not exceed the maximum number of runs allowed by RUNCHARS and RUNBASE (see Edit > Configure > User settings command). The default maximum number of runs is 36. The absolute maximum is 32.

•	The number of targets is limited to 512.

•	All generated filenames must be valid and should not create duplicate names (explained later in this section).

With these considerations in mind, we recommend that you always configure the frame naming conventions as follows:

•	For 36 or fewer runs, set the "Base of Run #" (in the Edit > Configure > User settings dialog) to base 36, which will prevent the run number from wrapping from 9 to 0. The “Characters in Run #” should be 1. These are the default settings.

•	For greater than 36 runs, you must set the “Characters in Run #” (in the Edit >Configure > User settings dialog) to 2 characters. The “Base of Run #” can be base 10, if you find it more convenient.

Each line of the a run list contains the following items:

RUN#

This is the Run Number of the series.  This is not actually a number, but is rather taken as RUNCHARS characters of ASCII text. Also, all characters must be valid characters to be used with filenames because the Run Number becomes part of the generated output filename. Basically, the Run Number is formatted and appended to the output base filename before the file extension. See Frame Naming Conventions, Edit > Configure > User settings command, and Collect > Scan > MultiRun command for more details.

FRAME#

This is the starting frame number for the series. Like the Run Number, this is actually taken as text of length NUMCHARS rather than as a numeric value. The text specified here will be used as the extension of the first output frame in the series and will be incremented according to the frame naming parameters to form the extensions of subsequent frames. See Frame Naming Conventions, Edit > Configure > User settings command, and Collect > Scan > MultiRun command for more details.

X

The sample position value, in mm, at which SAXS positions the goniometer for the frame. Valid values are 0 to 500, but are typically reduced by the current software collision limits as defined in Collect > Goniometer > limits command. Entering "@" will be automatically replaced with current angle setting.

Y

The sample position value, in mm, at which SAXS positions the goniometer for the frame. Valid values are 0 to 500, but are typically reduced by the current software collision limits as defined in Collect > Goniometer > limits command. Entering "@" will be automatically replaced with current angle setting.

TIME

The accumulation time, in seconds, during which each frame is to be acquired.  You can enter time in decimal seconds or in the format HH:MM:SS.SS (where HH represents hours, MM minutes, and SS.SS decimal seconds). Valid values are 0.05 to 32,767 seconds.

When you invoke this commands (> EditTarget), SAXS displays a scrollable editing window, listing all scan series currently in the corresponding array. You can add to, delete from, or reorganize the list as desired using the appropriate screen-editing functions (see section 1.5, Dialog Box and Keyboard Convention).

When you invoke the multitarget command (Collect > Scan > MultiTarget), each frame will be acquired in the order they appear in the corresponding array.  SAXS generates output filenames for each frame from the Job Name (in the Collect > Scan > MultiRun dialog box). SAXS also generates the Run Number (given for the series in the array), the starting Frame# (given for the series in the array), the Frame# being collected, and the frame naming parameters (defined in the Edit > Configure > User settings input panel). The generated filename in each run must be valid. Also, the generated filenames between runs should not overlap. Always check the bottom status line when you first start a new Collect > Scan > MultiTarget to ensure that filenames are being synthesized the way you want, to avoid duplication of filenames during data collection (which will overwrite the previous file).

The EditTargets command is an interactive command, meaning that you can invoke it from the command line, but it will not proceed without user intervention.  And it has no built-in command-mode time-out as with other scrolling output windows. Additionally, the Collect > Scan > MultiTarget does not work well from script files, as you cannot define the run list in command mode. Thus, we recommend using the equivalent SCAN/SINGLERUN script commands instead.

Arguments: Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses.

None	Command executes immediate for interactive editing.

5.27	Collect > Scan > MultiTargets  •  Perform same scans on multiple targets on a single sample

Menu Command:  Collect > Scan > MultiTargets

Accelerator:  Ctrl+Shft+F12

User Level:  1

SLAM Syntax:

SCAN /MULTITARGETS  $1  /TITLE=<s>  /SAMPLE=<s>  /NUMSAMPLE=<s>  /DISPLAY  /REALTIME  /CLEAR  /STARTRUN=<n>  /ENDRUN=<n>

This command allows you to collect multiple scan series, each containing one or more contiguous frames of data starting at specified goniometer setting angles. Normally, Collect > Scan > MultiTargets stores frames as an unwarped image, after applying the spatial correction table. It also applies the flood-field (intensity uniformity) corrections as the counts are received.

Before invoking Collect > Scan > MultiTargets, you must set the parameters that are unique from frame to frame. (See section 5.30, Collect > Scan > EditTargets command, for details on these settings and the generation of filenames.) Then use Collect > Scan > MultiTargets to define those parameters that are the same for all the different frames to be performed and start the scans.

When you invoke the command from the menu (or the command line without arguments), a dialog box appears where you can view/edit the arguments described below as follows:

•	press ENTER or click the OK button to start scanning.

•	press ESC or click the Cancel button to return to the menu.

You can interrupt a scan as follows:

•	press ESC to stop after finishing collecting the current frame (soft abort).

•	press CTRL+BREAK to interrupt the scan (hard abort or immediate abort).

The current configuration is saved in the current default configuration file (usually saxs._sc) before starting the first scan, which makes recovery easier in the event of a power failure, etc.

The filename of the first frame is generated from the Job Name, Run# and Starting Frame# (from the appropriate line in the run list) as defined in Edit > Configure > User Settings: Frame Naming Parameters (see section 4.1).

Because, one typically starts a scan and walks away from the instrument, SAXS will pre-check that the available disk space is sufficient for storing the requested number of frames in 8-bit mode. However, if the frames are stored in 16-bit mode, you may still run out of disk space during the requested scan operation(s).

Arguments: Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses. These arguments are the same as the similar singlerun type scans and are, thus, explained once in section 5.29. See that section for explanations.

$1	(JOB NAME)	[NEWFRAM]

See /NAME=<s> in section 5.29.

/TITLE=<s>	(TITLE)	[Scan Frame]

/SAMPLE=<s>	(SAMPLE NAME)	[Corundum]

/NUMSAMPLE=<n>	(SAMPLE NUMBER)	[0]

/DISPLAY=<n>	(MAX DISPLAY COUNTS)	[31]

/REALTIME	(REALTIME DISPLAY ?)	[Y]

/CLEAR	(PRE-CLEAR ?)	[Y]

See section 5.29.

/STARTRUN=<n>	(SEQUENCE # OF STARTING RUN)	[1]

You can collect just a specified range of the frames set up in the run list using STARTRUN and ENDRUN.  With STARTRUN you enter the first line number (not the RUN#) in the run list for which data collection is to be performed.  The lines are numbered 1-50.  The default is 1, and the valid range is 1-50.

/ENDRUN=<n>	(SEQUENCE # OF ENDING RUN)	[9999]

You can collect just a specified range of the frames set up in the run list using STARTRUN and ENDRUN.  With ENDRUN you enter the line number (not the RUN#) in the run list after which data collection is to be terminated.  The lines are numbered 1-50.  The default is 9999 (which works the same as 50), and the valid input range is 1-32767.

Collect > Scan > MultiRun checks for possible collision of all scans before beginning the first run.  If any frame of a run is outside the set limits, the program displays a box with the message:

PROBABLE COLLISION IN 1ST SCAN OF EDITRUNS LINE <line #>

Here, <line #> represents the number of the line (starting at 1) in the run list which produced the message.  You can continue with the scans or quit (to re-edit the run list) and try again.

The current program configuration is saved in the current default configuration file (usually saxs._sc) before starting the first scan, which makes recovery easier in the event of a power failure, etc.

Before invoking Collect > Scan > MultiRun, you can view/edit the runs to be performed (as needed) with Collect > Scan > EditRuns.

SAXS retrieves the defaults for multirun scans from the saxs._sc file (located in the project directory). The defaults for new projects are taken either from the current settings or the saxsdefs._sc file (located in the SAXS system directory).

5.28	Collect > Add  •  Accumulate an area detector frame (Still frame)

Menu Command:  Collect > Add

Accelerator:  Ctrl+Shft+A

User Level:  1

SLAM Syntax:

ADD $1 /CLEAR /PATTERN /COUNTS=<n> /DISPLAY=<n> /REALTIME /RESET=<n> /SHUTTER  /SLAM=<s>

Collect > Add allows you to collect a single "still" frame of data at a fixed goniometer position (use any of the Collect > Scan commands to collect multiple data frames).  The Collect > Goniometer > Manual command also lets you acquire a still frame while operating the goniometer with the manual control box. (See Collect > Goniometer > Manual for details.) Data are Data are continuously acquired until a specified amount of time has elapsed or a specified number of counts is reached, whichever occurs first.

You can optionally display the accumulated frame after it has been acquired, or update the display immediately as each count is recorded (referred to as "realtime display").  If you elect one of the display options, ADD also updates the current frame status information displayed at the upper right of the screen.

The frame is not automatically written to disk.  Use File > Save after collecting the still frame if you want to save the data to disk.

When invoked from the menu, or run from the command line without arguments, Add displays a dialog box where you can view/edit the arguments described below before performing the operation/function. Pressing the ENTER key or clicking the OK button starts the operation. Pressing ESC or the Cancel button stops the operation and returns you to the menu. You can interrupt the operation by pressing CTRL+BREAK.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Max Seconds)     [30.0]

This is the maximum count time (in seconds). The default value is 30; the range is from 1 to 65,535 seconds.  Times can be entered in decimal seconds or in HH:MM:SS.SS (hours, minutes and seconds) format.  Data collection ends when the specified time has elapsed, or when the maximum count limit (see MAX COUNTS below) has been reached.

/CLEAR	(Pre-Clear?)     [Yes]

This qualifier, when set, clears memory before the new data frame is collected. If it is not set, the new data are added to the image already in the frame accumulation memory (for example, an image left over from a previous ADD, LOAD, or SCAN command).

/PATTERN	(Test Pattern Y/N)     [No]

This qualifier, when present, draws a test grid into the frame accumulation memory prior to collecting data.  The test grid is used for factory alignment, and consists of grid lines on a 64-pixel spacing; two circles, one with a 270-pixel radius and one with a 280-pixel radius; and two crosses rotated to 45 degrees, one linear cross, and one passed through the current flood field correction.

/COUNTS	(Max Counts)     [10,000,000]

This qualifier sets an upper limit on how many counts may occur before data collection is terminated. When the specified number is reached the system ends the data collection, saving the data frame. The default value is  10,000,000 counts, with a range from 0 to 2,147,483,647 (i.e., (231)-1) counts.  Data collection will also be terminated if MAX SECONDS is reached before MAX COUNTS.

/DISPLAY=<n>	(Max Displayed Counts)     [7]

0 = no display, otherwise # counts corresponding to white on the display. The initial default is 7; the allowed range is from 1 to 106.

/REALTIME	(Realtime Display?)     [Yes]

This qualifier, when present, displays data as it is being collected.  The display does require additional processing time, and will limit the maximum rate at which counts can be accumulated.  If the MAX DISPLAYED COUNTS qualifier is given a non-zero value, the frame will be automatically displayed at the end of the ADD if realtime display is off.  This latter display method has no effect on observed data rate.

If you're not sure whether realtime display will affect the observed data rate significantly at your current incident count rate, check the late counts in the frame header of a representative frame with the FRAME_INFO command. If the late counts are more than a few percent of the total counts, your data collection will be more efficient if realtime display is turned off.  In general, you should be able to use realtime display for set-up and sample evaluation, but you should disable it during collection of frame series which will be used as input to data reduction (see the similar SCAN command display options).

/RESET=<n>	(Reset Interval)     [0]

This qualifier specifies the number of seconds before repetitive auto-clear of frame memory (0 = do not clear). The default value is 0; the range is from 1 to 65,535 seconds.  This parameter is useful in conjunction with realtime display if you're looking for a change in intensity over time.  For instance, if you're driving the goniometer manually to look for or maximize the intensity of a reflection, it helps to clear the screen frequently, for example every 1 second by setting the reset interval to 1.

/SHUTTER	(Open & Close Shutter)     [No]

If present on the command line or checked "Y" in the dialog box, this qualifier causes the shutter to open at the start of Collect > Add, and to close at the end.  Otherwise, the shutter stays in its current state for the duration of the exposure.

/SLAM=<s>	(Auto-script file)	[$null]

Enter script "command" or "@file" to invoke immediately after the ADD command completes. Typically, one could automate the frame unwarping and frame saving, by using a simple script file.

Create a script file called PROCESS.SLM containing the lines:

SPATIAL /UNWARP $FRAME 1 '%1'.UNW

MENUMODE

Then in the ADD input panel, enter the line:

Auto-script file:       @PROCESS filename

Where filename.UNW will be the name of the saved file after unwarping.

5.29	Collect > Shutter  •  Open/close X-ray beam shutter

Menu Command:  Collect > Goniometer > Shutter  or	  Collect > Shutter

Accelerator:  Ctrl+Shift+S

User Level:  1

SLAM Syntax:  GONIOMETER /SHUTTER  or  SHUTTER

See 5.20 Collect > Goniometer > Shutter.


6.	Process Routines

6.1	Process > Flood > New  •  Acquire data to generate new flood-field correction

Menu Command:  Process > Flood > New

Accelerator:  none

User Level:  3

SLAM Syntax:

FLOOD /NEW  $1  /COUNTS=<n>  /DISPLAY=<n>  /REALTIME  /FILE=<s>  /XMIN=<n>  /YMIN=<n>  /MAG=<n>  /SHUTTER

This selection is used to collect a single frame of data for use in flood field calibration, followed by automatic computation and installation of a new flood-field correction based on that data.   The purpose of this calibration is to produce a smooth detector data image from a uniform, spherically radiating point source, such as the Fe55 source supplied with the system.  The correction works by slightly altering the POSITIONS of counted photons according to a "rubber-sheet" stretching/shrinking in regions along the X and Y detector axes, in order to make the Fe55 image more uniform.  It does not alter the recorded number of photons.

FLOOD /NEW requires you to enter the approximate source to detector distance. This distance should be the same as the sample to detector distance (since in this case, the source is at the sample position). Make sure to remove all obstructions to the detector face (such as the beam stop). Note that the source distance is measured in CM from the flat front of the detector (where the fiducial plate mounts).  Usually, you should create a new flood-field correction prior to data collection on each sample, before the brass fiducial-plate image is taken.

The best procedure for acquiring new flood-field data is to accumulate 10,000,000 counts.  This procedure accounts for variation in activity of different Fe55 sources and the decrease in intensity of an Fe55 source as it ages (the half-life is about 2.5 years).  Typically, it will take about half an hour to accumulate 10M counts.  In order to set up the acquisition of a new flood field in this manner, set the MAX SECONDS argument described below to a large value, for example, 1.0x104 seconds, and set MAX COUNTS to 1.0x107 counts.

WHEN YOU TAKE A FE55 FLOOD-FIELD IMAGE, BE SURE THAT THE DETECTOR BIAS IS SET CORRECTLY FOR FE55.  Also be sure to reset the bias back to the correct level for your x-ray generator (e.g., for Cu radiation) when finished with flood-field and fiducial-plate data collection.

After running FLOOD /NEW, it is a good idea to take a 120 second frame to verify that you have a good flood-field correction.  The image should look more uniform than a "raw" image taken with no flood-field correction.  Remember that appearance of any residual lines results only from a bias in the POSITIONING of those events, not from any error in the number of counted photons.  The SPATIAL (fiducial-plate) calibration will reduce or eliminate this residual positional error.  If lines are present, they may have a second-order effect on integrated intensities due to resulting variation of  spot shapes across the detector, but they are not a problem unless they are prominent.

FLOOD /NEW computes the flood-field table from an X-projection and Y-projection of the Fe55 image.  These projection arrays are by convention stored in a plottable ASCII file ending in a ._pj extension, in the current frame directory specified in the CONFIGURE /EDIT panel.  The flood-field correction itself is stored similarly, except with a ._fl extension.  The name of the current flood-field correction is shown on the display in the current status area at the bottom right of the screen.  FLOOD /NEW updates this name when a new correction is acquired.  When you exit FLOOD /NEW after successful completion, the new correction automatically goes into effect.

The /XMIN=<n>, /YMIN=<n> and /MAG=<n> arguments described below allow you to create a flood-field table that results in 512x512 or 1024x1024 output data frames that correspond to a specific area of the detector rather than to its entire area.  For this calculation, the full detector is considered to be an array of 16376 x 16376 "bins".  Its origin is by default coincident with the output frame origin, and its bins are by default summed in 32 x 32 blocks to form a normal 512 x 512 output frame. These arguments allow you to choose the detector bin at which the output frame origin is placed, and to use a re-binning factor less than 32 to effectively magnify a smaller detector region to cover the whole 512 x 512 output frame. For example, /MAG=2 results in re-binning by 16:1 instead of 32:1.  In general, this feature is useful only for special (e.g., non-crystallographic) applications, and these settings should be left at their defaults.

In the case of a foil, illumination by the electrical x-ray source causes fluorescence, creating a secondary point-source where the incident beam strikes the foil.  1-mil Fe foil is a good choice for a Cu source. Because the foil not only fluoresces, but also scatters and diffracts the incident beam, you need to swing the detector far enough in 2-theta to 1) avoid any beam-stop shadow or scatter and 2) eliminate any diffraction rings strong enough to affect the calibration.  For Fe/Cu calibrations, -50 to -60 degrees appears to work well at a 15 cm distance with the 9 cm diameter detector. When illuminating the foil, use a collimator barrel from which all pinholes have been removed. This not only increases the intensity, but also substantially smooths any diffraction rings which you can't otherwise avoid. In order to evenly illuminate the detector, it is very important that the plane of the foil be parallel to the detector face.  If your image does not appear uniform it is probably because either the foil is not centered at the instrument center (the foil plane must contain the 2-theta rotation axis) or the plane of the foil is not parallel to the detector face.  Prior to performing the calibration take an exposure with ADD to make sure that you're getting uniform illumination.  The predominant low-frequency feature in the image should be a reasonably symmetric radial falloff.  When the setup looks good, make sure the detector distance and beam center are correctly set in the CONFIGURE /EDIT input panel, then take a good 10,000,000 count flood-field image (with the shutter control option set to "Y").

When invoked with the NEW option from the FLOOD sub-menu or when run from the command line without arguments,  FLOOD /NEW displays an input panel where you can view/modify the arguments described below.  When in the panel, pressing the ENTER key or left mouse button begins collection of flood-field data with subsequent automatic computation and installation of a new flood-field correction;  the ESC key or right mouse button returns you to the FLOOD sub-menu.  You can interrupt a flood-field data collection in progress with the CTRL-BREAK key combination;  however, the current flood-field correction at that point is undefined -- either re-collect new data or restore the correction to a known state with the FLOOD /LOAD or FLOOD /LINEAR command.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Max Seconds)     [15:00]

This is the maximum count time (in seconds). The default value is 900; the range is from 1 to 65,535 seconds.  Times can be entered in decimal seconds or in HH:MM:SS.SS (hours, minutes and seconds) format.  Data collection ends when the specified time has elapsed, or when the maximum count limit (see MAX COUNTS below) has been reached.

/COUNTS=<n>	(Max Counts)     [100,000,000]

This qualifier sets an upper limit on how many counts may occur before data collection is terminated. When the specified number is reached the system ends the data collection, saving the data frame. The default value is  100,000,000 counts, with a range from 0 to 1037 counts.  Data collection will also be terminated if MAX SECONDS is reached before MAX COUNTS.

/DISPLAY=<n>	(Max Displayed Counts)     [100]

0 = no display, otherwise # counts corresponding to white on the display. The initial default is 100; the allowed range is from 1 to 106.

/REALTIME	(Realtime Display (Y/N))     [Y]

This qualifier, when present, displays data as it is being collected.  The display does require additional processing time, and will limit the maximum rate at which counts can be accumulated.  If the MAX DISPLAYED COUNTS qualifier is given a non-zero value, the frame will be automatically displayed at the end of the frame collection if realtime display is off. This latter display method has no effect on observed data rate.  Since the data rate in Fe55 source frames is not very high, use of /REALTIME with FLOOD /NEW will rarely cause any loss in counting efficiency, and you can keep this set to "Y".

/FILE=	(Output Filename)     [normal._fl]

Enter the filename for the output correction data.  By default, output files are created with a ._fl extension in the frame directory specified in the CONFIGURE /EDIT input panel.  More specifically, the filename you enter here is merged with the default filespec Frame_root:*._fl, where Frame_root refers to the directory in the CONFIGURE /EDIT panel.  See CONFIGURE /EDIT for details on how filenames are merged.  The intermediate X and Y projection arrays are stored similarly, but with a ._pj extension.

In menumode, the filename is defaulted to the standard naming convention of "SIZE_DDD._FL", where "SIZE" is replaced by "0512" or "1024" and "DDD" is replaced by the detector distance in cm.

/XMIN=<n>	(Lower X of Corrected Frame)     [0]

Enter the X detector bin number to use as left side of corrected frame. The default value is 0; the range is from 0 to 16365.

/YMIN=<n>	(ower Y of Corrected Frame)     [0]

Enter the Y detector bin number to use as bottom of corrected frame. The default value is 0; the range is from 0 to 16365.

/MAG=<n>	(Magnification of Corrected Frame)     [1]

Enter the magnification factor of the correction table. The default value  is 1; the range is from 1 to 32.

/SHUTTER	(Open & Close Shutter Y/N)     [N]

This qualifier, if present on the command line or given as "Y" in the input panel, causes the shutter to open at the start of each exposure, and to close at the end.  Otherwise, the shutter stays in its current state for the duration of the command. It is used for the Fe foil method of generating a point source. Keep the shutter closed for Fe55 sources.

6.2	Process > Flood > Load  •  Install a disk-resident flood-field correction table

Menu Command:  Process > Flood > Load

Accelerator:  none

User Level:  2

SLAM Syntax:  FLOOD /LOAD  $1

This command is used to read and install a flood field calibration file that was previously created with FLOOD /NEW or FLOOD /REPROCESS.  These commands compute a flood-field table from an X-projection and Y-projection of an Fe55 image.  By convention, each flood-field correction is stored in a plottable ASCII file ending in a ._FL extension, in the current frame directory specified in the CONFIGURE /EDIT panel.  Although you can thus keep several different flood-field corrections available at any time, re-using old flood-field corrections is not really very useful, since your results will be better if you run FLOOD /NEW prior to data collection on each new sample.

The name of the current flood-field correction is shown on the display in the current status area at the bottom right of the screen.  FLOOD /LOAD updates this name when the correction is changed.

When invoked with the LOAD option from the FLOOD sub-menu or when run from the command line without arguments,  FLOOD /LOAD displays an input panel where you can view/modify the arguments described below.  When in the panel, pressing the ENTER key or left mouse button begins reading in the specified correction; the ESC key or right mouse button returns you to the FLOOD sub-menu.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Filename)     [normal._fl]

Name of the flood-field correction to read.  This filename is merged with the current frame directory specified in the CONFIGURE /EDIT panel before the program attempts to access the file.  See CONFIGURE /EDIT for a description of how this is done.  If you leave this field blank or specify a wildcard filename pattern in the FLOOD /LOAD input panel, the program will display a list of filenames from which you can select the desired correction (see DISPLAY /NEW for a more complete description of filename selection).  The default filespec for filename selection is Frame_root:*._FL, where Frame_root is the frame directory specified in the CONFIGURE /EDIT panel.

The special filename of "$DEFAULT" is replaced with the standard naming convention of "SIZE_DDD._FL", where "SIZE" is replaced by "0512" or "1024" and "DDD" is replaced by the detector distance in cm.

6.3	Process > Flood > Reprocess  •  Generate a new table from previous projection data (on disk)

Menu Command:  Process > Flood > Reprocess

Accelerator:  none

User Level:  3

SLAM Syntax:  FLOOD /REPROCESS  $1  $2  /XMIN=<n> /YMIN=<n>   /MAG=<n>

This command is used to reprocess an existing flood field file projection file to use it with different X, Y or magnification settings.

The /XMIN=<n>, /YMIN=<n> and /MAG=<n> arguments described below allow you to create a flood-field table that results in 512x512 or 1024x1024 output data frames that correspond to a specific area of the detector rather than to its entire area.  For this calculation, the full detector is considered to be an array of 16376 x 16376 "bins".  Its origin is by default coincident with the output frame origin, and its bins are by default summed in 32 x 32 blocks to form a normal 512 x 512 output frame. These arguments allow you to choose the detector bin at which the output frame origin is placed, and to use a re-binning factor less than 32 to effectively magnify a smaller detector region to cover the whole 512 x 512 output frame. For example, /MAG=2 results in re-binning by 16:1 instead of 32:1.  In general, this feature is useful only for special (e.g., non-crystallographic) applications, and these settings should be left at their defaults.

When invoked with the REPROCESS option from the FLOOD sub-menu or when run from the command line without arguments,  FLOOD /REPROCESS displays an input panel where you can view/modify the arguments described below.  When in the panel, pressing the ENTER key or left mouse button begins computation installation of the new flood-field correction;  the ESC key or right mouse button returns you to the FLOOD sub-menu.

Arguments: Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Input Projection Filename)     [normal._fl]

Enter the filename for input projection data (._PJ). The default file is  NORMAL._PJ.  By convention, these files reside in the frame directory  specified in the CONFIGURE /EDIT input panel.  The filename you specify here is merged with the default specification Frame_root:*._pj before the program attempts to access the file.  See CONFIGURE /EDIT for details on how this merging is performed.  If you leave this item blank, or specify a "wildcard filename pattern, pressing the ENTER key or the left mouse button will display a list of the current filenames matching the pattern.  You can choose one from the displayed list by moving to it with the arrow/page keys or mouse and pressing ENTER or the left mouse button.  You will be returned to the input panel with the selected filename filled in.  If you leave this item blank, it is the same as entering a *.* wildcard pattern (which is then merged as described above).

$2	(Output Correction Filename)     [zoom._fl]

Enter the filename for the output correction data. The default file is ZOOM._FL.  convention, these files reside in the frame directory specified in the CONFIGURE /EDIT input panel.  The filename you specify here is merged with the default specification Frame_root:*._fl before the program attempts to access the file.  See CONFIGURE /EDIT for details on how this merging is performed.

/XMIN=<n>	(Lower X of Corrected Frame)     [1024]

Enter the X detector bin number to use as left side of corrected frame. The default value is 0; the range is from 0 to 4095.

/YMIN=<n>	(Lower Y of Corrected Frame)     [1024]

Enter the Y detector bin number to use as bottom of corrected frame. The default value is 0; the range is from 0 to 4095.

/MAG=<n>	(Magnification of Corrected Frame)     [2]

Enter the magnification factor of the correction table. The default value is 1; the range is from 1 to 8.

6.4	Process > Flood > Linear  •  Reset to linear table (i.e., no correction)

Menu Command:  Process > Flood > Linear

Accelerator:  none

User Level:  2

SLAM Syntax:  FLOOD  /LINEAR

Selecting FLOOD /LINEAR with the LINEAR option from the FLOOD sub-menu or from the command line specifies that no flood field calibration file will be used in subsequent data acquisition (linear scaling of event positions).  The name of the current flood-field correction is shown on the display in the current status area at the bottom right of the screen.  FLOOD /LINEAR updates this name to "LINEAR." Since you will in general obtain better data if a flood-field correction is in effect, the ADD, SPATIAL /NEW and SCAN commands will issue a warning if you start data collection with a linear flood-field correction.

FLOOD /LINEAR runs immediately without prompting for additional input.

Arguments

None. Command executes immediately.

6.5	Process > Spatial > New  •  Acquire data and generate a new spatial correction

Menu Command:  Process > Spatial > New

Accelerator:  none

User Level:  3

SLAM Syntax:

SPATIAL /NEW $1 /COUNTS=<n> /DISPLAY=<n> /REALTIME /FILE=<s> /XENGEN /THRESHOLD=<n> /SHUTTER

This routine is used to collect a brass fiducial plate image at a specific detector distance and automatically compute and install a spatial correction for data subsequently collected at that distance. This will be necessary when you collect a new flood field, whenever experimental parameters change (e.g., the detector distance is moved) or whenever the instrument has been modified  (e.g., the goniometer has been realigned, etc.).

Prior to running SPATIAL /NEW, make sure the correct value for the current sample-to-detector distance is entered in the CONFIGURE /EDIT panel (see CONFIGURE /EDIT for more information).

The correction is computed from a frame acquired with the brass fiducial plate fastened to the front of the detector face, and with a reasonably uniformly radiating point source positioned at the center of the goniometer.  The supplied Fe55 source is good for this purpose.  You should acquire and compute a new spatial correction from such a frame before starting data collection on each new sample, but AFTER acquiring and computing a new flood-field correction (see the description of the FLOOD command).  The sample-to-detector distance for this frame must be exactly the same as it will be for the frames collected from the sample crystal.  Usually a fiducial plate frame with a time cutoff of about 30 minutes or a count cutoff of about 100,000 counts is adequate (a rule-of-thumb which works well is to use the same collection time as for the flood-field data plus 5 minutes, but no less than 15 minutes).

It is essential that the brass plate be properly fastened to the area detector face (see figure in manual). The flat side of the brass plate rests against the detector face; the side with the counter-sunk holes faces the sample.  Insert and tighten ALL the fastening screws to eliminate any small warpage in the fiducial plate.

Either remove the beam stop or make sure that the detector is swung out far enough that the beam stop will cast no shadow when you acquire the brass-plate image.  Make sure that the Fe55 source is properly centered in the goniometer, and directly faces the area detector.

The name of the spatial correction currently in effect is displayed in the current status area at the lower right of the screen.  This correction is used by the CURSOR commands when they output HKL values and "unwarped" X,Y coordinates, and by all the REFL_ARRAY commands, which extract spots from a series of frames, index the diffraction pattern, and compute a least-squares crystal orientation matrix.

SPATIAL /NEW writes four output files, all created in the current frame directory set in CONFIGURE /EDIT. The first is written in a frame file format. The other three output files are all ASCII files in PLOTSO format, which can be displayed with the GRAPH /FILE command.

._br	File containing the brass-plate frame, suitable for input to data reduction programs, such as XENGEN (be sure it is written in the correct format).

._ix	Contains the indexed fiducial spot positions.  It can be used to restore a previously computed spatial correction when it is read in with the SPATIAL /LOAD command.

._if	Shows the spatial correction table used to transform pixel X,Y coordinates FROM raw to corrected values;

._it	Shows the table which transforms corrected coordinates TO raw coordinates.

Both the ._if and ._it plot files are strictly informational -- the program doesn't require them (since the information in them is automatically re-generated from the ._ix file by FRAMBO when SPATIAL /LOAD is used), and you can delete them if desired.

When invoked with the NEW option from the SPATIAL sub-menu or when run from the command line without arguments,  SPATIAL /NEW displays an input panel where you can view/modify the arguments described below.  When in the panel, pressing the ENTER key or left mouse button begins collecting the fiducial plate image; the ESC key or right mouse button returns you to the SPATIAL sub-menu.  You can interrupt acquisition in progress by pressing the CTRL-BREAK keyboard combination; however, at that point the current spatial correction is undefined.

Before taking data, SPATIAL /NEW displays the current CONFIGURE /EDIT distance and direct beam center on the bottom status line, and asks you to confirm that they are correct before proceeding.  If these values don't correspond to your current experimental setup, run CONFIGURE /EDIT and correct them before acquiring the brass-plate data.  These values are stored in the output frame header and are used in subsequent processing, for example, in the spatial correction.  If you don't supply the correct values, you may not be able to auto-index your frames (without a lot of extra effort).

Since collected data are of higher quality when a flood-field correction is made, the message

WARNING: NO FLOOD-FIELD CORRECTION. CONTINUE?

is displayed on the bottom status line in the case where SPATIAL /NEW is run with no current active flood-field correction.

When acquisition of the fiducial-plate image begins, the progress message

COLLECTING SPATIAL CALIBRATION DATA...

is displayed on the bottom status line.

After the fiducial-plate image has been acquired, SPATIAL /NEW automatically processes it to extract positions of the spots and, based on the known positions of the corresponding holes in the fiducial plate, computes a new spatial correction.  In the course of processing the data, it must index the rows and columns (curved, due to the pincushion distortion) of fiducial spots in order to match each spot with a hole of known position on the fiducial plate.  When the indexing is complete, a graphic map of the fiducial spot positions extracted from the frame is drawn.  This graph is actually a GRAPH /FILE of the plottable ASCII ._ix spatial calibration file.  Dashed lines are drawn along the rows and columns of the indexed pattern.  If a line jumps from one row or column to another, the holes have been mis-indexed, and the spatial calibration will not be valid.

If this happens, use the CONTRAST command to check the quality of the fiducial plate frame.  If the frame looks OK, you can try re-processing it with SPATIAL /PROCESS with a different I/sigma level for thresholding spots from the image.  Another possibility is to acquire a fiducial-plate image for a longer period of time. Usually, mis-indexing occurs because the I/sigma threshold is set too low, causing the program to interpret background as a spot.  The default threshold of 4 works well on brass-plate images which contain 80,000 to 100,000 total counts.  If your image contains more counts, you will probably have to raise the threshold accordingly; for example, if the image contains 1,000,000 counts (i.e., about 10 times the nominal number) increase the threshold by a factor of about sqrt(10) -- 12 would be a good value in this case.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Max Seconds)     [15:00]

This is the maximum count time (in seconds). The default value is 900; the range is from 1 to 65,535 seconds.  Times can be entered in decimal seconds or in HH:MM:SS.SS (hours, minutes and seconds) format.  Data collection ends when the specified time has elapsed, or when the maximum count limit (see MAX COUNTS below) has been reached.

Usually a fiducial plate frame with a time cutoff of about 30 min or a count cutoff of about 100,000 counts is adequate (a rule-of-thumb which works well is to use the same collection time as for the flood-field data plus 5 minutes, but no less than 15 minutes).

/COUNT=<n>	(Max Counts)     [100,000,000]

This qualifier sets an upper limit on how many counts may occur before data collection is terminated. When the specified number is reached the system ends the data collection, saving the data frame. The default value is  100,000,000 counts, with a range from 0 to 1037 counts.  Data collection will also be terminated if MAX SECONDS is reached before MAX COUNTS.

/DISPLAY=<n>	(Max Dispalyed Counts)     [100]

0 = no display, otherwise # counts corresponding to white on the display. The initial default is 100; the allowed range is from 1 to 106.

/REALTIME	(/Realtlime)     [Yes]

This qualifier, when present, displays data as it is being collected.  The display does require additional processing time, and will limit the maximum rate at which counts can be accumulated.  If the MAX DISPLAYED COUNTS qualifier is given a non-zero value, the frame will be automatically displayed at the end of the frame collection if realtime display is off. This latter display method has no effect on observed data rate.  Since the data rate in Fe55 source frames is not very high, use of /REALTIME with SPATIAL /NEW will rarely cause any loss in counting efficiency, and you can keep this set to "Y".

/FILE=<s>	(Output Filename)     [brass]

Enter the base filename for the output frame and correction data.  By default, all four output files (._br, ._ix, ._if, and ._it, as described above) in the frame directory specified in the CONFIGURE /EDIT input panel.  More specifically, the filename you enter here is merged with the default filespec Frame_root:*._br, ._ix, etc. where Frame_root refers to the directory in the CONFIGURE /EDIT panel.  See CONFIGURE /EDIT for details on how filenames are merged.  The default name is "brass".

In menumode, the filename is defaulted to the standard naming convention of "SIZE_DDD._BR", where "SIZE" is replaced by "0512" or "1024" and "DDD" is replaced by the detector distance in cm.

If you supply a filename extension here, it is overridden with the extensions ._br, ._ix, ._it, and ._if as appropriate.

If you leave this item blank, or specify a "wildcard filename pattern, pressing the ENTER key or the left mouse button will display a list of the current filenames matching the pattern.  You can choose one from the displayed list by moving to it with the arrow/page keys or mouse and pressing ENTER or the left mouse button.  You will be returned to the input panel with the selected filename filled in.  If you leave this item blank, it is the same as entering a *._ix wildcard pattern.  Both filenames and patterns entered here are merged with the CONFIGURE /EDIT frame directory, as described above.

/XENGEN	(Xengen Output Format (Y/N))     [No]

In the input panel, enter "Y" to write the output ._br frame in XENGEN format (more correctly, in the old PCS computer format), "N" otherwise.  The default selection is "N" (Bruker format).  While the Bruker format will be used increasingly in later releases, you need to be sure that your data reduction package will support it before using it.  If you're not sure whether your data reduction package will read Bruker format, it is probably safer to specify Y here.

/THRESHOLD=<n>	(Threshold)     [4.0]

When extracting fiducial spots from the brass-plate image, the I/sigma(I) (i.e., intensity divided by its standard deviation) of each spot is computed based on counting statistics.  Spots with an I/sigma(I) less than the value specified here are considered to be background fluctuations and are ignored. The default value of 4 should be satisfactory for brass-plate images with 80,000 to 100,000 total counts (see the discussion above).  Valid range is 0.1 to 9999.

/SHUTTER	(Open & Close Shutter (Y/N))     [No]

This qualifier, if present on the command line or given as "Y" in the input panel, causes the shutter to open at the start of each exposure, and to close at the end.  Otherwise, the shutter stays in its current state for the duration of the command. It is used for the Fe foil method of generating a point source. Keep the shutter closed for Fe55 sources.

6.6	Process > Spatial > Load  •  Install a disk-resident spatial correction

Menu Command:  Process > Spatial > Load

Accelerator:  none

User Level:  2

SLAM Syntax:  SPATIAL /LOAD  $1

This command is used to read and install a spatial correction that was previously created with SPATIAL /NEW or SPATIAL /PROCESS.  These commands compute a spatial correction from an Fe55 image taken with the brass fiducial plate fastened to the front of the area detector.  By convention, each spatial correction is stored in a plottable ASCII file ending in a ._IX extension, in the current frame directory specified in the CONFIGURE /EDIT panel.  Although you can thus keep several different spatial corrections available at any time,  re-using old spatial corrections is really not very useful, since your results will be better if you run SPATIAL /NEW prior to data collection on each new sample.  However, if you're analyzing frames on a different computer from that on which the spatial correction was determined, you can transfer the spatial correction by moving the ._IX file over the network (if necessary) and loading it with SPATIAL /LOAD.

Don't confuse SPATIAL /LOAD with the LOAD command on the master menu, which reads a detector frame instead of an ASCII spatial correction file.

The name of the current spatial correction is shown on the display in the current status area at the bottom right of the screen.  SPATIAL /LOAD updates this name when the correction is changed.

When invoked with the LOAD option from the SPATIAL sub-menu or when run from the command line without arguments, SPATIAL /LOAD displays an input panel where you can view/modify the arguments described below.  When in the panel, pressing the ENTER key or left mouse button begins reading in the specified correction; the ESC key or right mouse button returns you to the SPATIAL sub-menu.

During the loading process SPATIAL /LOAD displays the progress messages:

Reading table ...

Building correction tables...

Some computation is necessary since the ._IX file contains just the fiducial spot positions, not the correction tables themselves.  Loading and computation of the correction tables should be completed in a few seconds.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Filename)     [brass._ix]

Name of the spatial correction to read.  This filename is merged with the current frame directory specified in the CONFIGURE /EDIT panel before the program attempts to access the file.  See CONFIGURE /EDIT for a description of how this is done.  If you leave this field blank or specify a wildcard filename pattern in the SPATIAL /LOAD input panel, the program will display a list of filenames from which you can select the desired correction (see DISPLAY /NEW for a more complete description of filename selection).  The default filespec for filename selection is Frame_root:*._IX, where Frame_root is the frame directory specified in the CONFIGURE /EDIT panel.

The special filename of "$DEFAULT" is replaced with the standard naming convention of "SIZE_DDD._IX", where "SIZE" is replaced by "0512" or "1024" and "DDD" is replaced by the detector distance in cm.

6.7	Process > Spatial > Linear  •  Revert to linear table (i.e. no correction)

Menu Command:  Process > Spatial > Linear

Accelerator:  none

User Level:  2

SLAM Syntax:  SPATIAL /LINEAR

Selecting SPATIAL /LINEAR  with the LINEAR option from the SPATIAL sub-menu or from the command line specifies that no spatial correction will be used in subsequent data acquisition (linear scaling of frame X,Y coordinates).  The name of the current spatial correction is shown on the display in the current status area at the bottom right of the screen. SPATIAL /LINEAR updates this name to "LINEAR."  Since you will in general not be able to determine HKL indices and crystal orientation if no spatial correction is in effect, the REFL_ARRAY /INDEX and /LEASTSQ will issue a warning if you run them with a linear spatial correction.

SPATIAL /LINEAR runs immediately without prompting for additional input.

Arguments

None. Command executes immediately.

6.8	Process > Spatial > Process  •  Compute correction from current LOADed brass plate frame

Menu Command:  Process > Spatial > PROCESS

Accelerator:  none

User Level:  3

SLAM Syntax:  SPATIAL  /PROCESS $1 /THRESHOLD=<n>

SPATIAL /PROCESS can be used to compute and install a spatial correction given a fiducial plate image collected with a previous SPATIAL /NEW or ADD command.  The fiducial plate image must reside in the 32-bit frame accumulation memory prior to running this command. It must, therefore, be left from an earlier SPATIAL /NEW, ADD or SCAN (with no intervening commands which overwrite accumulation memory having been issued -- see the SAVE command description for a list of these commands), or must be read in with a LOAD command (not DISPLAY, and not SPATIAL /LOAD).

When invoked from the master menu or from the command line without arguments, SPATIAL /PROCESS displays an input panel where you can view/edit the items described below prior to computing the spatial correction.  If you press the ENTER key or left mouse button when in this input panel, the computation begins.  The ESC key or right mouse button returns you from the input panel to SPATIAL sub-menu.   When computation has started, SPATIAL /PROCESS displays the progress message on the bottom status line:

BUILDING CORRECTION TABLES...

Computations should be complete within a few seconds.  During this process, SPATIAL /PROCESS automatically extracts positions of the fiducial spots from the input frame and, based on the known positions of the corresponding holes in the fiducial plate, computes a new spatial correction.  In the course of processing the data, it must index the rows and columns (curved, due to the pincushion distortion) of fiducial spots in order to match each spot with a hole of known position on the fiducial plate.  When the indexing is complete, a graphic map of the fiducial spot positions extracted from the frame is drawn.  This graph is actually a GRAPH /FILE of the plottable ASCII ._ix spatial calibration file (see below).  Dashed lines are drawn along the rows and columns of the indexed pattern.  If a line jumps from one row or column to another, the holes have been mis-indexed, and the spatial calibration will not be valid.

If this happens, use the CONTRAST command to check the quality of the fiducial plate frame.  If the frame looks OK, you can try re-processing it with SPATIAL /PROCESS with a different I/sigma level for thresholding spots from the image.  Another possibility is to acquire a fiducial-plate image for a longer period of time.  Usually, mis-indexing occurs because the I/sigma threshold is set too low, causing the program to interpret background as a spot.  The default threshold of 4 works well on brass-plate images which contain 80,000 to 100,000 total counts.  If your image contains more counts, you will probably have to raise the threshold accordingly; for example, if the image contains 1,000,000 counts (i.e., about 10 times the nominal number) increase the threshold by a factor of about sqrt(10) -- 12 would be a good value in this case.

The name of the spatial correction is updated in the current status area at the lower right of the screen.  This correction is used by the CURSOR commands when they output HKL values and "unwarped" X,Y coordinates, and by all the REFL_ARRAY commands, which extract spots from a series of frames, index the diffraction pattern, and compute a least-squares crystal orientation matrix.

SPATIAL /PROCESS writes three output files.  All three files are ASCII files in PLOTSO format, which can be displayed with the GRAPH /FILE command:

._ix    Contains the indexed fiducial spot positions; can be used to restore a previously computed spatial correction when it is read in with the SPATIAL /LOAD command.

._if    Shows the spatial correction table used to transform pixel X,Y coordinates FROM raw to corrected values;

._it    Shows the table which transforms corrected coordinates TO raw  coordinates.

Both the ._if and ._it plot files are strictly informational -- the program doesn't require them (since the information in them is automatically re-generated from the ._ix file by FRAMBO when SPATIAL /LOAD is used), and you can delete them if desired.

All three of the output files are by default created in the current frame directory set in the CONFIGURE /EDIT panel.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Output Filename)     [brass]

Enter the base filename for the output correction data.  By default, all three output files (._ix, ._if, and ._it, as described above) in the frame directory specified in the CONFIGURE /EDIT input panel.  More specifically, the filename you enter here is merged with the default filespec Frame_root:*._ix, ._if, etc. where Frame_root refers to the directory in the CONFIGURE /EDIT panel.  See CONFIGURE /EDIT for details on how filenames are merged.  The default name is "brass".

If you supply a filename extension here, it is overridden with the exensions ._ix, ._it, and ._if as appropriate.

If you leave this item blank, or specify a "wildcard filename pattern, pressing the ENTER key or the left mouse button will display a list of the current filenames matching the pattern.  You can choose one from the displayed list by moving to it with the arrow/page keys or mouse and pressing ENTER or the left mouse button.  You will be returned to the input panel with the selected filename filled in.  If you leave this item blank, it is the same as entering a *._ix wildcard pattern.  Both filenames and patterns entered here are merged with the CONFIGURE /EDIT frame directory, as described above.

/THRESHOLD=<n>	(# Sigmas Spot Threshold)     [4.0]

When extracting fiducial spots from the brass-plate image, the I/sigma(I) (i.e., intensity divided by its standard deviation) of each spot is computed based on counting statistics.  Spots with an I/sigma(I) less than the value specified here are considered to be background fluctuations and are ignored. The default value of 4 should be satisfactory for brass-plate images with 80,000 to 100,000 total counts (see the discussion above).  Valid range is 0.1 to 9999.

6.9	Process > Spatial > Unwarp  •  Apply spatial correction and write unwarped output frame(s)

Menu Command:  Process > Spatial > Unwarp

Accelerator:  Ctrl+U

User Level:  1

SLAM Syntax:

SPATIAL /UNWARP $1 $2 $3 /NONORMALIZATION /DISPLAY=<n> /XENGEN  /NOBEAMCENTER

SPATIAL /UWWARP writes an output data frame generated by spatially remapping the specified input frame to correct the inherent geometrical pincushion distortion, based on the currently active spatial correction.  Unwarping is important for frames which are to be processed by SAXS or other programs which need spatially corrected input.  The data reduction programs for crystallographic data perform the spatial correction internally, and do not require unwarped frames.  Users of FRAMBO and SADIE would use SPATIAL /UNWARP only in special cases.

Each pixel of the corrected output frame is generated by determining the corresponding raw X,Y coordinates in the input frame, and computing the intensity at that point by interpolation from the surrounding input pixels.  Because the area of the output pixel is slightly different from that of the input pixel (due to the effective "rubber-sheet" stretching being performed), the output pixel value is, by default, multiplied by the ratio of the pixel areas.  This is referred to as "intensity normalization." Intensity normalization can be suppressed with the /NONORMALIZATION qualifier described below. If the intensities in the output frame must be accurate, do not suppress the normalization.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Input Frame Filename)     [frame1.000]

Name of first file to be unwarped.  Default is frame1.000.  If you leave this item blank, or specify a "wildcard filename pattern, pressing the ENTER key or the left mouse button will display a list of the current filenames matching the pattern.  You can choose one from the displayed list by moving to it with the arrow/page keys or mouse and pressing ENTER or the left mouse button.  You will be returned to the input panel with the selected filename filled in.  If you leave this item blank, it is the same as entering a *.* wildcard pattern.  Both filenames and patterns entered here are merged with the CONFIGURE /EDIT frame directory, as described above.

$2	(# of Frames to Process)     [1]

Number of frames in the series to unwarp.

$3	(Output Frame Filename)     [frame1u.000]

Name of unwarped frame file that will be created.  The default is frame1.unw. If no output extension is specified, a .unw extension is used.  If you leave this item blank, or specify a "wildcard filename pattern, pressing the ENTER key or the left mouse button will display a list of the current filenames matching the pattern.  You can choose one from the displayed list by moving to it with the arrow/page keys or mouse and pressing ENTER or the left mouse button.  You will be returned to the input panel with the selected filename filled in.  If you leave this item blank, it is the same as entering a *.* wildcard pattern.  Both filenames and patterns entered here are merged with the CONFIGURE /EDIT frame directory, as described above.

/NONORMALIZATION	(Suppress I Normalization (Y/N)?)     [no]

In command line mode, enter "nonormalization" if you want the system to bypass intensity normalization (described above). In the input panel specify "Y" at the prompt to bypass intensity normalization (the default "N" causes the system to normalize intensities).

/DISPLAY=<n>	(Max Display Counts)     [16]

Enter 0 if you do not want the correction frame displayed; any other number selects display and is used to set the white level of the display.

/XENGEN	(Xengen output format (Y/N)?)     [no]

In the input panel, enter "Y" to write the output frame in XENGEN format (more correctly, in the old PCS computer format), "N" otherwise.  The default selection is "N" (Bruker format).  If you're going to use these frames as input to SAXS, use "N" here.

/NOBEAMCENTER	(Suppress Unwarping Beam Ctr (Y/N))     [yes]

Normally, SPATIAL /UNWARP overwrites the X,Y beam center coordinates stored in the output frame header with the spatially corrected values. /NOBEAMCENTER suppresses the update of the beam center in the output header.  In SAXS, where the beam center may already be unwarped, /NOBEAMCENTER is usually required, while in FRAMBO where the beam center is always stored in warped coordinates, this option is left off.  The default in the input panel is "Y".

6.10	Process > LPA

Menu Command:  Process > LPA

Accelerator:  none

User Level:  2

SLAM Syntax:

LPA  $1  $2  $3  /MONOCHROMATOR=<n>  /AIRMU=<n>  /NOREVERSE

Calculate and apply Lorentz, polarization, air and faceplate absorption corrections, then apply the "reverse" corrections for Lorentz and polarization to obtain intensities equivalent to a conventional powder diffractometer with a monochromator and scintillation counter.

LORENTZ

For a completely random sample the forward and reverse Lorentz corrections are identical and effectively cancel each other out.

POLARIZATION

The forward polarization correction:

The reverse polarization correction:

where:

2α  = two-theta of monochromator

2θ = two-theta of Bragg reflection

2β = angle of reflection vector from horizontal plane

AIR AND FACEPLATE ABSORPTION

Be absorption calculations account for path length differences due to geometry. Photons at the center of the detector travel through a shorter Be path than a photon at the edge of the detector.

Nominal AIRMU is 0.00021 per pixel; (about .01 per cm) assuming 8.0KV (Cu K(alpha)), 80:20 N2:O2, 20 ºC, 760mm Hg, 47.5 pixels/cm.  At detector distance of 12 cm, difference in correction across face is < 1%, so AIRMU need not be very precise.

For speed considerations, we will only calculate the LPA correction every 16 (or 32 for 1K frames) pixels along the detector. Intermediate pixel corrections may be determined using linear extrapolation.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Input Filename)     [$FRAME]

Enter filename for first input frame in series to process

$2	(# of Frames to Process)     [1]

Enter # consecutive frames to process

$3	(Output Filename)     [$NULL]

Enter filename for first output corrected frame

/MONOCHROMATOR=<n>	(Mono. 2T)     [26.6]

Enter monochromator 2-theta (0 if filter)

/AIRMU=<n>	(Air Mu in Cm-1)     [0.01]

Enter air absorption coefficient

/NOREVERSE	(Suppress Reverse Corr. Y/N)     [No]

Enter Y to suppress reverse polarization correction

6.11	Process > Smooth > Average  •  Smooth image with 3x3 boxcar average filter

Menu Command:  Process > Smooth > Average

Accelerator:  none

User Level:  1

SLAM Syntax:  SMOOTH  /AVERAGE

Two filters are provided to smooth frame images: average will compute the average pixel value, while median determines the median pixel value. Both filters utilize a 3x3 pixel box and ignore any pixel outside the active pixel map (see MASK).

Arguments

None. Command executes immediately.

6.12	Process > Smooth > Median  •  Smooth image with 3x3 median filter

Menu Command:  Process > Smooth > Median

Accelerator:  none

User Level:  1

SLAM Syntax:  SMOOTH  /MEDIAN

Two filters are provided to smooth frame images: average will compute the average pixel value, while median determines the median pixel value. Both filters utilize a 3x3 pixel box and ignore any pixel outside the active pixel map (see MASK).

Arguments

None. Command executes immediately.

6.13	Process > Smooth > Convolve  •  Smooth image by convolving with average neighborhood

Menu Command:  Process > Smooth > Convolve

Accelerator:  none

User Level:  1

SLAM Syntax:  SMOOTH  /CONVOLVE  $1

The average neighborhood filter will smooth the frame image using the average pixel value of a user-defined pixel box.  This filter will ignore the active pixel map (see MASK).

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Width in pixels)     [2]

Enter width in pixels of neighboorhood to convolve

6.14	Process > Calibrate  •  Calibrate detector distance, angle and center using a known standard

Menu Command:  Process > Calibrate

Accelerator:  none

User Level:  1

SLAM Syntax:

CALIBRATE $1 /MININT=<n> /DISTANCE=<n> $2 /ANGLE=<n> $3  /X=<n> /Y=<n> $4 /AUTO /NOERASE /DELAY=<n>

Precise detector position cannot be determined by visual methods, but require taking a frame of a known standard and comparing the measured Debye-Scherrer rings with the calculated lines based on various detector positional parameters. Detector distance, swing angle, and beam center are determined permitting accurate 2-theta and chi values from other routines, such as INTEGRATE.

The calibration process requires a data frame(s) using a known standard sample. Typically corundum, quartz, or silicon is used but in practice any material exhibiting high stability and extremely sharp diffraction lines can be used. Also uses SAXS$SYSTEM:profile.pro for definition of the lineshape function.

In interactive mode, the standard d/I file is superimposed over the collected data frame. The user can move the detector position or the detector beam position using either the cursor keys or the trackball. On a fully calibrated frame, the calculated Debye-Sherrer lines will precisely center over the lines in the data frame.

Toggling between the calibration of the detector distance and the swing angle and the calibration of the detector center is performed by pressing the "C" key.  As  an aid during interactive calibration the detector distance, swing angle, and center are continuously displayed and updated on the screen.

To align the detector center, move the calibration lines until a calculated and a measured Debye-ring exhibit the same center. This is most easily accomplished with an on-axis data frame; if the data frame is off-axis, it can still be done by examining the offset at the extreme top and bottom of the display.

To align the detector distance, use the cursor keys to expand or contract the calibration lines. To align the swing angle, use the cursor keys to shift left or right the calibration lines.  When correctly calibrated, all calculated Debye-rings will be precisely centered over the corresponding lines in the data frame.

Upon exiting CALIBRATE, the detector parameter offsets are stored in the frame header and the new detector center, swing angle, and sample distance are placed in the current configuration. All future frames collected will have the calibrated values in their frame headers. Thus, CALIBRATE should be performed before any data frames are collected in order that the proper experimental values are written into the frame header.

If the detector distance was changed, the SPATIAL /UNWARP file will be wrong. You will need to reload the brass image, set the correct detector distance, and reprocess the spatial correction tables.  Secondly, the beam center stored in the configuration setup is already unwarped, so during any SPATIAL /UNWARP command, set the /NOBEAMCENTER switch to "Y".

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Standard filename / PDF2 number)     [corundum.std]

The input standard calibration file contains a list of d-spacing's and intensities for a given standard.  SAXS is supplied with files for corundum, quartz, and silicon.  Other standards can be added with a text editor.  By default the directory SAXS$SYSDATA: (or SAXI$SYSTEM:) is used unless otherwise specified. If available, the JCPDS PDF2 CD-ROM may be read for any standard -- simply enter a valid PDF number separated by " ", ",", or "-".

/MININT=<n>	(Minimum relative intensity)     [5]

When reading the standard file, all lines below this threshold will be ignored and thus not displayed.

/DISTANCE=<n>	(Sample to detector distance (cm))    	[from frame header]

The default is read from the frame header. This distance is measured from the sample to the front of the detector face and is read off the scale below the detector.

$2	(Delta distance)     [0.05]

Enter the interactive sensitivity for calibrating the detector distance in cm.

/ANGLE=<n>	(Detector swing angle)    	[from frame header]

Default from frame header.  Detector swing angle in degrees.

$3	(Delta angle)     [0.00]

Enter the interactive sensitivity for calibrating the detector angle in degrees.

/X=<n>	(Detector X-center)     [from frame header]

Default from frame header.  Detector X-center in pixels.  The origin is taken as lower left corner of frame.

/X=<n>	(Detector Y-center)     [from frame header]

Default from frame header.  Detector Y-center in pixels.

$4	(Delta XY)     [0.5]

Enter the interactive sensitivity for calibrating the detector center in pixels. Range 1 to 10.

/AUTO	(Auto mode Y/N)     [No]

Enter "Y" to perform an automatic least squares fit of the calibration standard line(s), prior to allowing user manipulation of the detector parameters.

/DELAY=<n>	()     [0.0]

Delay before exiting routine -- useful in demo loops only.

/NOERASE	()     [No]

Prevents erasing the calibration lines when exiting routine.


7.	Analyze Routines

7.1	Analyze > Cursors > Box  •  Display statistics of pixels in rectangular region

Menu Command:  Analyze > Cursors > Box

Accelerator:  F5

User Level:  1

SLAM Syntax:  CURSORS /BOX  $1 $2 $3 $4 /DELAY=<n> /NOERASE

When invoked from the menu or when run from the command line without arguments, Analyze > Cursor > Box starts running directly (that is, there are no dialog items to be filled in).  A rectangular cursor (from 2x2 to 1024x1024 pixels in size) appears in the detector frame area and can be dragged or resized by the mouse or keyboard arrow keys. Several quantities (described below) related to the currently displayed frame at the cursor position are displayed in real time at the right of the image.  Pressing ENTER or releasing the left mouse button exits, returning you to the menu.  Pressing ESC or clicking the right mouse button while dragging with the left button pressed toggles between position-change mode and size-change mode. The center of the box remains fixed while the size changes as the mouse is dragged.

When moving or sizing the box with the arrow keys, you can press CTRL along with an arrow key to move in increments ten times larger than for the unmodified arrow key.

Analyze > Cursor > Box can also be used to clear or fill the area inside a box to a specified value, allowing you to edit the image with basic functions.  When you press BACKSPACE (or DELETE on the extended, middle keypad), SAXS displays a dialog box where you can enter a value to set all pixels inside the box cursor.  The default value is equal to the current background estimate based on pixel values around the box perimeter. Pressing ESC or clicking the Cancel button exits without changing pixel values. After editing the image, you can use the SAVE command to write the image in edited form.  This function can be performed only interactively (that is, there is no way to clear the area in a box with command-line commands).

By providing arguments on the command line, you can direct SAXS to compute the box calculations once at one specified position, after which control returns immediately to the command line.

The line weight of the cursor can be increased from the default thickness of 1 pixel by defining the environment variable SAXI$CURSWEIGHT with an integer value from 2 to 7.  In general, SAXI$CURSWEIGHT=3 is a good value to use if you want thick cursors.  Odd values are better than even ones, since the extra thickness is then added symmetrically about the true cursor position.

Analyze > Cursor > Box can display HKL indices corresponding to the centroid position based on the current orientation matrix (that is, the one refined in the last ReflArray > LeastSquares command).  These values will be correct for frames acquired in Bruker-format frames in general.  They will probably NOT be correct for XENGEN-1.3-format frames, because those frames do not contain the required setting angle information.

If logging is turned on (see the File > LogFile command for more information), the quantities computed for the final position of the cursor prior to exiting the command are written to the output logfile.  If scripting is enabled (see File > ScriptFile), a non-interactive CURSOR command corresponding to the final cursor position is written to the output script file.

The SLAM command arguments are:

$1

The X-coordinate of the lower left of the box in pixels. The range is from 0 to framesize-1; default value is 256.

$2

The Y-coordinate of the lower left of the box in pixels. The range is from 0 to framesize-1; default value is 256.

$3

The width of the box in pixels. The range is from 0 to framesize-1; default is 32.

$4

The height of the box in pixels. The range is from 0 to framesize-1; default is 32.

/DELAY=<n>

Specifies a time interval in seconds to wait before erasing the cursor and returning control to the program.  This is for use in scripts, where it is desirable for the cursor to remain onscreen long enough for the user to discern its position.

/NOERASE

Suppresses erasure of the cursor on exit.  Since the cursors are drawn by "toggling" the sense of the screen pixels, you can erase a cursor left from a /NOERASE by reissuing the command with the same parameters.  The Analyze > Clear command is another way to erase cursors left over from /NOERASE options.

The following output statistics are displayed onscreen in real time, and are also written to the log file if applicable.

XY-PIXEL:

X- and Y-center of box in pixels (range from 0 to framesize-1), with the origin (X=0,Y=0) at the lower left of the screen.

WIDTH,HT:

Width and height of the box, in pixels.

TOTALCTS:

Sum of the pixel values in rectangular box.

MAXIMUM:

Largest pixel value in the box.

MEAN:

The average of the pixels values contained in the box.

I:

Integrated intensity (minus background).  The background is computed as the average of the points on the perimeter of the box, excluding all points which are more than 3 standard deviations above the mean.

SIGMA(I):

Standard deviation of integrated intensity, I.

I/SIGMA(I):

Integrated intensity divided by its standard deviation.

BACKGND:

Average of points on perimeter of box, excluding those points which are more than 3 standard deviations above the mean.

XCNTROID:

Raw X-coordinate of centroid of intensity, in pixels.

YCNTROID:

Raw Y-coordinate of centroid of intensity, in pixels.

HKL:

If an orientation matrix is in effect, the HKL indices corresponding to the intensity centroid are also output.

XUNWARPED:

If a spatial correction is in use, this provides spatially corrected X-coordinate of centroid of intensity, otherwise this value will be identical to the raw coordinate.

YUNWARPED:

If a spatial correction is in use, this provides spatially corrected raw Y-coordinate of centroid of intensity, otherwise this value will be identical to the raw coordinate.

7.2	Analyze > Cursors > Circle  •  Display position and size of circular cursor

Menu Command:  Analyze > Cursors > Circle

Accelerator:  F6

User Level:  1

SLAM Syntax:  CURSORS /CIRCLE $1 $2 $3 /DELAY=<n> /NOERASE

When invoked from the menu or when run from the command line without arguments, Analyze > Cursor > Circle starts running directly; that is, there are no dialog items to be filled in.  A circular cursor with a small crosshair at its center appears in the detector frame area, and can be dragged or resized under control of the mouse and/or keyboard arrow keys.  Several quantities (described below) related to the currently displayed frame at the cursor position are displayed in real time at the right of the image.  Pressing ENTER or releasing the left mouse button exits, returning you to the menu. Pressing ESC or clicking the right mouse button while dragging with the left button pressed toggles between position-change mode and size-change mode where the center of the circle remains fixed while the size changes as the mouse is dragged.

When moving or sizing the circle with the arrow keys, you can press CTRL along with an arrow key to move in increments ten times larger than for the unmodified arrow key.

When used in this interactive manner, the command also provides the option to drive the spindle axis (phi) to a position where the zero-layer diffraction circle represented by the circular cursor would be at its closest approach to the direct beam center.  Pressing the D key drives the phi axis to the new position (as indicated in the prompt on the bottom status line).

By providing arguments on the command line, you can direct the cursor computations to be performed once at a single specified position, after which control returns immediately to the command line.

The line weight of the cursor can be increased from the default thickness of 1 pixel by defining the environment variable SAXI$CURSWEIGHT with an integer value from 2 to 7.  In general, SAXI$CURSWEIGHT=3 is a good value to use if you want thick cursors.  Odd values are better than even ones, since the extra thickness is then added symmetrically about the true cursor position.

If logging is turned on (see the File > LogFile command for more information), the quantities computed for the final position of the cursor prior to exiting the command are written to the output logfile.  If scripting is enabled (see File > ScriptFile), a non-interactive CURSOR command corresponding to the final cursor position is written to the output script file.

The SLAM command arguments are:

$1

X-coordinate of the circle center in pixels. The range is from 0 to framesize-1; default value is 256.

$2

Y-coordinate of the circle center in pixels. The range is from 0 to framesize-1; default value is 256.

$3

Radius of the circle in pixels. The range is from 0 to framesize/2 -1; the default value is 64.

/DELAY=<n>

Specifies a time interval in seconds to wait before erasing the cursor and returning control to the program.  This is for use in scripts, where it is desirable for the cursor to remain onscreen long enough for the user to discern its position.

/NOERASE

Suppresses erasure of the cursor on exit.  Note that the cursors are drawn by "toggling" the sense of the screen pixels;  thus, you can erase a cursor left from a /NOERASE by reissuing the command with the same parameters.  The Analyze > Clear command is another way to erase cursors left over from /NOERASE options.

The following output statistics are displayed onscreen in real time and written to the logfile, if applicable.

COUNTS:

Value of pixel at circle center

X-PIXEL:

X-coordinate of circle center (range from 0 to framesize-1), with origin (X=0) being located at lower left of screen.

Y-PIXEL:

Y-coordinate of circle center (range from 0 to framesize-1), with origin (Y=0) being located at lower left of screen.

X-XENGEN:

X-center of circle in XENGEN convention (range from framesize-1 to 0), with origin (X=0) being located at upper right of screen.

Y-XENGEN:

Y-center of circle in XENGEN convention (range from framesize-1 to 0), with origin (Y=0) being located at upper right of screen.

R-PIXELS:

Radius of circle in pixels

DEGREES:

Radius of circle in degrees 2-theta

ANGSTRMS:

Radius of circle, Angstroms

7.3	Analyze > Cursors > Pixel  •  Show pixel positions and values in displayed frame

Menu Command:  Analyze > Cursors > Pixel

Accelerator:  F7

User Level:  1

SLAM Syntax:  CURSORS /PIXEL $1 $2 /DELAY=<n> /NOERASE /DUMP

When invoked from the menu, or run from the command line without arguments, Analyze > Cursor > Pixel starts directly (that is, it requires no additional input).  A full-window crosshair cursor appears in the detector frame area and can be dragged under control of the mouse and/or keyboard arrow keys. Several quantities (described below), related to the currently displayed frame at the cursor position, are displayed in real time to the right of the image. Pressing ENTER or releasing the left mouse button exits, returning you to the menu.  Pressing ESC or clicking the right mouse button while dragging with the left button pressed displays a pixel map of the numeric values in memory for a 17- x 17-pixel grid centered on the pixel under the crosshair. In this display, a box appears around the value for the pixel currently underneath the cursor. Pressing any mouse or keyboard key returns to display of the data frame and the interactive crosshair cursor.

When dragging the cursor with the arrow keys, you can press CTRL along with an arrow key to move in increments ten times larger than for the unmodified arrow key.

By providing arguments on the command line, you can direct the cursor computations to be performed once at a single specified position, after which control returns immediately to the command line.

The line weight of the cursor can be increased from the default thickness of 1 pixel by defining the environment variable SAXI$CURSWEIGHT with an integer value from 2 to 7.  In general, SAXI$CURSWEIGHT=3 is a good value to use if you want thick cursors.  Odd values are better than even ones, since the extra thickness is then added symmetrically about the true cursor position.

Analyze > Cursor > Pixel can display HKL indices corresponding to the cursor position based on the current orientation matrix (that is, the one refined in the last Crystal > LS command).  These values will be correct for frames acquired with SAXS and for Bruker-format frames in general.  They will probably NOT be correct for XENGEN-1.3-format multi-wire detector frames acquired data collection software earlier than FRAMBO V2, since those frames do not contain the required setting angle information.

If logging is turned on (see the File > LogFile command for more information), the quantities computed for the final position of the cursor prior to exiting the command are written to the output logfile, as are the values in each 17x17 numeric pixel dump.  If scripting is enabled (see File > ScriptFile), a non-interactive CURSOR command corresponding to the final cursor position is written to the output script file.

The SLAM command arguments are:

$1

X-coordinate in pixels of the crosshair center. The range is from 0 to framesize-1; default value is 256.

$2

Y-coordinate in pixels of the crosshair center. The range is from 0 to framesize-1; default value is 256.

/DELAY=<n>

Specifies a time interval to wait before erasing the cursor and returning control to the program.  This is for use in scripts, where it is desirable for the cursor to remain onscreen long enough for the user to discern its position.

/NOERASE

Suppresses erasure of the cursor on exit.  Note that the cursors are drawn by "toggling" the sense of the screen pixels;  thus, you can erase a cursor left from a /NOERASE by reissuing the command with the same parameters.  The  Analyze > Clear command is another way to erase cursors left over from /NOERASE options.

/DUMP

Displays a 17x17 numeric pixel dump at the specified position.  If a keyboard or mouse event doesn't occur within the time-out value set in the Edit > Config dialog, the display times out and control is returned to the command line.  If logging is enabled, a copy of the pixel dump is also written to the logfile.

The following output statistics are displayed onscreen in real time, and are also written to the logfile if applicable.

XY-PIXEL:

X- and Y-coordinates of current pixel (range from 0 to framesize-1), with origin (0,0) being located at lower left of screen.

XENGEN:

X- and Y-coordinate of current pixel in XENGEN convention (range from framesize-1 to 0), with origin (0,0) being located at upper right of screen.

COUNTS:

Counts at current pixel.

XUNWARPED:

If a spatial correction is in use, provides spatially corrected X-coordinate of current pixel, otherwise this value will be identical to the raw coordinate.

YUNWARPED:

If a spatial correction is in use, provides spatially corrected Y-coordinate, otherwise this value will be identical to the raw coordinate.

DX:

Signed pixel X-distance from frame center.

DY:

Signed pixel Y-distance from frame center.

2-THETA:

2-Theta value at current pixel.

ANGSTRMS:

Resolution in Angstroms at current pixel.

7.4	Analyze > Cursors > Vector  •  Measure distances on displayed frame

Menu Command:  Analyze > Cursors > Vector

Accelerator:  F8

User Level:  1

SLAM Syntax:  CURSORS/VECTOR  $1 $2 $3 $4 /DELAY=<n> /NOERASE

When invoked from the menu or when run from the command line without arguments, Analyze > Cursor > Vector starts running directly (that is, there are no dialog items to be filled in).  A rubber-band vector cursor appears in the detector frame area and can be dragged or resized by the mouse or keyboard arrow keys.  Several quantities (described below) related to the currently displayed frame at the cursor position are displayed in real time at the right of the image. Pressing ENTER or releasing the left mouse button exits, returning you to the menu.  Pressing ESC or clicking the right mouse button while dragging with the left button pressed toggles between position-change mode and size-change mode. The vector origin remains anchored while the vector endpoint moves as the mouse is dragged.

When moving or sizing the cursor with the arrow keys, you can press CTRL along with an arrow key to move in increments ten times larger than for the unmodified arrow key.

By providing arguments on the command line, you can direct SAXS to compute the calculations once at one specified position, after which control returns immediately to the command line.

The line weight of the cursor can be increased from the default thickness of 1 pixel by defining the environment variable SAXI$CURSWEIGHT with an integer value from 2 to 7.  In general, SAXI$CURSWEIGHT=3 is a good value to use if you want thick cursors.  Odd values are better than even ones, since the extra thickness is then added symmetrically about the true cursor position.

If logging is turned on (see the File > LogFile command for more information), the quantities computed for the final position of the cursor prior to exiting the command are written to the output logfile.  If scripting is enabled (see File > ScriptFile), a non-interactive CURSOR command corresponding to the final cursor position is written to the output script file.

The SLAM command arguments are:

$1

The X-coordinate of the lower left of the vector in pixels. The range is from 0 to framesize-1; default value is 256.

$2

The Y-coordinate of the lower left of the vector in pixels. The range is from 0 to framesize-1; default value is 256.

$3

The X-length of the vector pixels. The range is from 0 to framesize-1; default value is 32.

$4

The Y-length of the vector in pixels. The range is from 0 to framesize-1; default value is 1.

/DELAY=<n>

Specifies a time interval in seconds to wait before erasing the cursor and returning control to the program.  This is for use in scripts, where it is desirable for the cursor to remain onscreen long enough for the user to discern its position.

/NOERASE

Suppresses erasure of the cursor on exit.  Note that the cursors are drawn by "toggling" the sense of the screen pixels;  thus, you can erase a cursor left from a /NOERASE by reissuing the command with the same parameters.  The  Analyze > Clear command also provides a way to erase cursors left over from /NOERASE options.

The following output statistics are displayed onscreen in real time and are also written to the logfile if applicable.

ORIGCNTS:

Counts of pixel at vector origin.

ENDPCNTS:

Counts of pixel at vector endpoint.

X-ORIGIN:

X-coordinate of origin in pixels.

Y-ORIGIN:

Y-coordinate of origin in pixels.

X-ENDPT:

X-coordinate of endpoint in pixels.

Y-ENDPT:

Y-coordinate of endpoint in pixels.

X-MIDPT:

X-coordinate of midpoint in pixels.

Y-MIDPT:

Y-coordinate of midpoint in pixels.

D-PIXEL:

Length of vector in pixels.

D-~DEG:

Length of vector in degrees 2-theta.

D-~ANGST:

Length of vector in Angstroms.

CHI:

Angle of the vector in degrees clockwise from -χ.  This chi convention is the same as that used on a 4-circle diffractometer (that is, if the vector origin is at the beam center and the endpoint is on a reflection taken at omega=0, chi is the angle to which you would drive the goniometer to place the reflection in the equatorial plane on the positive 2-theta side).

7.5	Analyze > Cursors > Conic  •  Display constant two-theta conic lines

Menu Command:  Analyze > Cursors > Conic

Accelerator:  F9

User Level:  1

SLAM Syntax:  CURSORS  /CONIC  $1 $2 /DELAY=<n> /NOERASE

When invoked with the CONIC option from the CURSORS sub-menu or when run from the command line without arguments, CURSORS /CONIC starts running directly (that is, there are no items to be filled in on an input panel).  A full-window conic cursor appears in the detector frame area, and can be moved under control of the mouse and/or keyboard arrow keys. Pressing the ENTER key or left mouse button exits, returning you to the CURSORS sub-menu.

The lineweight of the cursor can be increased from the default thickness of 1 pixel by defining the environment variable SAXI$CURSWEIGHT with an integer value from 2 to 7.  In general, SAXI$CURSWEIGHT=3 is a good value to use if you want thick cursors.  Odd values are better than even ones, since the extra thickness is then added symmetrically about the true cursor position.

By providing arguments on the command line, you can direct the CURSORS /CONIC computations to be performed once at a single specified position, after which control returns immediately to the command line.

If logging is turned on (see the LOGFILE command for more information), the quantities computed for the final position of the cursor, prior to exiting the command, are written to the output logfile.  If scripting is enabled (again, see LOGFILE), a non-interactive CURSORS command corresponding to the final cursor position is written to the output script file.

The SLAM command arguments are:

$1

X-coordinate in pixels of the crosshair center. The range is from 0 to {framesize-1}; default value is 256.

$2

Y-coordinate in pixels of the crosshair center. The range is from 0 to {framesize-1}; default value is 256.

/DELAY=<n>

Specifies a time interval to wait before erasing the cursor and returning control to the program.  This is for use in scripts, where it is desirable for the cursor to remain on-screen long enough for the user to discern its position.

/NOERASE

Suppresses erasure of the cursor on exit.  Note that the cursors are drawn by "toggling" the sense of the screen pixels;  thus, you can erase a cursor left from a /NOERASE by reissuing the command with the same parameters.  The CLEAR command also provides a way to erase cursors left over from /NOERASE options.

The following output statistics are displayed on-screen in real time and are also written to the logfile if applicable.

Counts:

Counts at current pixel.

X-Pixel:

X-coordinate of current pixel (range from 0 to {framesize-1}), with origin (X=0) being located at lower left of screen.

Y-Pixel:

Y-coordinate of current pixel (range from 0 to {framesize-1}), with origin (Y=0) being located at lower left of screen.

X-XENGEN:

X-coordinate of current pixel in XENGEN convention (range from {framesize-1} to 0), with origin (X=0) being located at upper right of screen.

Y-XENGEN:

Y-coordinate of current pixel in XENGEN convention (range from framesize-1} to 0), with origin (Y=0) being located at upper right of screen.

2-Theta:

2-Theta value of Debye-Scherrer ring at current pixel.

Angstrms:

Angstroms of Debye-Scherrer ring at current pixel.

Lambda:

Wavelength used to calculate statistics.

Chi:

Chi value of Debye-Scherrer ring at current pixel.

7.6	Analyze > Cursors > Rbox  •  Display statistics of pixels in rotated rectangular region

Menu Command:  Analyze > Cursors > Rbox

Accelerator:  F10

User Level:  1

SLAM Syntax:  CURSORS /RBOX  $1 $2 $3 $4 /DELAY=<n> /NOERASE

When invoked with the RBOX option from the CURSORS sub-menu or when run from the command line without arguments, CURSORS /RBOX starts running directly (that is, there are no items to be filled in on an input panel).  A rectangular cursor from 2x2 to 128x128 pixels in size appears in the detector frame area, and can be moved or re-sized under control of the mouse and/or keyboard arrow keys. Pressing the ENTER key or left mouse button exits, returning you to the CURSORS sub-menu.  Pressing the ESC key or the right mouse button toggles between position-change mode and size-change mode where the lower left corner of the box remains anchored while the upper left corner moves under mouse control.

Analyze > Cursor > RBox can also be used to clear or fill the area inside a box to a specified value, allowing you to edit the image with basic functions.  When you press BACKSPACE (or DELETE on the extended, middle keypad), SAXS displays a dialog box where you can enter a value to set all pixels inside the box cursor.  The default value is equal to the current background estimate based on pixel values around the box perimeter. Pressing ESC or clicking the Cancel button exits without changing pixel values. After editing the image, you can use the SAVE command to write the image in edited form.  This function can be performed only interactively (that is, there is no way to clear the area in a box with command-line commands).

The lineweight of the cursor can be increased from the default thickness of 1 pixel by defining the environment variable SAXI$CURSWEIGHT with an integer value from 2 to 7.  In general, SAXI$CURSWEIGHT=3 is a good value to use if you want thick cursors.  Odd values are better than even ones, since the extra thickness is then added symmetrically about the true cursor position.

By providing arguments on the command line, you can direct the CURSORS /RBOX computations to be performed once at a single specified position, after which control returns immediately to the command line.

If logging is turned on (see the LOGFILE command for more information), the quantities computed, for the final position of the cursor prior to exiting the command, are written to the output logfile.  If scripting is enabled (again, see LOGFILE), a non-interactive CURSORS command corresponding to the final cursor position is written to the output script file.

The SLAM command arguments are:

$1

The X-coordinate of the center of the box in pixels. The range is from 0 to {framesize-1}; default value is 256.

$2

The Y-coordinate of the center of the box in pixels. The range is from 0 to {framesize-1}; default value is 256.

$3

The width of the box in pixels. The range is from 0 to 128; default value is 32.

$4

The height of the box in pixels. The range is from 0 to 128; default value is 32.

/DELAY=<n>

Specifies a time interval in seconds to wait before erasing the cursor and returning control to the program.  This is for use in scripts, where it is desirable for the cursor to remain on-screen long enough for the user to discern its position.

/NOERASE

Suppresses erasure of the cursor on exit.  Note that the cursors are drawn by "toggling" the sense of the screen pixels;  thus, you can erase a cursor left from a /NOERASE by reissuing the command with the same parameters.  The CLEAR command also provides a way to erase cursors left over from /NOERASE options.

The following output statistics are displayed on-screen in real time, and are also written to the logfile if applicable.

X-Center:

X-center of box in pixels (range from 0 to {framesize-1}), with origin (X=0) being located at lower left of screen.

Y-Center:

Y-center of box in pixels (range from 0 to {framesize-1}), with origin (Y=0) being located at lower left of screen.

Width:

Width of box in pixels.

Height:

Height of box in pixels.

TotalCts:

Sum of counts in rectangular box.

I:

Integrated intensity (minus background).  The background is computed as the average of the points on the perimeter of the box, excluding all points which are more than 3 standard deviations above the mean.

Sigma(I):

Standard deviation of integrated intensity.

I/SigmaI:

Integrated intensity divided by its standard deviation.

Backgnd:

Average of points on perimeter of box, excluding those points which are more than 3 standard deviations above the mean.

XCntroid:

Raw X-coordinate of centroid of intensity.

YCntroid:

Raw Y-coordinate of centroid of intensity.

Maximum:

Maximum pixel intensity in box.

Mean:

Average counts in box.

HKL:

If an orientation matrix is in effect, the HKL indices corresponding to the current intensity centroid are also outputted.

XUnwarped:

If a spatial correction is in use, provides spatially corrected X-coordinate of centroid of intensity, otherwise this value will be identical to the raw coordinate.

YUnwarped:

If a spatial correction is in use, provides spatially corrected raw Y-coordinate of centroid of intensity, otherwise this value will be identical to the raw coordinate.

7.7	Analyze > Graph > File  •  Plot points from ASCII disk file

Menu Command:  Analyze > Graph > File

Accelerator:  Ctrl+G

User Level:  1

SLAM Syntax:  GRAPH /FILE $1 /QUADRANT=<n> /PRECLEAR  /NOCLEAR

This command plots X-Y graphs from disk-resident data. The input data file must be in PLOTSO format (as described in Chapter 14).  Examples of PLOTSO-format files generated by SAXS are ._pj flood-field projection intermediate data files, ._fl flood-field corrections, ._ix spatial correction files, ._if raw-to-corrected spatial maps, and ._it corrected-to-raw spatial maps.

When invoked from the menu, or run from the command line without arguments, Analyze > Graph > File displays a dialog box where you can view/edit the arguments described below.  Pressing ENTER or clicking the OK button starts graphing the specified file. Pressing ESC or the Cancel button returns you to the menu.

See PLOTSO file format, section 13.6 for more details.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Plot Data Filename)     [plotso.dat]

This parameter specifies the ASCII data file to graph. This filename is merged with the current data directory specified in the Project > New/Edit/Copy dialog before the program attempts to access the file.    If you leave this field blank or enter a wildcard filename pattern in the Analyze > Graph > File dialog, the program will display a list of filenames from which you can select the desired data file.

/QUADRANT=<n>	(Quadrant)     [0]

This argument specifies whether you want the graph to appear covering the entire frame display area (enter "0"), or just one of the four quadrants (enter 1 through 4 as appropriate). The default value is 0 (full frame window).  Quadrants are 0 = full window, 1 = lower left, 2 = lower right, 3 = upper left, and 4 = upper right.

/PRECLEAR	(Pre-Clear (Y/N) ?)     [No]

This argument specifies whether or not the screen area (full or quadrant, depending on the value of /QUADRANT above) will be cleared before the plot is drawn.  In menu mode, check this item to clear the memory, or leave it unchecked if you wish to superimpose the graph on the data frame currently displayed in that quadrant.

/NOCLEAR	(No-Clear (Y/N) ?)     [No]

This parameter is specified to suppress clearing any previously displayed graph. It is useful in script mode to add labels to graphs before printing.

7.8	Analyze > Graph > Vector  •  Plot profile along vector in displayed frame

Menu Command:  Analyze > Graph > Vector

Accelerator:  Ctrl+V

User Level:  1

SLAM Syntax:  GRAPH /VECTOR $1 $2 $3 $4 /QUADRANT=<n> /DELAY=<n> /NOERASE

When you wish to plot an arbitrary one-pixel slice through the data use the GRAPH /VECTOR sub-command. This routine is similar to CURSOR /VECTOR in that you use the cursor to identify the beginning and ending points of a rubber-band vector.  When you've specified the path of interest in this manner, GRAPH /VECTOR then plots the intensities of all pixels located along that path as an X-Y graph of intensity (counts) vs. position along the line (in pixels).

When invoked with the VECTOR option from the GRAPH sub-menu or when run from the command line without arguments, GRAPH /VECTOR displays an input panel where you can view/modify the arguments described below.  When in the panel, pressing the ENTER key or left mouse button begins interactive path-of-interest selection with a vector cursor.  The ESC key or right mouse button returns you from the input panel to the GRAPH sub-menu.

When you're selecting a path-of-interest, a rubber-band like vector cursor appears in the detector frame area, and can be moved or re-sized under control of the mouse and/or keyboard arrow keys.  Pressing the ENTER key or left mouse button plots the graph of pixel value vs. distance along the vector, then exits, returning you to the GRAPH sub-menu.  Pressing the ESC key or right mouse button toggles between position-change mode and size-change mode where the vector origin remains anchored while the vector endpoint moves under mouse control.  If you want to exit without computing and drawing the graph, use CTRL-BREAK.

The lineweight of the cursor can be increased from the default thickness of 1 pixel by defining the environment variable SAXI$CURSWEIGHT with an integer value from 2 to 7.  In general, SAXI$CURSWEIGHT=3 is a good value to use if you want thick cursors.  Odd values are better than even ones, since the extra thickness is then added symmetrically about the true cursor position.

By providing arguments on the command line, you can direct the GRAPH /VECTOR computations and graphing to be performed once at a single specified position, after which control returns immediately to the command line.

If logging is turned on (see the LOGFILE command for more information), the quantities computed, for the final position of the cursor prior to exiting the command, are written to the output logfile.  If scripting is enabled (again, see LOGFILE), a non-interactive GRAPH /VECTOR command corresponding to the final cursor position is written to the output script file.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(X-Origin)     [256]

The X-coordinate of the lower left of the box defining the region-of-interest in pixels. The range is from 0 to {framesize-1}; default value is 256.

$2	(Y-Origin)     [256]

The Y-coordinate of the lower left of the box defining the region-of-interest in pixels. The range is from 0 to {framesize-1}; default value is 256.

$3	(X-Length)     [32]

The X-length of the vector pixels. The range is from 0 to {framesize-1}; default value is 32..

$4	(Y-Length)     [0]

The Y-length of the vector in pixels. The range is from 0 to {framesize-1}; default value is 1.

/QUADRANT=<n>	(Quadrant)     [0]

This parameter specifies whether you want the graph to appear covering the entire data frame (enter "0"), or just one of the four quadrants (enter 1 through 4 as appropriate). The default value is 0 (full frame window). Quadrants are 0 = full window, 1 = lower left, 2 = lower right, 3 = upper left, and 4 = upper right.

/DELAY=<n>	()     [0.0]	-- available in command mode only

Specifies a time interval in seconds to wait before erasing the cursor and returning control to the program.  This is for use in scripts, where it is desirable for the cursor to remain on-screen long enough for the user to discern its position.

/NOERASE	()     [No]	-- available in command mode only

Suppresses erasure of the cursor on exit.  Note that the cursors are drawn by "toggling" the sense of the screen pixels;  thus, you can erase a cursor left from a /NOERASE by reissuing the command with the same parameters.  The CLEAR command also provides a way to erase cursors left over from /NOERASE options.

The following output statistics are displayed on-screen in real time, and are also written to the logfile if applicable.

OrigCnts:

Counts of pixel at vector origin.

EndpCnts:

Counts of pixel at vector endpoint.

X-Origin:

X-coordinate of origin in pixels.

Y-Origin:

Y-coordinate of origin in pixels.

X-Endpt:

X-coordinate of endpoint in pixels.

Y-Endpt:

Y-coordinate of endpoint in pixels.

X-Midpt:

X-coordinate of midpoint in pixels.

Y-Midpt:

Y-coordinate of midpoint in pixels.

D-Pixel:

Length of vector in pixels.

D-~Deg:

Length of vector in degrees 2-theta.

D-~Angst:

Length of vector in Angstroms.

Chi:

Angle of the vector in degrees clockwise from -X. This chi convention is the same as that used on a 4-circle diffractometer;  i.e., if the vector origin is at the beam center and the endpoint is on a reflection taken at omega=0, chi is the angle to which you would drive the goniometer to place the reflection in the equatorial plane on the positive 2-theta side.

7.9	Analyze > Graph > Poster  •  Interactively annotate displayed graph or frame

Menu Command:  Analyze > Graph > Poster

Accelerator:  None

User Level:  1

SLAM Syntax:  GRAPH /POSTER

Analyze > Annotate has several subcommands to produce hard-copy plots and pictures suitable for poster presentation and publishing. When you choose this command from the menu, the program displays a right-cascading sub-menu containing these subcommands.  When you invoke GRAPH /POSTER from the command line, no qualifiers are allowed, a sub-menu of dialog buttons will appear and the program will wait until you've made a selection.  GRAPH /POSTER will execute only in interactive mode.

The subcommands are summarized in the following table:

Menu	SLAM	Description

New	/NEW	Start a new list of annotations

Edit	/EDIT	Edit current annotations

Clear	/CLEAR	Clear annotations within rectangular region

Save	/SAVE	Save annotations to PLOTSO file

Text	/TEXT	Position text on screen

Label	/LABEL	Label spots/peaks using d, I, hkl, TH, 2T, etc

Arrow	/DRAW /ARROW	Draws an arrow pointer

Box	/DRAW /BOX	Draws a rectangular box

Circle	/DRAW /CIRCLE	Draws an ellipse

Dot	/DRAW /DOT	Draws a single dot

Line	/DRAW /LINE	Draws a straight line

Style	/DRAW /STYLE	Switches between solid and dashed line styles

Each subcommand is described below.

Menu Command:  Analyze > Annotate > New

SLAM Syntax:  GRAPH /POSTER /NEW

This command clears the annotation list in preparation for starting a new series of annotations.  Subsequent annotation commands are appended to the annotation list, which can then be saved with the Analyze > Annotate > Save subcommand.  A saved annotation list can later be redisplayed with the Analyze > Graph > File command.

Menu Command:  Analyze > Annotate > Edit

SLAM Syntax:  GRAPH /POSTER /EDIT

All poster annotations are stored in a PLOTSO file format. These commands can be edited with a simple screen editor.  After exiting the /EDIT command, the graphics plane is erased and the poster annotations are redrawn.

Note: This will erase all graphs displayed prior to invoking the Analyze > Annotate command.

Menu Command:  Analyze > Annotate > Clear

SLAM Syntax:  GRAPH /POSTER /CLEAR

This command will clear a rectangular region. When selected, a cross hair cursor is visible. Position the crosshairs at a corner of the box to be erased. Anchor the corner by pressing ENTER or the left mouse button. (The cross hairs will disappear and be replaced with a rectangular box with one corner being the anchored point just selected and the other corner at the current cursor position.  Position the second box corner, press ENTER or the left mouse button.  The box is erased, and a crosshair cursor appears for positioning the next box.  Pressing ESC or the right mouse button will return you to the menu.

Menu Command:  Analyze > Annotate > Save

SLAM Syntax:  GRAPH /POSTER /SAVE

This command will save all poster annotations in a PLOTSO file on disk. It can later be loaded with the Analyze > Graph > File command.

Menu Command:  Analyze > Annotate > Text

SLAM Syntax:  GRAPH /POSTER /TEXT

Text can be positioned and sized interactively using GRAPH /POSTER /TEXT. When selected, the user must first enter the text string to be displayed. All trailing spaces are removed from the text string, but leading spaces are retained.  A box cursor will appear reflecting the size of the text string. Position the box cursor, then press ENTER or the left mouse button. The box will disappear, the text will be drawn, and the user will be prompted to enter the next text string to drawn.  Pressing ESC or the right mouse button will return you to the draw menu.  Pressing <F1> or the center mouse button will toggle the size mode.  Moving the cursor left (or right) will increase (or decrease) the size of the text string in the x direction. Up and down cursor movement will change the height of the text.  Press ENTER or the left mouse button to anchor the text size.

Menu Command:  Analyze > Annotate > Label

SLAM Syntax:  GRAPH /POSTER /LABEL

Spots or peaks can be labeled interactively with this command. When selected, a dialog box will appear. Choose what type of data to retrieve (either theta's, 2-theta's, d's, I's, or hkl's); and choose where to retrieve that data from (either the frame, raw trace, or peaks table). And choose what marker character to use to highlight the data. A crosshairs cursor will appear and the selected label will appear within the message window. Pressing ENTER or the left mouse button will draw the marker at the current cursor position and automatically send the user into the /TEXT option to edit, position, and size the label to be drawn (see Analyze > Annotate > Text). Pressing ESC or the right mouse button will return you to the menu without drawing the label.

Menu Command:  Analyze > Annotate > Arrow

SLAM Syntax:  GRAPH /POSTER /DRAW /ARROW

This command will draw an arrow. When selected, a cross hair cursor is visible. Position the crosshairs at the point of the arrow to be drawn, press ENTER or the left mouse button. The crosshairs will disappear and be replaced with an arrow with the point anchored at the selected position and the tail at the current cursor position.  Position the tail of the arrow, press ENTER or the left mouse button.  The arrow is drawn, and a crosshair cursor appears for positioning the next arrow.  Pressing ESC or the right mouse button will return you to the menu.

Menu Command:  Analyze > Annotate > Box

SLAM Syntax:  GRAPH /POSTER /DRAW /BOX

This command will draw a rectangular box. When selected, a crosshair cursor is visible. Position the crosshairs at a corner of the box to be drawn.  Anchor the corner by pressing ENTER or the left mouse button.  The crosshairs will disappear and be replaced with a rectangular box with one corner being the anchored point just selected and the other corner at the current cursor position.  Position the second box corner, press ENTER or the left mouse button.  The box is drawn, and a crosshair cursor appears for positioning the next box.  Pressing ESC or the right mouse button will return you to the menu.

Menu Command:  Analyze > Annotate > Circle

SLAM Syntax:  GRAPH /POSTER /DRAW /CIRCLE

This command will draw an ellipse. When selected, a crosshair cursor is visible. Position the crosshairs at the center of the ellipse and press ENTER or the left mouse button to anchor this spot. The crosshairs will disappear and be replaced with an ellipse drawn with the center anchored and the width and height selected from the cursor.  Move the mouse until the width and height are correct, press ENTER or the left mouse button.  The ellipse is drawn, and a crosshair cursor appears for positioning the ellipse center.  Pressing ESC or the right mouse button will return you to the menu.

Menu Command:  Analyze > Annotate > Dot

SLAM Syntax:  GRAPH /POSTER /DRAW /DOT

This command will draw a single dot. When selected, a crosshair cursor is visible. Position the crosshairs at the position to draw the dot and press ENTER or the left mouse button. A dot is drawn and the crosshairs will remain for positioning the next dot.  Pressing ESC or the right mouse button will return you to the menu.

Menu Command:  Analyze > Annotate > Line

SLAM Syntax:  GRAPH /POSTER /DRAW /LINE

This command will draw a line segment between two points. When selected, a crosshair cursor is visible. Position the crosshairs at the start of the line segment and anchor the line segment by pressing ENTER or the left mouse button. The crosshairs will disappear and be replaced with a line segment between the anchored point and the current cursor position.  Position the line segment end point and press ENTER or the left mouse button.  The line segment is drawn, and a crosshair cursor appears for positioning the next line.  Pressing ESC or the right mouse button will return you to the menu.

Menu Command:  Analyze > Annotate > Style

SLAM Syntax:  GRAPH /POSTER /DRAW /STYLE

This command will toggle between drawing objects with a solid line style to drawing the objects with a dashed line style. The current style is displayed in the DRAW submenu title bar when using the SLAM command line.

7.10	Analyze > Transmission  •  Calculate transmission value for sample.

Menu Command:  Analyze > Transmission

Accelerator:  None

User Level:  1

SLAM Syntax:

TRANSMISSION  $1  $2  $3  $4  /TRANSMISSION=[n]

Four measurements with equal measuring time (typically 30 seconds) are performed and the intensity is integrated over the whole detector.

    Isc = unknown sample (S) togeather with standard sample (C)

    Is  = unknown sample (S) alone

    Ic  = standard sample (C) alone

    Ip  = no sample

The transmission Ts of the sample (S) is given by:

    Ts = ( Isc / Tc - Is ) / ( Ic / Tc - Ip )

    where Tc is the (known) transmission of the standard sample

In most cases it is possible to choose a standard sample (glassy carbon) with a scattering much larger than the unknown sample, the the expression simplifies:

    Ts = Isc / Ic

and only two measurements are necessary.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Standard only)     [frame.std]

Filename of standard only.

$2	(Std + sample)     [frame.smp]

Filename of standard and sample.

$3	(Sample only)     [$null]

Filename of sample only or $null.

$4	(Air only)     [$null]

Filename of air scatter frame or $null.

/TRANSMISSION=<n>	(Transmission)     [1.0]

Enter the transmission of the standard.

7.11	Analyze > Background  •  Perform pixel by pixel background correction.

Menu Command:  Analyze > Background

Accelerator:  None

User Level:  1

SLAM Syntax:

BACKGROUND  $1  $2  $3  /TRANSMISSION=[n]  /K=[n]  $4

For measurements, especially with small scattering signals, it is possible to perform a pixel per pixel background correction in the following way; three measurements are performed successively under the same conditions, namely:

    Ie (during time te) = closed x-ray shutter (electronic background)

    Ip (during time tp) = without sample (pinhole scattering)

    Is (during time ts) = with sample of previously determined transmission Ts

The corrected intensity R is given by

             Is   Ie          Ip   Ie

    R = K [ (-- - --) / Ts - (-- - --) ]

             ts   te          tp   te

    where K = an arbitrary constant (default value 1)

              For K=1, R is given in counts/sec/pixel

              For K=3600, R is given in counts/hour/pixel

The measuring times are taken from the file headers, while the filenames and the sample transmission are entered by the user.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Sample filename)     [frame.smp]

Filename of sample or $frame.

$2	(Air filename)     [farme.air]

Filename of air scatter frame.

$3	(Electronic filename)     [$null]

Filename of electronic background frame or $null.

/TRANSMISSION=<n>	(Transmission)     [1.0]

Transmission of the sample.

/K=<n>	(K constant)     [1]

Enter K, arbitrary constant.

$4	(Output filename)     [$null]

Enter filename for output frame or $null.


8.	Peaks Routines

8.1	Peaks > Mask > Create  •  Create a new active pixel mask for this frame

Menu Command:  Peaks > Mask > Create

Accelerator:  None

User Level:  1

SLAM Syntax:  MASK /CREATE $1 /FILTER /BORDER=<n>

MASK /CREATE is used to create a bitmask for defining active pixels. This bitmask is used in INTEGRATE, SMOOTH, and PER_CRYSTAL commands.

The user should be aware the bitmask or the octagon mask are used exclusively. That is if the bitmask is define, the octagon mask is ignored and visa versa.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Threshold)     [1]

Threshold in counts. All Pixels whose value is below this threshold are flagged as inactive.

/FILTER	(Filter)     [No]

Entering "Y" will filter out isolated inactive pixels and restore them to active status.

/BORDER=<n>	(Border)     [1]

Number of pixels to extend the inactive pixels regions to eliminated partially blocked pixels from the active pixel bitmask.

8.2	Peaks > Mask > Save  •  Save active pixel mask to disk file

Menu Command:  Peaks > Mask > Create

Accelerator:  None

User Level:  1

SLAM Syntax:  MASK /SAVE $1

MASK /SAVE will store the current active bitmask to a disk file.  Active bitmasks must be explicitly saved, because only the filename is stored in the frame header. One may also need to re-save the frame image, if the frame header was modified to include a new bitmask.

The user should be aware the bitmask or the octagon mask is used exclusively. That is if the bitmask is define, the octagon mask is ignored and visa versa.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Bitmask Filename)     [active.msk]

Filename of active pixel bitmask, "$NULL" will cancel.

8.3	Peaks > Mask > Read  •  Read active pixel mask from disk file

Menu Command:  Peaks > Mask > Create

Accelerator:  None

User Level:  1

SLAM Syntax:  MASK /READ $1

MASK /READ will read an active bitmask file from disk and load it as the current bitmask.  The special "$NULL" can be used to define a bitmask with all active pixels.

The user should be aware the bitmask or the octagon mask are used exclusively. That is if the bitmask is define, the octagon mask is ignored and visa versa.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Bitmask Filename)     [active.msk]

Filename of active pixel map, "$NULL" to load an all active bitmask.

8.4	Peaks > Mask > View  •  View active pixel mask on screen

Menu Command:  Peaks > Mask > Create

Accelerator:  None

User Level: 1

SLAM Syntax:  MASK /VIEW $1

MASK /VIEW allows viewing the active pixels mask on top of a frame image.  All inactive pixels are masked out with a dot.  Active pixels are left alone.  The special bitmask "$NULL" can be used to clear the mask image, while "$MASK" refers to the current bitmask.

Note: MASK /VIEW does not change the current active bitmask or octagon mask.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Bitmask Filename)     [$MASK]

Filename of active pixel map, "$NULL" to clear window, "$MASK" to view current active pixel map.

8.5	Peaks > Mask > Octagon  •  Alternate active pixel mask using octagon region

Menu Command:  Peaks > Mask > Create

Accelerator:  None

User Level:  1

SLAM Syntax:  MASK /OCTAGON $1 $2 $3 $4 $5 $6 $7 $8

MASK /OCTAGON defines an octagon shaped mask which excludes pixels located on or outside the octagon from all INTEGRATE, SMOOTH, and PER_CRYSTAL commands. MASK /OCTAGON is frequently used on off-axis frames, where the beam stop does not occlude a portion of the image and on short time duration frames where the counting statistics are inadequate to properly define a bitmask of active pixels.

The user should be aware the bitmask or the octagon mask is used exclusively. That is if the bitmask is define, the octagon mask is ignored and visa versa.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

		512-mode Defaults	1024-mode Defaults
$1	(MIN X)	[0]	[0]
$2	(MIN X+Y)	[60]	[120]
$3	(MIN Y)	[0]	[0]
$4	(MAX X-Y)	[451]	[902]
$5	(MAX X)	[511]	[1023]
$6	(MAX X+Y)	[962]	[1924]
$7	(MAX Y)	[511]	[1023]
$8	(MAX Y-X)	[451]	[902]
Enter requested values in frame pixels.

8.6	Peaks > Integrate > Chi  •  Perform chi integration in conic region -> F(2T)

Menu Command:  Peaks > Integrate > Chi

Accelerator:  None

User Level:  1

SLAM Syntax:  INTEGRATE /CHI $1 $2 $3 $4 /NORMAL=<n> /STEPSIZE=<n>

INTEGRATE /CHI will integrate a region along the chi direction and plot the results as intensity vs. 2-theta.  The resulting trace may be written to a file using INTEGRATE /WRITE command, or inputted into the PEAKS /LOAD command.

The area to integrate is defined by specifying the 2-theta and chi range for the Debye-Scherrer cone. Chi zero is defined at 6 o'clock and goes CCW. Interactively, the user may redefine any of the integration region’s limits by selecting the limit's line number (1 to 4) and then using the cursor keys. The current integration region limits are continuously updated and displayed on the screen.  While interactively modifying an integration limit, the <ESC> key or right button will restore the limit to its original value, while the <ENTER> or left button will accepts the new value for this limit.  It is also feasible to move the entire integration window by pressing the "M" key, using the cursors to position a new center of the integration window, then pressing the <ENTER> key.

Once the integration window is defined, pressing <ENTER> will start the integration calculations and display the message:

Wait=Integrate; ESC,Other buttons=Quit

Normally, one waits for the calculations to finish and to plot the resulting data trace; however, should you wish to abort the procedure, press <ESC>.  If too few data points were calculated, the command will terminate immediately. Otherwise, the message below appears:

Warning - aborted early - Press ENTER to continue, ESC to abort

Pressing <ESC> will terminate the INTEGRATE /CHI command immediately, while <ENTER> will accept the truncated data trace from the partially integrated window (the upper chi limit was lowered) and display the trace.

When executed interactively, the INTEGRATE /WRITE is executed upon successful termination.  For more information, see the description of the INTEGRATE /WRITE sub-command.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(2-Theta Start)     [0.00]

Enter lower 2-theta of conic region in degrees. Valid range is 0 to 179.

$2	(2-Theta End)     [30.00]

Enter upper 2-theta of conic region in degrees. Valid range is 1 to 180.

$3	(Chi Start)     [0.00]

Enter lower chi of conic region in degrees. Valid range is -360 to 180.

$4	(Chi End)     [360.00]

Enter upper chi of conic region in degrees. Valid range is -180 to 360.

/NORMAL=<n>	(Normalize intensity)     [3]

When integrating pixels along a conic line segment, each pixel may be weighted by a normalization factor.  Available normalizations are 0=none (sums all active pixels), 1=average pixel (sum of pixels / number of pixels), 2=arc length (sum of {pixels * arc length} / sum of arc lengths), 3=solid angle (sum of {pixels * solid angle} / sum of solid angle), 4=bin method.

/STEPSIZE=<n>	(Step size)     [0.1]

The angle step width in degrees. The default of 0.1 works well for frames taken at 7 cm. Frames taken at 10 cm may need a smaller stepsize.

8.7	Peaks > Integrate > 2Theta  •  Perform 2theta integration in conic region -> F(chi)

Menu Command:  Peaks > Integrate > 2theta

Accelerator:  None

User Level:  1

SLAM Syntax:  INTEGRATE /2THETA $1 $2 $3 $4 /NORMAL=<n> /STEPSIZE=<n>

INTEGRATE /2THETA will integrate a region along the 2-theta direction and plot the results as intensity vs. chi.  Such chi plots are useful for examining texture effects within the data.  The resulting trace may be written to a file using INTEGRATE /WRITE command, or inputted into the PEAKS /LOAD command.

The area to integrate is defined by specifying the 2-theta and chi range for the Debye-Scherrer cone. Chi zero is defined at 6 o'clock and goes CCW. Interactively, the user may redefine any of the integration region’s limits by selecting the limit's line number (1 to 4) and then using the cursor keys. The current integration region limits are continuously updated and displayed on the screen.  While interactively modifying an integration limit, the <ESC> key or right button will restore the limit to its original value, while the <ENTER> or left button will accepts the new value for this limit.  It is also feasible to move the entire integration window by pressing the "M" key, using the cursors to position a new center of the integration window, then pressing the <ENTER> key.

Once the integration window is defined, pressing <ENTER> will start the integration calculations and display the message:

Wait=Integrate; ESC,Other buttons=Quit

Normally, one waits for the calculations to finish and to plot the resulting data trace; however, should you wish to abort the procedure, press <ESC>.  If too few data points were calculated, the command will terminate immediately. Otherwise, the message below appears:

Warning - aborted early - Press ENTER to continue, ESC to abort

Pressing <ESC> will terminate the INTEGRATE /2THETA command immediately, while <ENTER> will accept the truncated data trace from the partially integrated window (the upper chi limit was lowered) and display the trace.

When executed interactively, the INTEGRATE /WRITE is executed upon successful termination.  For more information, see the description of the INTEGRATE /WRITE sub-command.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(2-Theta Start)     [0.00]

Enter lower 2-theta of conic region in degrees. Valid range is 0 to 179.

$2	(2-Theta End)     [30.00]

Enter upper 2-theta of conic region in degrees. Valid range is 1 to 180.

$3	(Chi Start)     [0.00]

Enter lower chi of conic region in degrees. Valid range is -360 to 180.

$4	(Chi End)     [360.00]

Enter upper chi of conic region in degrees. Valid range is -180 to 360.

/NORMAL=<n>	(Normalize intensity)     [3]

When integrating pixels along a conic line segment, each pixel may be weighted by a normalization factor.  Available normalizations are 0=none (sums all active pixels), 1=average pixel (sum of pixels / number of pixels), 2=arc length (sum of {pixels * arc length} / sum of arc lengths), 3=solid angle (sum of {pixels * solid angle} / sum of solid angle), 4=bin method.

/STEPSIZE=<n>	(Step size)     [0.1]

The angle step width in degrees. The default of 0.1 works well for frames taken at 7 cm. Frames taken at 10 cm may need a smaller stepsize.

8.8	Peaks > Integrate > Area  •  Perform area integration in conic region -> integer

Menu Command:  Peaks > Integrate > Area

Accelerator:  None

User Level:  1

SLAM Syntax:  INTEGRATE /AREA  $1  $2  $3  $4

Integrates total counts inside (and on) a user defined conic region. Does not subtract out background.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(2-Theta Start)     [0.00]

Enter lower 2-theta of conic region in degrees. Valid range is 0 to 179.

$2	(2-Theta End)     [30.00]

Enter upper 2-theta of conic region in degrees. Valid range is 1 to 180.

$3	(Chi Start)     [0.00]

Enter lower chi of conic region in degrees. Valid range is -360 to 180.

$4	(Chi End)     [360.00]

Enter upper chi of conic region in degrees. Valid range is -180 to 360.

8.9	Peaks > Integrate > Pixel  • Perform pixel integration in rectangular region -> F(pixel)

Menu Command:  Peaks > Integrate > Pixel

Accelerator:  None

User Level:  1

SLAM Syntax:  INTEGRATE /PIXEL $1 $2  $3  $4  $5

INTEGRATE /PIXEL will integrate any arbitrary rectangular region linearly along the rectandle height direction and plot the results as intensity vs. pixel.  The resulting trace may be written to a file using INTEGRATE /WRITE command, or inputted into the PEAKS /LOAD command.

The area to integrate is defined by specifying the (X,Y) starting point, length, width, and rotation angle of the rectangular box. Interactively, the user may redefine any of the integration region’s limits by selecting the limit's line number (1 to 5) and then using the cursor keys. The current integration region limits are continuously updated and displayed on the screen.  While interactively modifying an integration limit, the <ESC> key or right button will restore the limit to its original value, while the <ENTER> or left button will accepts the new value for this limit.

Once the integration window is defined, pressing <ENTER> will start the integration calculations and display the message:

Wait=Integrate; ESC,Other buttons=Quit

Normally, one waits for the calculations to finish and to plot the resulting data trace; however, should you wish to abort the procedure, press <ESC>.  If too few data points were calculated, the command will terminate immediately. Otherwise, the message below appears:

Warning - aborted early - Press ENTER to continue, ESC to abort

Pressing <ESC> will terminate the INTEGRATE /PIXEL command immediately, while <ENTER> will accept the truncated data trace from the partially integrated window (the upper pixel limit was lowered) and display the trace.

When executed interactively, the INTEGRATE /WRITE is executed upon successful termination.  For more information, see the description of the INTEGRATE /WRITE sub-command.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(X origin)     [10]

Enter  X pixel for starting point. Valid range is 0 to framesize-1.

$2	(Y origin)     [10]

Enter Y pixel for starting point. Valid range is 0 to framesize-1.

$3	(Length)     [490]

Enter length in pixels of rectangular. Valid range is 2 to framesize.

$4	(Width)     [5]

Enter width in pixels of rectangular region. Valid range is 1 to 256.

$5	(Angle)     [45.0]

Enter rotation angle in degrees of rectangular region. Valid range is -360 to 360.

8.10	Peaks > Integrate > Write  •  Write integration results to disk file

Menu Command:  Peaks > Integrate > Write

Accelerator:  None

User Level:  1

SLAM Syntax:  INTEGRATE /WRITE $1 /FILENAME=<n> /FORMAT=<n> /APPEND

INTEGRATE /WRITE will output the results from either integration to a disk file format which is compatible with conventional powder diffraction data processing software.  Four file formats are supported:

•	PLOTSO is simple ASCII file format which is very portable to any computer platform.

•	OLD_DIFFRAC-AT is the file format used by ancient PC-based software. This file format is binary and is difficult to read on non-PC platforms.

•	DIFFRAC-AT is the file format used by older PC-based software. This file format is binary and is difficult to read on non-PC platforms.

•	DIFFRACplus is the file format used by the Bruker DIFFRACplus software. This file format is binary and is difficult to read on non-INTEL platforms.

INTEGRATE /WRITE is capable of output any one of the supported file formats.  All four file formats are also capable of supporting multiple ranges.  To write the data to a new scan range of an existing file, set the append flag.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Title)     [$TITLE]

Title of plot. In SLAM mode enclose the title in quotes.

/FILENAME=<n>	(File Name)     [file.raw]

Name of the RAW data file to create or append.

/FORMAT=<n>	(Format)     [DIFFRACplus]

Enter file format as either: DIFFRACplus, DIFFRAC-AT, OLD-DIFFRAC-AT, or PLOTSO. DIFFRACplus is the latest file format and thus the preferred option. PLOTSO files have standard ASCII format. Non-Bruker programs should be able to read PLOTSO files (ie. LOTUS 123, & MS EXCEL). File extensions are defaulted to *.RAW for most formats and to *.PLT for PLOTSO format..

/APPEND	(Append as Additional Range)     [Yes]

Enter "Y" to write this new data range as the next range in any existing file. If the file doesn't exists, it will be created with this data as the first and only range.  Enter "N" to delete any existing file(s) and create a new one range raw data file(s).

/SCALE	(Scale Factor)     [1.0]

Enter multiplicative scale factor or 1.0 for none. The entire range of the written raw data file will be multiplied by this scale factor.

8.11	Peaks > Integrate > Clear  •  Clear graph on top of image

Menu Command:  Peaks > Integrate > Clear

Accelerator:  None

User Level:  1

SLAM Syntax:  INTEGRATE /CLEAR

INTEGRATE /CLEAR will remove the results from the previous integration from the screen without erasing the data frame.

Arguments

None. Command executes immediately.

8.12	Peaks > Integrate > Rectangle  •  Perform rectangle integration for detector testing

Menu Command:  Peaks > Integrate > Rectangle

Accelerator:  None

User Level:  1

SLAM Syntax:  INTEGRATE /RECTANGLE  $1  $2  $3  $4  /VERTICAL

Use this command to sum pixel intensities along either the vertical or horizontal directions. Useful for diagnostic purposes mainly.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(X start)     [1]

X pixel of rectangle left side.

$2	(X end)     [510]

X pixel of rectangle right side.

$3	(Y start)     [1]

Y pixel of rectangle bottom side.

$4	(Y end)     [510]

Y pixel of rectangle top side.

/VERTICLE	(Verticle Y.N)     [Yes]

Check to integrate vertical, uncheck to integrate horizontal.

8.13	Peaks > Plots > Plot; Plotting of 1D spectra with selected axes.

Menu Command:	Peaks > Plots > Plot

Accelerator:	None

User Level:	1

SLAM Syntax:	PLOTS /PLOT $1 /RANGE=<N> /QUADRANT=<N> /XSCALE=<N> /YSCALE=<N> /SYMBOL=<n> /ALPHA=<n> /BETA=<n> /GAMMA=<n>

The menu-mode PLOTS /PLOT command is designed to graph scattering vector data. PLOTS uses the scattering vector defined by either:

    k = {4 pi / L} sin TH       where L = wavelength

    q = {4 pi / L} sin TH             pi = 3.141592

    S = {4 pi / L} sin TH             TH = theta, the scattering angle

    s = {2 / L} sin TH

PLOTS /PLOT permits the display of scattering data in numerous x-axis and y-axis scaling combinations.  The X scale may be: k, k^2, k^4, ln k, or k^a, while the Y scale can be: I, ln I, kI, k^2I, k^4I, ln kI, ln k^2I, or k^bI^g.  Any plot may be rescale using new axes scaling or new axes limits.

Rule of Constancy: k^4I vs. k is constant

For the two-phase situation, Porod postulated that (in theory) the tail end of scattering curve should conform to the asymptotic course k^-4 for small pinhole collimated systems. Thus k^4 I(k) should assume a constant value.  Typically, this relationship holds experimentally for granular particules, while platy and rodlike particles exhibit a decrease in the extreme end of the scattering curve.

Law of Guinier: I vs. k is Gaussian and log I vs. k is linear

"The Law of Guinier is obeyed most closely over a large angular range by mono-disperse systems of approximately spherical particles. However, we emphasize that when the logarithmic plot becomes non-linear with increasing angle as a result of departures from spherical shape or monodispersity, the limiting slope as S approaches zero is still related to the mean radius of gyration of the particles by this fundamental law." Alexander

References

Perod, G., Kolloid-Z., 124, 83 (1951)

Alexander, X-Ray Diffraction Methods in Polymer Science

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Input filename)     []

Enter filename for input data (or $data).

/RANGE=<n>	(Input range)     []

Enter range to process.

/QUADRANT=<n>	(Display quadrant)     []

Enter quadrant to plot; 0=full screen; 5,6=half screens.

/XSCALE=<n>	(X scale)     []

Enter X scale: 0=k, 1=k^2, 2=k^4, 3=ln k, 4=k^a.

/YSCALE=<n>	(Y scale)     []

Enter Y scale: 0=I, 1=ln I, 2=kI, 3=k^2I, 4=k^4I, 5=ln kI, 6=ln k^2I, 7=ln k^3I, 8=k^bI^g.

/SYMBOL=<s>	(Symbol k/S/s)     []

Enter 0 for k, 1 for S, 2 for s, or 3 for q definition of scattering vector.

/ALPHA=<n>	(Alpha)     []

Enter alpha constant (only valid if X scale = 4).

/BETA=<n>	(Beta)     []

Enter beta constant (only valid if Y scale = 7).

/GAMMA=<n>	(Gamma)     []

Enter gamma constant (only valid if Y scale = 7).

8.14	Peaks > Plots > Zoom; Select new axes and replot.

Menu Command:	Peaks > Plots > Zoom

Accelerator:	None

User Level:	1

SLAM Syntax:	PLOTS  /ZOOM $1 $2 $3 $4 /RESTORE

PLOTS /ZOOM allows the user to rescaled the currently displayed scattering diagram with new axes.  Both the upper left corner and lower right corner of the graph must be specified either by enterring the new values or by selecting with mouse cursor. Interactively, the user has the option of restoring the graph to full axes by pressing "R".

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Zoom X-min)     []

.

$2	(Zoom X-max)     []

.

$3	(Zoom Y-min)     []

.

$4	(Zoom Y-max)     []

.

/RESTORE	(Restore Y/N)     [No]

If present, overrides $1 to $4 and restores to full original axes.

8.15	Peaks > Plots > Baseline; Baseline removal on displayed trace.

Menu Command:	Peaks > Plots > Baseline

Accelerator:	None

User Level:	1

SLAM Syntax:	PLOTS /BASELINE  $1  $2  /INTENSITY

The BASELINE command automatically selects up to 50 background points using the minimum intensity point within a sliding window, then fits either a piece-wise line segments, cubic spline, or quadratic function to calculate the background curve.  The width of the window is user specified in degrees. Subsequent windows are offset from previous background points to avoid picking background points too close togeather.

The BASELINE command also permits interactive user selection, deletion, or modification of the 50 background points prior to calculating the background function.  Background points are added by positioning the cursor and pressing the left button or enter key. The linear background curve is updated using the added background position. By pressing the "D" key, the nearest background point is deleted and the linear background curve is modified. Cubic splines or quadratic background curves are not automatically displayed, but may be calculated and viewed by pressing the "V" key. Pressing the right button or esc key will finish the BASELINE command; the background curve is calculated and removed.

Upon exiting BASELINE, both the baseline removed curve as well as the background curve will be displayed as an overlay plot. The $DATA array contains the zero background trace, $BACK array contains the background curve, and $RESTORE contains the data plus background trace.

When invoked from the master menu or from the command line without arguments, BASELINE displays an input panel where you can view/edit the following items prior to performing the operation.  If you press the ENTER key or left mouse button when in this input panel, the BASELINE operation begins.  The ESC key or right mouse button returns you from the input panel to the main menu.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Sliding bkg region)     []

Enter two-theta extent for the sliding background region (deg.).

$2	(Background function)     []

Enter 0 for linear, 1 for spline, or 2 for quadratic background function..

/INTENSITY	(Pick intensity?)     []

Check to select both 2T and I from a crosshair cursor, or "N" to select only 2T with a line cursor and use the minimum intensity at that 2T (within +/- one pixel) as background..

8.16	Peaks > Plots > Smooth; Savitzky-Golay smoothing algorithm.

Menu Command:	Peaks > Plots > Smooth

Accelerator:	None

User Level:	1

SLAM Syntax:	PLOTS /SMOOTH  $1

This routine uses the least squares method of Savitzky and Golay (1964) as modified by Steinier, Tremonia, and Deltour (1972) to smooth a set of data collected at equally spaced intervals.

Upon exiting, both the smoothed and unsmoothed data will be displayed as an overlay graph. The smoothed data will be stored in the current working array.

The algorithm replaces each raw data point with a value obtained by fitting a least squares polynomial through that point and an equal number of points on each side of that point.  The total number of points is odd and is calculated from the points in a typical HWHM:

        npts = 2 * HWHM + 1

Reference:

   Savitkzy and Golay, Anal. Chem., vol 36, 8, 1627 (1964)

   Steinier, Tremonia, and Deltour, Anal. Chem. vol 44, 11, 1909 (1972)

When invoked from the master menu or from the command line without arguments, PLOTS /SMOOTH displays an input panel where you can view/edit the following items prior to performing the operation.  If you press the ENTER key or left mouse button when in this input panel, the SMOOTH operation begins.  The ESC key or right mouse button returns you from the input panel to the main menu.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Points)     []

Enter number of points in HWHM of peaks.

8.17	Peaks > Plots > LeastSQ; Linear least-squares to obatin slope and intercept.

Menu Command:	Peaks > Plots > LeastSq

Accelerator:	None

User Level:	1

SLAM Syntax:	PLOTS /LEASTSQ $1 $2

LEASTSQ performs a linear least squares fit of data between a user selected range along the x-axis. That is, scattering data above or below the selected range are ingored in the least squares calculations.

If logging is turned on (see the LOGFILE command for more information), the quantities computed for the linear least squares fit on the requested range of data are written to the output logfile along with their significances and the correlation of fit.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(L.S. X-AXIS MIN)     []

Enter x-minimum for linear least-squares fit.

$2	(L.S. X-AXIS MAX)     []

Enter x-maximum for linear least-squares fit.

8.18	Peaks > Plots > Subtract; Subtract out linear fit.

Menu Command:	Peaks > Plots > Subtract

Accelerator:	None

User Level:	1

SLAM Syntax:	PLOTS /SUBTRACT $1 $2

The results from a PLOTS /LEASTSQ fit may be subtracted out and the resulting data re-displayed using different axes scaling.  SUBTRACT simply removes a linear (on the currently displayed axes scaling) contribution to the scattering data and re-displays using the same axes scaling.  Re-plotting on new axes scaling may be performed using the PLOTS /PLOT command with the input file set as "$data".

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Slope)     []

Enter slope of line to subtract.  Defaults to the results from the last LEASTSQ command.

$2	(Intercept)     []

Enter slope of line to subtract.  Defaults to the results from the last LEASTSQ command..

8.19	Peaks > Plots > Write; Write current data to output file.

Menu Command:	Peaks > Plots > Write

Accelerator:	None

User Level:	1

SLAM Syntax:	PLOTS /WRITE $1 /FILENAME=<N> /FORMAT=<N> /APPEND

PLOTS /WRITE will output the results after baseline, smoothing or subtraction to a file format which is compatible with conventional powder diffraction data processing software.  Four file formats are supported:

    PLOTSO is simple ASCII file format which is very portable to any computer platform.

    OLD_DIFFRAC-AT is the file format used by ancient PC-based software. This file format is binary and is difficult to read on non-PC platforms.

    DIFFRAC-AT is the file format used by older PC-based software. This file format is binary and is difficult to read on non-PC platforms.

    DIFFRACplus is the file format used by the Bruker DIFFRACplus software. This file format is binary and is difficult to read on non-INTEL platforms.

PLOTS /WRITE is capable of output any one of the supported file formats. All four file formats are also capable of supporting multiple ranges.  To write the data to a new scan range of an existing file, set the append flag.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Title)     []

Title of plot. In SLAM mode enclose the title in quotes.

/FILENAME=<s>	(Filename)     []

Name of the RAW data file to create or append.

/FORMAT=<s>	(Format)     []

Enter file format as either: DIFFRACplus, DIFFRAC-AT, OLD-DIFFRAC-AT, or PLOTSO. DIFFRACplus is the latest file format and thus the preferred option. PLOTSO files have standard ASCII format. Non-Bruker programs should be able to read PLOTSO files (ie. LOTUS 123, & MS EXCEL).

/APPEND	(Append as additional range)     []

Enter "Y" to write this new data range as the next range in any existing file. If the file doesn't exists, it will be created with this data as the first and only range.  Enter "N" to delete any existing file(s) and create a new one range raw data file(s).

/SCALE=<n>	(Scale factor)     [1.0]

Enter multiplicative scale factor or 1.0 for none. The entire range of the written raw data file will be multiplied by this scale factor.

8.20	Peaks > Plots > Export; Export current data to ASCII file using current scales.

Menu Command:	Peaks > Plots > Export

Accelerator:	None

User Level:	1

SLAM Syntax:	PLOTS /EXPORT $1

This command will output the current data into an ASCII file containing a few header lines, followed by lines of X,Y pairs. The headers contains:

    Filename

    Date & Time

    X scale vs Y scale

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Filename)     []

Name of the ASCII data file to create.


 9.	Special Routines

9.1	Special > Commandmode  •  Switch between command line and menu mode

Menu Command:  Special > Commandmode

Accelerator:  Ctrl+K

User Level:  1

SLAM Syntax:  MENUMODE

The MENUMODE command requires no arguments. It toggles back and forth between menu mode and command line / command file mode.

When operating the system in menu mode, the software is programmed to automatically prompt you for input of options and arguments via dialog boxes when a menu item is selected. This is particularly useful when first learning the system, or when you do not wish to either memorize the parameters for all commands or continually refer to this manual.  On the other hand, the command mode allows you to execute command scripts, which can be used, for example, to automate repetitive tasks.

Special > Command Line makes both these operating modes available.  To go from menu mode to command line mode, click the Special > Command Line menu item.  To return to menu mode from command line mode, enter the following command at the prompt:

SAXS> MENUMODE

If you start SAXS with the /LOCK qualifier, all commands in the Level menu are disabled (grayed) including Special > Command Line. However, SLAM command scripts can still be executed from the User menu.

For more information on command line and command file (scripts) see the SAXS User’s Manual: Scripts chapter.

Arguments

None. Command executes immediately.

9.2	Special > System  •  Suspend program and invoke the Command Prompt processor

Menu Command:  Special > System

Accelerator:  None

User Level:  1

SLAM Syntax:  SYSTEM  $1

Use the SYSTEM command to spawn either a single command or a session. Spawning a single command permits the execution of external programs, such as a temperature controller software, without leaving the SAXS environment. If the spawn command is non-interactive, it may even be used within a script file.

Spawning a session allows the execution of one or numerous programs in the native operating system command interpreter (e.g., CMD.EXE) by temporarily returning you to that environment. The SAXS software is kept resident in the operating system, and when you are finished with the system level program(s) you can quickly return to the configuration existing when you selected SYSTEM without having to save or reload the configuration file, display or other parameters.

Under NT, use the syntax “CMD /K <command>” to execute the <command> in a Command Prompt window (DOS emulator), “CMD” or “CMD /K” to execute a session, or “<program>” to execute a specific program. (To return to SAXS type "exit" at the prompt.) SAXS will confirm your request with the message:

Suspend SAXS while spawning another task?

Continue and SAXS closes the logfile and autoscript file, then minimizes the SAXS window while the spawn tasks runs. When the spawned task finishes and exits, the SAXS window is restored, and the logfile and autoscript file(s) are restored/reactivated.

Arguments

Each argument is listed below by its SLAM command line name, followed by its dialog box prompt in parentheses:

$1	(Command)     []

“<program>” to spawn a single program, “CMD /K <command>” to spawn a single command (for example dir), or "CMD /K:" to spawn a command prompt session.

9.3	Special > Spawn PROFILEplus  •  Spawn PROFILEplus (or TOPAS P) with current spectra

Menu Command:  Special > Spawn PROFILEplus

Accelerator:  None

User Level:  1

SLAM Syntax:  SPAWN

Use this command to spawn (start as separate task) the profile fitting package with the current integrated spectra. Either TOPAS P or PROFILEplus can be spawned. By default the program is found in either:

•	SAXS$SYSTEM: directory.

•	PROF$SYSTEM: directory.

•	<Drive>\TopasP directory.

•	<Drive>\Profile directory.

•	<Drive>\DiffPlus directory.

So if the program cannot file the executable, define the environment variable PROF$SYSTEM: to point to the directory specification.

Arguments

None. Command executes immediately.

9.4	Special > Redraw  •  Re-draw current screen, e.g., if corrupted by window manager

Menu Command:  Special > Redraw

Accelerator:  None

User Level:  1

SLAM Syntax:  REDRAW

Use this command to force SAXS to redraw the screen. Useful whenever the screen becomes corrupted. Only the current frame image, display header, and goniometer status windows are redrawn when you choose this command. Any information displayed in the previous quadrants and the statistics window are lost, as is any overlay graphics.

Arguments

None. Command executes immediately.

9.5	Special > Level 1,    Special > Level 2,    &    Special > Level 3  •  Switch to simple, advanced, or administrator menu interface

Menu Command:  Special > Level 1, Level 2, or Level 3

Accelerator:  None

User Level:  1

SLAM Syntax:  LEVEL1     LEVEL2     LEVEL3

SAXS's menu bar can be switched between an abbreviated form (which contains only those commands needed for routine diffraction problems) and those needed for expert diffractionists. Additionally, the detector administrator account will see a third level for the full set of commands needed for calibration and management of the system in addition to data collection.  The abbreviated form is the "Special > Level 1" menu bar, the full form is the "Special > Level 2" menu bar, and the administration form is the “Special > Level3” menu bar.  You can use these commands to switch between the two (or three) menu bars.  You can also use the startup qualifiers /LEVEL2, /LEVEL3, and /LOCK to start SAXS at a specific user level, and/or disable the Level menu commands, locking SAXS at the startup user level. See Startup Qualifiers, section 1.3 for more information.

Arguments

None. Command executes immediately.


10.	User Task Routines

10.1	User > *  •  Execute User task

Menu Command:  User > * (user defined)

Accelerator:  Ctrl+F1 through Ctrl+F12

User Level:  1

SLAM Syntax:  None

Up to twelve user-defined commands, called User Tasks, may be added to the User menu on the menu bar by modifying SAXS$SYSDATA:usertask.ini.  When SAXS is started, it reads this file to modify the menu bar to add all the defined user tasks. When a user task is selected, SAXS reads this file again to retrieve the parameter prompts, parameter help line, and the script filename. The script associated with the selected task is then executed.  Up to 10 parameters may be added to any user task, and they are treated as replaceable parameters within the script file. If no parameters are associated with the user task, then the task begins executing immediately.

Instructions on modifying usertask.ini file are found in the header of that file.  The following example (corresponding to one section of the SAXS$SYSDATA:usertask.ini file) defines user task number 12 to execute the SLAM command script d:\frames\scripts\process.slm:

[12]

menu="My Collect"

help="My favorite data collection process"

slam="D:\frames\scripts\process"

prompt="Filename","Enter filename specification"

prompt="Title","Enter title string"


11.	Help Routines

11.1	Help > Software reference  •  Display Software Reference on-line documentation

Menu Command:  Help > Software Reference

Accelerator:  None

User Level:  Ctrl+H

SLAM Syntax:  HELP /REFERENCE     or     HELP

Spawns or displays the SAXS Software Reference Manual. This is either a PDF document, a windows help file, or ASCII *._TP files located in the SAXS$SYSTEM: directory. The Acrobat reader must be installed to display PDF files.

Arguments

None. Command executes immediately.

11.2	Help > User’s guide  •  Display User’s Manual on-line documentation

Menu Command:  Help > User’s Guide

Accelerator:  None

User Level:  Ctrl+M

SLAM Syntax:  HELP /USERGUIDE

Spawns or displays the SAXS User’s Manual. This is either a PDF document, a windows help file, or ASCII *._TP files located in the SAXS$SYSTEM: directory. The Acrobat reader must be installed to display PDF files.

Arguments

None. Command executes immediately.

11.3	Help > About  •  Display program, trademark, copyright, and license information

Menu Command:  Help > About

Accelerator:  None

User Level:  1

SLAM Syntax:  ABOUT

Displays the program’s version number, copyright notice, trademarks, license information, and developer names.

For information about the goniometer, see Edit > Configure > ShowModel, section 4.5.

Arguments

None. Command executes immediately.

.


12.	SLAM Routines

Most SLAM commands have been discussed in earlier chapters with headings corresponding to the menu bar (where menu commands equivalent to the SLAM commands can be found). Some SLAM commands are unique to command mode and are fully discussed in this chapter. All SLAM commands are listed in Appendix A for reference.

12.1	Echo

Menu Command:  None

Accelerator:  None

User Level:  Command

SLAM Syntax:  ECHO /OUT=<s> /APPEND /WAIT=<n> $1 $2 $3 .... $8 $9 $0

ECHO is available only on the SLAM command line (that is, at the SAXS> prompt) and is used for writing command scripts.  For example, it can be used to write a specific set of PLOTSO directives into a file for subsequent screen display with the GRAPH /FILE command, all from within the SLAM command script.

Each argument is listed below by its command line name.

$1, $2 ... $9, $0

Enter the text strings to be written to the output file.  If your text contains slashes or more than ten separate blank-delimited words, enclose the text in double quotes.

/OUT=<s>

Enter the name of the output file to receive the text.

/APPEND

If this qualifier is given, the text gets appended to the output file if the file already exists, otherwise a new output file is created to receive the text.  If this qualifier is omitted, the output file is overwritten if it already exists.

/WAIT=<n>

Enter a value to represent the number of seconds to wait after text is displayed.  The script will continue after this number of seconds or when you press a key, whichever occurs first.  The valid value range is -1 to 1.0x1010 seconds. A value of -1 will wait indefinitely until you press a key.

Example:

The following commands direct SAXS to display double-height text in its image area, then to wait for 16 seconds (or a keyboard key) before continuing:

echo /out=wrtext.tmp "!@!C1,2"

echo /app /out=wrtext.tmp  "!@!A .1 .75" "In this example, we determine"

echo /app /out=wrtext.tmp  "!@!A .1 .70" "the structure of a small compound,"

echo /app /out=wrtext.tmp  "!@!A .1 .65" "the YLID (C[11] H[10] N[2] S)."

graph /file /quad=0 wrtext.tmp

wait 16.

12.2	Menumode

Menu Command:  None

Accelerator:  None

User Level:  Command

SLAM Syntax:  MENUMODE

MENUMODE is available in command line mode at the SAXS> prompt. Use this command to exit command mode and to return to menu mode. MENUMODE takes no arguments.

12.3	Quit

Menu Command:  App menu Close, Close box

Accelerator:  Alt+F4 (NT only)

User Level:  Command, All

SLAM Syntax:  QUIT

QUIT is available in command line mode at the SAXS> prompt, or from the application menu or close box on the title bar.  Whereas File > Exit SAXS updates the configuration file before returning to the operating system, QUIT does not save the configuration, but instead throws away any changes you've made since starting the program.  QUIT takes no arguments.

12.4	Ratemeter

Menu Command:  None

Accelerator:  None

User Level:  Command

SLAM Syntax:  RATEMETER /RESET=<n> /SHUTTER

The ratemeter option of Collect > Goniometer > Manual command is available in command mode. See Collect > Goniometer > Manual, section 5.11 for more details.

Each argument is listed below by its command line name.

/RESET=<n>

Enter the.

/SHUTTER

Enter the.

12.5	Video/Live

Menu Command:  None

Accelerator:  None

User Level:  Command

SLAM Syntax:  VIDEO /LIVE

Use this command to place the VIDEO program into “live” video mode. This command executes immediately without any arguments.

12.6	Video/Freeze

Menu Command:  None

Accelerator:  None

User Level:  Command

SLAM Syntax:  VIDEO /FREEZE

Use this command to place the VIDEO program into “frozen” video mode. This command executes immediately without any arguments.

12.7	Wait

Menu Command:  None

Accelerator:  None

User Level:  Command

SLAM Syntax:  WAIT $1

WAIT is available only in command line mode, at the SAXS> prompt.  WAIT suspends execution of the program for a specified time.  If you press ENTER or the left mouse button during the wait period, the program aborts the wait and proceeds.  This command is useful in scripts, where you want to display a frame or text and have it remain visible for some minimum length of time. The valid value range is -1 to 1.0x1010 seconds. WAIT will wait indefinitely if you specify a time value of -1.  Syntax is:

WAIT $1

where $1 is the wait time in seconds, as a real number.

12.8	! (comment)

Menu Command:  none

Accelerator:  none

User Level:  Command

SLAM Syntax:  ! (any text string)

Use the ! command to add comment lines within a script file. Simply place the “!” character at the start of any line and follow it with your comment statement.

! myscript.slm: created 26Mar98 by KLS

! - - - - - - - - - - - - - - - - - - - - - - - - - - - -
!
! Load first frame in series

DISPLAY...

12.9	@ (execute script file)

Menu Command:  none, but see UserTasks

Accelerator:  none

User Level:  Command

SLAM Syntax:  @filename p1 p2 p3 p4 p5 p6 p7 p8 p9 p0

Use the @ command to execute commands from a script file while in SAXS's command line mode. You must specify the name of the script file immediately after the @ symbol. By convention, SLAM script files have the extension .slm, and a .slm extension is assumed if none is given in the @ command. Follow the filename with the optional replaceable parameters. Replaceable parameters are space deliminated. Any replaceable parameter with embedded spaces must be enclosed within double quotes.

A script file is simply an ASCII file containing a list of SLAM commands in which each line is an individual SLAM command that is executed in sequential order. It is very powerful, and provides a convenient means for automating the more mundane sequence of commands from within the SAXS environment. For more information on script files (creating, editing, nesting, replaceable parameters, and running scripts), see the SAXS User’s Manual, Scripts chapter.

When the script is invoked, each of the lines executes in sequence as if it had been typed at the command line using the parameters and arguments included within the script. That is, SAXS simply starts at the beginning of the script file and proceeds one line at a time until it reaches the end, at which point it stops.

To interrupt a script while in use, press CTRL+BREAK. This will stop the script execution and exit from the script, returning the user to the program's command line prompt. (To return to menus, enter menu mode.)

Several example scripts are provided in your system.  The scripts are stored in the SAXS$TEST: directory and are used as part of the demo loop.  To execute this demo on the frame buffer, enter:

SAXS>  @SAXS$TEST:saxs


13.	Utility Programs

13.1	FrmFix (FRaMe header FIX-up utility)

The program FRMFIX is designed to correct all known problems with Bruker frame file headers. Specifically it can:

•	convert frames taken by MICRODIF for DOS to version 8 frame headers. These frames can then be read under GADDS for NT (but not under MICRODIF for DOS).

•	correct frames taken by GADDS for NT version 3.300 to 3.302. Under these "beta" NT release, the "AXES2:" and "ENDING2:" lines were incorrectly located at records 076 & 077 and the "FILENAM:" record contained garbage.

•	correct frames taken with improper fixed angle settings.

•	correct frames with negative scan time bug. These frames were taken for over 12 hours and overnight under programs for DOS.

•	correct frames with 360 degree scan width bug. These frames were taken in "STEP" mode under GADDS for DOS or GADDS for NT prior to v3.310.

•	correct CCD frames taken on large CCD with SMART v4.040 (requires the switch /BIGCCD).

•	correct frames with the first LINEAR frame header parameter having a value that is below 1.0. This is incorrectly stored as the reciprocal of the true value. So far, this problem has only been seen on 2K CCD systems when using 512 frame size but, theoretically, could occur on any area detector system.

•	correct CCD frames for bad OCTMASK frame header parameters (frame taken by SMART, to be used by GADDS).

The command frmfix runs the program. When you run frmfix, it starts an interactive dialog. Default values are displayed in square brackets after the prompt.  Pressing the ENTER key is the same as entering this default.

FRAME FILENAME ?

Enter the name of the input Bruker format frame.  You must give the full pathname.  FRMFIX does not merge filenames with the current frame directory. However, FRMFIX does translate logical names under NT or UNIX, and wildcard characters (that is, "*", "?") are allowed.

AXIS NUMBER TO RESET ?

Enter 0=none, 1=2T, 2=Om, 3=Ph, 4=Ch, 5=X, 6=Y, 7=Z.

This feature is particularly useful for manually adjustable chi stages, where a scan series was collected while the program contained the wrong fixed chi setting.

VALUE TO SET AXIS ?

Enter new value for scan axis entered above.

As the program executes, Frmfix will display messages stating what was fixed or the message:

Frame.000: Frame header is OK; no fix-up was required.

Alternately all input may be given on the command line. Brackets “[ ]” signify optional parameters and are not typed. <n> signifies that a number is required.

FRMFIX filename [/AXIS=<n> /VALUE=<n>] [/BIGCCD]

/BIGCCD

Updates frame header of CCD frames collected under SMART v4.040 to specify large CCD detector instead of small CCD.

13.2	Frm2Frm (FRaMe to FRaMe file format conversion utility)

Frm2Frm is useful to import of export frame data files to other programs.

Frm2Frm converts to and/or from:

•	Bruker frame format (ASCII header, BINARY counts, ASCII overflow table).

•	TIFF (CHESS format) (BINARY header, BINARY counts).

It can also convert to (but cannot read these file formats):

•	Bruker ASCII frame format (ASCII header, ASCII counts).

•	Small Bruker frame format (half-size, that is, 1K -> 512).

•	JPEG (courtesy of Larry Finger).

And finally, it can also convert from (but cannot write these file formats):

•	APS frame format (ASCII header, BINARY counts)

•	TIFF (MMX/MarCCD frame format) (BINARY header, BINARY counts).

FRM2FRM only requires the names of certain files as user input. The user has the option of entering all filenames on the command line or leaving the command line blank and having the program prompt the user for all filenames. Wildcards are permitted in filename inputs.

Syntax for command line (console version only):

FRM2FRM [/B] [/Z] [/#] [/FORMAT:#] filename[.tif] [/OUT:filename[.out]]

filename.ext1

Required. The name of the frame image file. The input file format is automatically determined.

filename.ext2

Optional. Defaults to "<filename>.out".

#

Optional. Defaults to Bruker. Possible values are:

1 = Bruker frame file

2 = small Bruker frame file (half-size, that is 1K -> 512)

3 = Bruker ASCII file

4 = TIFF file

5 = JPEG (curtesty of Larry Finger)

6 = imageNCIF (n.y.i.)

[/B]

Batch mode: suppresses final "Hit <Return> to continue" message.

 [/Z]

Allow frame dimensions in multiples of 512, instead of 512*2n (512, 1024, 2048, 4096). (SAINT currently does NOT support these odd frame dimensions of 1536, 3072, and 6144).

 [/#]

Force output frame file to be 1, 2 or 4 bytes per pixel. (file is saved without an overflow table).

Note: Brackets "[ ]" are not type. They are used to bracket optional or defaulted values.

Note: All command line switches may be abbreviated and the separator character may be ":", "=", or "-" (that is, "/F:1", "/F=1", and "/FORMAT-1" are equivalent).

Note: The command line arguments may be in any order.

Current limitations (ignored fields in file header of various frame formats):

•	Bruker: Defaults to version 8 frame headers with 4096-byte overflow.

•	Bruker ASCII: Cannot read this format, only writes this format.

•	TIFF: Reading TIFF files has many limitations:

-	TIFF must be a single, full-size, monochrome, & uncompressed image.

-	File headers are defaulted to best guess values.

-	CHESS: private tags are not translated. Numerous frame header items are defaulted to best guesses.

-	MMX/MarCCD: handles only omega or phi scan series.

•	Assume angles are already in Bruker conventions, except for chi (CHImar + 90.0 = CHIbruker). This works for frame series collected at 2t=0, Om=0, phi, Ch=0, which convert to 0, 0, phi, 90 in Bruker angle conventions.

•	Frame number and Number of frames in series are not converted.

•	CCD temp is not converted.

•	Detector roll, pitch and yaw are not converted.

•	NEXP & CCDparms are not converted.

•	imageNCIF: (n.y.i.)

•	APS: Read only; FRM2FRM cannot write this frame file format.

-	Angles in frame header are not converted to Bruker conventions.

Note: For compatibility with software requiring 512-byte overflow table, use the environment variable: "SET SAXI$512MAXOVF=1".

13.3	Plotso

PLOTSO is a separate program for displaying X-Y graphs of data stored in simple ASCII text files.  PLOTSO can be started by entering the name of the ASCII file to be plotted on the DOS command line as in the following example:

PLOTSO SAXI$TEST:PLOTSO.DAT

If the filename is not given, PLOTSO will prompt for it.  You can print the plot to any supported printer (that is, HP-compatible printer) by pressing CTRL+P after the graph has been drawn.  A PRINT SCREEN panel appears with default settings for both the printer device and printer type. The default print filename is SAXI$PRINTER.  You can either define this name as a logical name or environment variable, or input a different filename on the panel;  use PRN to write directly to a printer on the PC, or SYS$PRINT to write directly to the VAX print queue.  The default printer type is PCL4 (HP LaserJet or compatible printer).  PLOTSO can also create TIFF files, which can be imported into word processors.  TIFF files produced on the PC will include the PLOTSO window border and title, while on other computer platforms only the plot is sent to the TIFF file.

PLOTSO data files are simple ASCII text files which contain X,Y pairs in (FORTRAN-compatible) free format, one pair per line.  This results in a simple X-Y plot with automatic scaling of the axes to accommodate the data. The data file may optionally contain directives, which are lines starting with the special 3-character sequence (!@!) that allow you greater control over the appearance of the plot and also allow multiple plots to be defined in the same file.  The directive prefix !@! must begin in the first column of a line, one directive per line.  A line with the character "!" in the first column is taken as a comment and skipped, unless it starts with the directive prefix.  Most of the directives need to be followed by a few parameters, again in free format.  Some of the directives require you to specify X,Y fractional coordinates.  The convention for these coordinates is that (X,Y) = (0.0, 0.0) corresponds to the lower left of the graph viewport and (X,Y) = (1.0, 1.0) corresponds to the upper right.  When you use a directive, the directive remains in effect for all remaining lines in the file, unless superseded by another occurrence of the directive.  The directives are:

!@!A

Writes a text string at specified X,Y fractional coordinates.  Requires the fractional X, fractional Y, and text string as parameters.  Example:  “!@!A 0.5,0.5 Your line of text here”

!@!C

Specifies X,Y character size for subsequent annotation text.  Requires the X character size and Y character size as parameters.  Each size is specified as an integer from 1 to 4.  Example:  “!@!C 1,2” (By default, text is written in size 1,1.)

!@!G

Normally the plot is drawn with a dashed grid highlighting certain tic marks.  This directive lets you specify whether or not the grid is to be drawn.  Examples are: “!@!G1”  (to enable drawing of the grid) or “!@!G0”  (to disable drawing of the grid).

!@!L

Sets plot axis limits, overriding the auto-scaling normally performed. Requires four parameters, Xmin, Ymin, Xmax, Ymax corresponding to the lower X, lower Y, upper X, and upper Y axis limits, respectively.  If both the lower and upper limit for an axis are specified as zero, autoscaling is restored for that axis.  The default limits are 0,0,0,0, meaning that auto-scaling is performed on each axis.  When an axis is auto-scaled, a "nice" interval for tic marks is determined.  This interval is always 1, 2 or 5 times some power of 10.  Limits are then chosen which are integer multiples of this interval and which contain the range of values input for the axis being auto-scaled.  An example of this directive is:  “!@!L0,0,100,0”  (This example specifies that the X-axis will range from 0 to 100, and the Y will be auto-scaled based on the range of the input Y-values.)

!@!M

Specifies the character to be used as a Marker.  The Marker Character is plotted at each subsequent X,Y point.  The marker character must immediately follow the directive (that is, it must be the fifth character on the line). Examples are:   “!@!M+” (to plot a + at each input X,Y position) or “!@!M “ (to disable plotting of a character at each X,Y position).

!@!N

Specifies that subsequent X,Y points should be drawn as a new plot, rather than added to the existing set of axes.  This directive requires no  parameters.  If you use this directive, you'll want to make sure to specify separate “!@!V” viewport directives for each plot, so they don't overlap within the graphing window.

!@!P

Specifies that the X,Y points encountered so far are to be drawn and that subsequent points will be drawn as a separate curve.  If you're drawing multiple plots, issue a “!@!P” after the X,Y pairs of the first plot to draw it, followed by a “!@!N” to begin the second.  If you're drawing multiple curves in the same plot, issue “!@!P” after the X,Y pairs in each curve.

!@!S

Specifies a line style for a connecting line to be drawn between X,Y pairs.  Supply one of the characters 0,N,S or D as a parameter.  Line styles are: “!@!S0” or “!@!SN” (for no connecting line, for example, for scatter plots), “!@!SS”  (for a solid connecting line), and “!@!SD” (for a dotted connecting line).

!@!V

Specifies the viewport to be used for the subsequent plot, in fractional coordinates representing the fraction of the entire area available for graphs. Requires the four parameters Xmin, Ymin, Xmax, and Ymax, which represent the lower X, lower Y, upper X, and upper Y viewport limits, respectively. By default, these limits are 0,0,1,1, meaning that the viewport occupies the entire graphing area.  For example, if you wanted to confine the graph to the left half of the available area, you could issue the directive: “!@!V0,0,.5,1”.

!@!X

This directive specifies the X-axis label.  Follow the directive with the text to be drawn along the X axis.  By default, the text is "X-AXIS". For example, if you're plotting a function vs. time, you might issue the directive  “!@!XTime (seconds)”.

!@!Y

This directive specifies the Y-axis label.  Follow the directive with the text to be drawn along the Y axis.  By default, the text is "Y-AXIS".  For example, if you're plotting pixel values as a function of position, you might issue the directive “!@!YPixel Value”.  Normally, Y-axis text is written vertically (but not rotated, since some graphic environments, most notably X-Windows, don't support rotated text);  however, if the text contains hyphens or parentheses, it writes the text horizontally.  In this latter case, you need to keep the axis label very short.

!@!DB

Draws a rectangular box at specified X,Y,W,H fractional coordinates.  Requires the fractional X, fractional Y, fractional W, and fractional H as parameters. Example:  “!@!DB 0.5,0.5,0.1,0.1”

!@!DD

Draws a dot at specified X,Y fractional coordinates.  Requires the fractional X and fractional Y as parameters.  Example:  “!@!DD 0.5,0.5”

!@!DE

Draws an ellipse at specified X,Y,W,H fractional coordinates.  Requires the fractional X, fractional Y, fractional W, and fractional H as parameters. Example:  “!@!DE 0.5,0.5,0.1,0.1”

!@!DL

Draws a line segment between specified X1,Y1,X2,Y2 fractional coordinates. Requires the fractional X1, fractional Y1, fractional X2, and fractional Y2 as parameters. Example: “!@!DL 0.5,0.5,0.1,0.1”

!@!E

Erases a rectangular box at specified X,Y,W,H fractional coordinates.  Requires the fractional X, fractional Y, fractional W, and fractional H as parameters. Example:  “!@!E 0.5,0.5,0.1,0.1”

See SAXI$TEST:PLOTSO.DAT for an example of a PLOTSO data file.

The syntax for starting PLOTSO by:

•	NT is:  PLOTSO /X=<n> /Y=<n> /W=<n> /H=<n> DATA_FILE

•	IRIX is:  PLOTSO  -X=<n> -Y=<n> -W=<n> -H=<n> DATA_FILE

When you start PLOTSO you can also specify the qualifiers /W=<n> and /H=<n> on the command line, where <n> represents a numeric value.  The value given for /W is the desired window width in pixels and the one for /H is the desired window height (if you want the full screen but are not sure of the number of screen pixels, use /W=9999 /H=9999. Under NT or IRIX you can also specify the X and Y pixel numbers desired for the upper left corner of the graphics window with /X=<n> and /Y=<n>. If the /W and /H are not given, they default to 704 and 600 respectively (providing a screen dump which reasonably covers the full page width of both the LaserJet (at 100 dpi) and the PaintJet (at 90 dpi).  The window width affects the print screen option. The program requests a dot-per-inch resolution from the printer that is equal to or higher than the screen width in pixels divided by 7.75 inches. The following screen widths fill the printed page reasonably well:

/W=704 (default)	LaserJet @ 100 dpi, PaintJet @  90 dpi

/W=520	LaserJet @  75 dpi, PaintJet @  90 dpi

/W=1024	LaserJet @ 150 dpi, PaintJet @ 180 dpi

Note: The smaller widths result in faster screen dumps, especially when the printer is on a serial port.

13.4	Prbatch  •  Profile fitting in batch mode utility

Used internally by SAXS to perform profile fitting on raw spectra. For more information, see PROFILEplus manual.

13.5	PVWave  •  Precision Visual’s Wave procedures

Bruker provides procedures for importing and exporting data in Bruker file formats from within Precision Visual's Wave software (version 3.0).

Directory: C:\SAXI\PVWAVE

SAXII_READ_FRAME.PRO	PV-wave procedure to read a Bruker frame file.

SAXII_READ_PLOTSO.PRO	PV-wave procedure to read a Bruker PlotSO file.

SAXII_SAVE_FRAME.PRO	PV-wave procedure to save a Bruker frame file.

SAXII_SAVE_PLOTSO.PRO	PV-wave procedure to save a Bruker PlotSO file.

SAXII_READ_FRAME

PV-Wave procedure to read a Bruker area detector frame. Header is type to screen and the image is displayed, and the color table is stretch to fit. This version handles 8-, 16-, or 32-bit frames WITHOUT an overflow table.

PV-Wave's image color table works only on byte images. Values above 256 are clipped upon being displayed. Thus, the user may wish to use the HIST_EQUAL function to rescale 16- or 31-bit frames into byte images:

image = hist_equal (image)

tv, image

Usage:

.run saxii_read_frame

saxii_read_frame, image [, filename, header]

where:	image (dimension (512,512)) returns the byte/word/dword image data

   	filename  Frame data filename. If missing the procedure will ask for it.

   	header (dimension (*,80)) returns the header information

SAXII_READ_PLOTSO

PV-wave procedure to read a Bruker PLOTSO file.

Usage:

.run saxii_read_plotso

saxii_read_plotso, xarray, yarray [, filename]

where:	xarray (dimension (500,10)) returns the 2theta values of up to ten ranges.

   	yarray (dimension (500,10)) returns the intensity counts of up to ten ranges.

   	filename  PLOTSO filename. If missing the procedure will ask for it.

SAXII_SAVE_FRAME

PV-Wave function to save a Bruker area detector frame. Header is modified from the original frame header. This version handles 8-, 16-, or 32-bit frames WITHOUT an overflow table.

Usage:

.run saxii_save_frame

saxii_save_frame, image [, filename, header]

where:	image (dimension (512,512)) byte/word/dword image data

   	filename  Frame data filename. If missing the procedure will ask for it.

   	header (dimension (*,80)) header information

SAXII_SAVE_PLOTSO

PV-wave procedure to save an array as a Bruker PLOTSO file.

Usage:

.run saxii_save_plotso

saxii_save_plotso, xarray, yarray [, filename]

where:	xarray (dimension (500,10)) 2theta values of up to ten ranges.

   	yarray (dimension (500,10)) intensity counts of up to ten ranges.

   	filename  PLOTSO filename. If missing the procedure will ask for it.

13.6	Raw2Raw  •  RAW to RAW file format conversion utility

Use RAW2RAW to export or import RAW spectra in various data file formats.

Converts to and/or from:

•	DIFFRAC-PLUS raw or sim file format.

•	DIFFRAC-AT V2 (aka V3) raw or sim file format.

•	DIFFRAC-AT V1 raw or sim file format.

•	PLOTSO file format (ASCII).

Can also convert to (but cannot read these file formats):

•	DBW & DBWS file formats (ASCII).

•	GSAS file format (ASCII).

•	UXD file format (ASCII).

Can also convert from (but cannot write these file formats):

•	DIFFRAC-5000 V2 (VAX/VMS)

•	DIFFRAC-5000 V1 (VAX/VMS)

•	NACS (VAX/VMS)

•	NACS (PDP-11/TSX|RT-11)

•	DIFFRAC-11 (PDP-11/RSX)

•	DIFFRAC-5 (PDP-11/RSX)

RAW2RAW only requires the names of certain files as user input. The user has the option of entering ALL filenames on the command line, or to leave the command line blank and have the program prompt the user for all filenames. Wildcards are permitted in filename inputs.

Syntax for command line:

RAW2RAW [/B] [/FORMAT:#] filename[.raw] [/OUT:filename[.out]]

Additional switches for UXD output: [/C] [/I:#] [/N] [/Sc] [/W:#] [/2]

[/B]

Batch mode: suppresses final "Hit <Return> to continue" message.

filename[.raw]

Required. The name of the RAW data file containing ranges. The input file format is automatically determined.

filename[.out]

Optional. Defaults to "<filename>.out".

#

Optional. Defaults to DIFFRAC-PLUS. Possible values are:

1 = DIFFRAC-AT V1

2 = DIFFRAC-AT V2/V3

3 = DIFFRAC-PLUS

4 = PLOTSO

5 = DBW

6 = DBWS

7 = GSAS

8 = UDX

[/C]

CPS mode: Outputs data points in CPS, default is intensity.

[/I:#]

Item number: Outputs data points

[/N]

Noheader mode: Suppress output of header information.

[/Sc]

Separator: ,=comma, ;=semi-colon, s=space, t=tab, n=none.

[/W:#]

Width: Width of each item in characters for default separator.

[/2]

2theta mode: Include 2T angle on each line of data points.

Note: "[]" are not typed. They are used to bracket optional or defaulted values.

Note: All command line switches may be abbreviated and the separator character may be ":", "=", or "-". ie. "/F:1", "/F=1", "/FORMAT-1" are equivalent.

Note: the command line arguments may be in any order.

Current limitations (ignored fields in file formats):

•	RAW PLUS: supplemental range header records (osc, psd, com).

•	RAW PLUS: reading RAW1.00 measuring electronics may be incorrect.

•	RAW V2: diffractometer configuration word.

•	RAW V2: oscillating drive, amplitude, speed.

•	RAW V2: supplemental range header record for comment (4).

•	DIFFRAC-5000 V2:

-	scintillation detector parameters,

-	conversions of slit settings (mm. to deg.),

-	temperature parameters,

-	other angle settings (chi, phi, x, y).

•	DIFFRAC-5000 V1: many fields are not converted.

•	NACS VMS: temperature hold time.

•	NACS TSX/RT-11: not yet implemented!.

•	DIFFRAC-11:variable slit settings, fixed theta angle/delay time.

•	DIFFRAC-5: totally untested!

•	UXD: Only minimal information is in header

13.7	SAXAD.SYS  •  Bruker HISTAR NT Driver

SAXAD.SYS is the NT Driver to support and access the Bruker’s Area Detector Fast Interface card. For normal configurations, the SETUP program will properly install and configure this driver.

SAXAD driver will allocate 4.25 Mbytes of NON-PAGED memory. This will greatly affect performance on low memory NT systems. I recommend a system with at least 20 Mbytes of memory. Increase virtual memory to at least 35 Mbytes; the WNT default of 21 Mbytes is insufficient. For users who do not collect large frames, set MaxFrameSize = 512 in the registry as this will free 3 Mbytes of unused non-paged memory.

During data collection and flood fields, the SAXAD driver executes at the level "LOW_REALTIME_PRIORITY". Only when the driver checks for an event and no event is in the queue, does the driver permit any time allocation to other processes.

For real-time display during data collection or flood field, the NT system must be equipped with a super fast video card such as a PCI local video card. An ISA bus video card will be excruciatingly slow.

Possible error messages during loading of driver:

"Not enough memory was available to allocate internal storage needed..."

•	STATUS_INSUFFICIENT_RESOURCES, if out of system memory. Reboot might work, else add memory. Or set MaxFrameSize = 512.

"The hardware locations for saxad0 could not be translated to something..."

•	STATUS_NONE_MAPPED, if NT cannot map port. Hopefully this error never occurs.

"The hardware addresses for saxad0 are already in use by another device"

•	STATUS_DEVICE_CONFIGURATION_ERROR if IO port is already in use.                                       Change IO port address on FAD interface card and in registry.

"Unable to detect Bruker's FAD interface board"

•	STATUS_NO_SUCH_DEVICE if Bruker FAD interface fails to respond. Possibly bad board or jumper settings. Or PDC was off when computer was booted.

"Unable to create the symbolic link for saxad0"

•	STATUS_NO_SYMBOLICLINK_CREATED    NT cannot create a link to driver. Hopefully this error never occurs.

"Unable to create the device map entry for saxad0"

•	STATUS_NO_DEVICEMAP_CREATED   Driver could not update registry. Hopefully this error never occurs.

Possible error messages during execution of driver:

"Application program passed a buffer too small to device saxad0"

•	STATUS_BUFFER_TOO_SMALL           Bug in SAXS.EXE - report it!

"Application program passed an invalid parameter to device saxad0"

•	STATUS_INVALID_PARAMETER          Bug in SAXS.EXE - report it!

Registry Keys (Optional):

DebugLevel:	[0]	Determines which additional debug messages are sent to the Event Log. Range is 0 to 5.

0. Normal warning and error messages only.

1. Above plus driver load and unload messages.

2. Above plus device I/O messages.

3. Above plus data collection messages.

4. Above plus dispatch control messages.

5. Above plus data collection polling messages. (May overflow queue).

PortIOAddress:	[340 hex]	Port IO Address of SAXAD Interface Card.

MaxFrameSize:	[1024]	Valid values are 512 or 1024.

Orientation:	[0] 	Defines the mounting orientation of the HISTAR detector.

1.	+x, +y,	The default.

1.	+x, -y,	Useless.

1.	-x, +y,	Useless.

1.	-x,-y,	Rotated 180 CW

1.	+y, +x,	Useless.

1.	+y, -x,	Rotated 270 CW.

1.	-y, +x,	Rotated 90 CW

1.	-y, -x.,	Useless.

13.8	SaxHelp  •  Bruker help topic display utility

Note: This program is now obsolete. Bruker now supplies help files in either Windows help file format or Acrobat PDF file format.

SaxHelp is used to display the Bruker help topic files: *._tp.


Appendix A.	Area Detector Frame Format

The Bruker format addresses issues of data portability, speed of image I/O and display, and storage of all the data acquisition conditions required to reduce the data. Header and overflow information are stored in portable ASCII, rather than binary. Critical data, such as setting angles, can thus be stored portably as formatted floating-point values. The pixel values themselves are binary, but they are assured to start on a 512-byte boundary for quick, easy access (using Byte IO routines), and they are stored as a byte stream without delimiters of any kind.  This format is completely transportable between all computers and networks, including PCs, NT workstations, and SGI systems. The only coding difference on these systems is that big-endian systems such as SGI must byte-swap the pixel values in the (relatively rare) case where it encounters a 16-bit frame.

Up to 32 bits/pixel are supported, although frames are stored where possible as 8 or 16 bits per pixel with an overflow table like that on earlier systems (but this overflow table is ASCII, as described below). BYTE ORDER OF PIXEL VALUES IN FRAMES WHICH ARE STORED IN THIS FORMAT ON DISK, TAPE, ETC. IS ALWAYS "LITTLE-ENDIAN" (LSB first, even though the header contains a flag indicating the pixel byte ordering).  Bruker does not support big-endian frames that otherwise look like this format.  The 16-bit format is fully implemented. If more than 4096 overflows occur on attempted compression to 8 bits, the frame buffer will compress to 16 bits with an overflow table (the SAXS HI-STAR and SMART CCD frame buffers accumulate 32 bits/pixel internally).

At the top level, a frame in Bruker format can be represented as:

Header

Image data

Overflow table

Trailer 1

.

.

.

Trailer N

Header

The header is 1) typable ASCII and 2) an even multiple of the 512-byte disk block size. Each entry in the header is an 80-byte unterminated ASCII line. Thus, the header size is always a multiple of 5 disk blocks to hold an integral number of lines. The first eight characters of each item contain the item name, with the remaining 72 characters for ASCII data. Thus, the organization of the header can be represented as:

HEADER

Item_name1 (8 char): Item_Data1 (72 chars)

Item_name2 (8 char): Item_Data2 (72 chars)

.

.

.

Item_nameN (8 char): Item_DataN (72 chars)

This organization has several advantages. First, fast random access can be performed on the header to pull out or rewrite an individual entry. During random access, the item names provide a method for checking for corruption of the header block.

Second, frames are actually TYPEable on both PCs and workstations if the screen wraps at 80 columns. The padding to a multiple of 5 disk blocks contains ASCII dot characters. The last characters of the padding are a CTRL+Z and a CTRL+D. This convention provides a "warning indicator" on a workstation during which a CTRL+S or CTRL+C can be issued, before the binary pixel values start to appear. On a PC, an MS-DOS TYPE command stops when it hits the CTRL+Z.   Presence of the item names makes the output easily interpretable.

Third, the format is highly portable, because different byte and word ordering conventions don't enter into the interpretation of ASCII data. Items currently contained in the header are listed below in positional order. The format is expandable. New information to be added to the header will always be added at the end. A version number is present at the start of the header so programs can deal with new header information.

The header items are:

Mnemonic	Offset	Version	Type	Description
FORMAT :	0	1	Int	Frame format. Always “86” for Bruker-format frames.
VERSION:	1	1	Int	Header version #, such as 1, 2, 3, 4, 5, 7, or 8.
HDRBLKS:	2	1	Int	Header size in 512-byte blocks, such as 10 or 15.
TYPE   :	3	1	C	String indicating king of data in the frame. Valid primary types are: DEFAULT Add frame Rotation frame SCAN FRAME UNWARPED UNWARPED LINEAR FIDUCIAL PLATE BACKGROUND <A> & <B> COMBINATION POLE FIGURE, [POLAR | STEREO | WULFF] Sometimes the primary type is appended with CALIBRATED FIBER LPA MULT_FF PLATE SMOOTHED Pole figure type may be appended with: INTERPOLATED INVERTED NORMED ROTATED SCHEME SYMMETRIZED TILTED
SITE   :	4	1	C	Site name, from Edit > Configure > User settings
MODEL  :	5	1	C	Diffractometer model, from SAXI$ADMODEL
USER   :	6	1	C	Username, from Edit > Configure > User settings
SAMPLE :	7	1	C	Sample ID, from Project > New/Edit
SETNAME:	8	1	C	Basic data set name
RUN    :	9	1	Int	Run number within the data set
SAMPNUM:	10	1	Int	Specimen number within the data set
TITLE  :	11-18	1	C	User comments (8 lines)
NCOUNTS:	19	1,9	Int	Total frame counts (followed by reference counts in Ver 9).  9: Adds direct-beam monitor counts to NCOUNTS line
NOVERFL:	20	1	Int	Number of overflows
MINIMUM:	21	1	Int	Minimum counts in a pixel
MAXIMUM:	22	1	Int	Maximum counts in a pixel
NONTIME:	23	1	Int	Number of on-time events
NLATE  :	24	1	Int	Number of late events.
FILENAM:	25	1	C	(Original) frame filename
CREATED:	26	1	C	Date and time of creation
CUMULAT:	27	1	R	Accumulated exposure time in seconds
ELAPSDR:	28	1	R	Requested time for last exposure in seconds
ELAPSDA:	29	1	R	Actual time for last exposure in seconds
OSCILLA:	30	1	Int	Nonzero if acquired by oscillation
NSTEPS :	31	1	Int	# steps or oscillations in this frame
RANGE  :	32	1	R	Scan range in decimal degrees (unsigned)
START  :	33	1	R	Starting scan angle value, decimal degrees
INCREME:	34	1	R	Scan angle increment between frames (signed)
NUMBER :	35	1	Int	Sequence number of this frame in series (@0)
NFRAMES:	36	1	Int	Total number of frames in the series
ANGLES :	37	1	4R	Diffractometer angles( 2T, OM, PH, CH)
NOVER64:	38	1	Int	Number of pixels > 64K
NPIXELB:	39	1	Int	Number of bytes/pixel, such as 1, 2, or 4.
NROWS  :	40	1	Int	Number of rasters in frame, such as 512, 1024, or 2048.
NCOLS  :	41	1	Int	Number of pixels/raster, such as 512, 1024, or 2048
WORDORD:	42	1	Int	Order of bytes in word (0=LSB first)
LONGORD:	43	1	Int	Order of words in a longword (0=LSW first)
TARGET :	44	1	C	X-ray target material: Cu, Mo, Ag, Fe, Cr, Co, or other.
SOURCEK:	45	1	R	X-ray source kV
SOURCEM:	46	1	R	X-ray source milliamps
FILTER :	47	1	C	Filter/monochromator setting: Such as: Parallel, graphite Ni Filter C Filter Zr Filter Cross coupled Goebel Mirrors
CELL   :	48-49	1	6R	Unit cell A,B,C,ALPHA,BETA,GAMMA
MATRIX :	50-51	1	9R	Orientation matrix (P3 conventions)
LOWTEMP:	52	1,8,9	1: Int 8: Int,3R 9: 2Int	Low temp flag. Note: Version 8 and 9 headers diverge.  8: Add sub-mnemonic TEMP: Adds set point, ramp rate,  hold time 9: Adds experimental temperature in hundredths C and CCD sensor temperature in hundredths C
ZOOM   :	53	1	3R	Zoom: Xc, Yc, Mag
CENTER :	54	1	2R	X, Y of direct beam at 2-theta = 0
DISTANC:	55	1	R	Sample-detector distance, cm
TRAILER:	56	1	Int	Byte pointer to trailer info
COMPRES:	57	1	C	Compression scheme ID, if any. Such as: NONE
LINEAR :	58	1	C	Linear scale, offset for pixel values, typically 1.0, 0.0.
PHD    :	59	1	2R	Discriminator: Pulse height settings
PREAMP :	60	1	R	Preamp gain setting
CORRECT:	61	1	C	Flood field correction filename
WARPFIL:	62	1	C	Brass plate correction filename
WAVELEN:	63	1	3R	Wavelengths (average, a1, a2)
MAXXY  :	64	2	2R	X,Y pixel # of maximum counts
AXIS   :	65	3	Int	Scan axis (1-4 for 2-theta, omega, phi, chi)
ENDING :	66	3	4R	Actual goniometer angles at end of frame
DETPAR :	67-68	4	6R	Detector position corrections (dX,dY,dDist,Pitch,Roll,Yaw)
LUT    :	69	4	C	Recommended display lookup table
DISPLIM:	70	4	2R	Recommended display limits
PROGRAM:	71	4	C	Name and version of program writing frame, such as: SAXS for WNT  V4.0.07
ROTATE :	72	5	Int	Nonzero if acquired by rotation of phi during scan
BITMASK:	73	5	C	File name of active pixel mask associated with this frame or $NULL
OCTMASK:	74-75	5	8Int	Octagon mask parameters to use if BITMASK=$null
ESDCELL:	76-77	7	6R	Unit cell parameter standard deviations
DETTYPE:	78	7 8	C 2Int	Detector type (0=multiwire, 1=CCD) MULTIWIRE (default) CCD-PXL (small CCD) CCD-PXL-2K (Large CCD) CCD-PXL-ARR (Mosaic) CCD-PXL-L6000 CCD-PXL-KAF1500 UNKNOWN (imported) OTHER (imported) 4.0.04: Added sub-mnemonics PIXPERCM: and CMTOGRID: which are needed for UNKNOWN or OTHER types.
NEXP   :	79	7,9,10	Int	Number of exposures:  1=single, 2=correlated sum (followed by fixed bias ADU in Vers 9). 9: Adds per-exposure bias level in ADU to NEXP line 10: Adds baseline offset (normally 32),  Adds Orientation (value of SAXI$INVERTCCD),  Adds Overscan flag (1 if overscan used)
CCDPARM:	80	7	5R	CCD parameters: readnoise, e/ADU, e/photon, bias, full scale
CHEM   :	81	7	C	Chemical formula in CIFTAB string, such as “?”
MORPH  :	82	7	C	Crystal morphology in CIFTAB string, such as “?”
CCOLOR :	83	7	C	Crystal color in CIFTAB string, such as “?”
CSIZE  :	84	7	C	Crystal dimensions (3 ea) in CIFTAB string, such as “?”
DNSMET :	85	7	C	Density measurement method in CIFTAB string, such as “?”
DARK   :	86	7	C	Name of dark current correction
AUTORNG:	87	7	5R	Auto-ranging: gain, high-speed time, scale, offset, full scale
ZEROADJ:	88	7	4R	Goniometer zero corrections (refined in least squares)
XTRANS :	89	7	3R	Crystal XYZ translations (refined in least squares)
HKL&XY :	90	8	5R	HKL and pixel XY for reciprocal space scan
AXES2  :	91	8	4R	Diffractometer setting linear axes (4 ea). (X, Y, Z, Aux)
ENDING2:	92	8	4R	Actual goniometer linear axes @ end of frame. (X, Y, Z, Aux)
	93
	94
	95
Note: Items in version 6 headers are obsolete (MICRODIF). Use FRMFIX to convert these frame headers to version 8.

Note: Version 5 & 8 items are mainly for GADDS

Note: Version 7 & 9 items are mainly for SMART

Note: Version 9 & 10 items do not add additional lines to the header, but instead appends additional values to a previously existing line.

Image Data

The image data is a simple byte stream (no record delimiters) with one, two, or four bytes per pixel, as defined in the header. If the data are two bytes per pixel, the least-significant byte is first.

The order of the pixels in the file corresponds to the display of pixels on a screen, like the raster-scan order of a CRT display. The first pixel in the file corresponds to the upper-left corner of the display, the 512th to the upper right, and the last pixel to the lower right.  This data ordering convention is the one used by most display devices and by the X-Windows library. Frames display as if viewed from the source toward the detector.

Overflow Table

The overflow table is stored as ASCII values. Each overflow entry is 16 characters, comprising a 9-character intensity and a 7-character pixel # offset. The table is padded to a multiple of 512 bytes.  In an 8-bit frame, any pixel with a value of 255 in the image needs to be looked up in the overflow table to determine its true value (even if the true value is 255, to allow overflow table validity checks, which could not otherwise be made).  In a similar manner, any pixel in a 16-bit frame with a value of 65535 must be looked up in the overflow table to determine its true value.  To look up a pixel value, compute its pixel displacement (for example, in a 512x512 frame, 512*j + k, where j is the zero-based row number and k is the zero-based column number), and compare the displacement with that of each overflow table entry until a match is found.  While the overflow table is normally sorted on displacement, it is not guaranteed to be sorted, so we recommend that you search the whole table until you find a match.

Trailers

The header contains a byte pointer (item name "TRAILER", set to zero if none) to the location in the file of any "trailer" data that has been tacked onto the image. This provision won't be used immediately, but provides later expansion capability.  For example, if a frame is derived from processing some other (parent) frame, the header of the parent could be tacked onto the processed frame as a trailer to provide processing history. The format of a trailer is:

TRAILER

Trailer size in 512-byte blocks (1 byte)

3-byte pad

Trailer data


Appendix B.	DIFFRACplus Raw Data File Format

The general format of a RAW file is a general file header of 712-bytes, followed by a variable length range header, which in turn is followed by the range's data records. Range header and data records are repeated for all defined ranges.

RAW_HEADER: 712-bytes of information that starts every RAW file. This is identical to DIF_HEADER structure, except for the initial ID code.

Offset	Code	Description
0	C8	ASCIIZ: "RAW1.01" for the 2. release [@2]
		"RAW1.00" for the 1. release
		Note: "RAW2" & "RAW " are DIFFRAC-AT
8	I4	current file status:
		0  = unmeasured
		1  = measured
		2  = active
		3  = aborted
		4  = interrupted
		10 = simulated data [@2]
12	I4	total number of measured ranges
16	C10	ASCIIZ [@2], in mm/dd/yy format, e.g. "12/31/95"
26	C10	ASCIIZ [@2], in 24 hours format, e.g. "18:34:04"
36	C72	ASCIIZ [@2], username ( operator ) or "Unknown" or "\0"
108	C218	ASCIIZ [@2], company name, etc. or "Unknown" or "\0"
326	C60	ASCIIZ [@2], sample identification
386	C160	ASCIIZ [@2], comment
546	C2	2-bytes of padding for alignment
548	I4	goniometer model:
		0  = Theta/2-Theta D5000
		1  = Theta/Theta D5000
		2  = D5000-matic
		3  = AL/Theta-D5000
		4  = GADDS/FRAMBO [@2]
		5  = SAXS [@2]
		6  = SMART [@2]
		7,8,9 = reserved
		10 = Theta/2-Theta D5005
		11 = Theta/Theta D5005
		12 = reserved
		13 = AL/Theta D5005
		20 = Theta/2-Theta other
		21 = Theta/Theta other
		22 = Matic other
		23 = AL/Theta other
		9999 = unknown
552	I4	goniometer stage:
		0  = Standard
		1  = Synchron. rotation
		2  = Rotation reflection
		3  = Rotation transmission
		4  = Open cradle
		5  = Closed cradle
		6  = Phi
		7  = Chi
		8  = XYZ
		9  = Low temp.
		10 = High temp.
		11 = External temp.
		12 = Other
		16 = Phi stage at fixed chi [@2]
		17 = 4-circle [@2]
		18 = Small XYZ stage [@2]
		19 = Large XYZ stage [@2]
		20 = 1/4-circle [@2]
		9999 = unknown
556	I4	sample changer:
		0  = None
		1  = 40-position
		2  = Y-matic
		3  = X/Y-matic
		9999 = unknown
560	I4	goniometer controller
		0  = STD only
		1  = STD+TC
		2  = STD+FDC
		3  = STD+FDC+TC
		16 = GGCS [@2]
		9999 = unknown
564	R4	goniometer radius in mm.
		9999.0 = unknown, 0.0 = unknown [@2]
568	R4	diverg.slit fix incidence in deg., 9999.0 = unknown
572	R4	sample slit fix incidence in deg., 9999.0 = unknown
576	I4	primary soller slit:
		0 = not present
		1 = present
		1 = 2 deg (@2.1)
		2 = 4 deg (@2.1)
		3 = other (@2.1)
		9999 = unknown
580	I4	primary monochromator:
		0  = None
		1  = Transmission
		2  = Reflection
		3  = Ge220 2-bounce
		4  = Ge220 4-bounce
		5  = Ge440 4-bounce
		6  = Flat graphite (@2.1)
		7  = Single Goebel mirror (@2.1)
		8  = Crossed Goebel mirror (@2.1)
		9  = Flat Germanium 111 (@2.1)
		10 = Flat Silicon 111 (@2.1)
		9999 = unknown
584	R4	anti slit diffracted side in deg., 9999.0 = unknown
588	R4	detector slit diffr. side in deg., 9999.0 = unknown
592	I4	secondary soller slit:
		0  = not present
		1  = present
		1  = 2 deg (@2.1)
		2  = 4 deg (@2.1)
		3  = other (@2.1)
		9999 = unknown
596	I4	thin film:
		0  = not present
		1  = present
		1  = 0.4 deg (@2.1)
		2  = 0.15 deg (@2.1)
		3  = 0.08 deg (@2.1)
		9999 = unknown
600	I4	beta filter ( Yes=1, No=0 ), 9999 = unknown
604	I4	secondary monochromator:
		0  = None
		1  = graphite
		2  = LiF
		3  = Ge220 channel cut
		4  = Goebel mirror
		9999 = unknown
608	C4	ASCIIZ [@2], Anode material e.g. "Cu"
612	C4	4-bytes of padding for alignment
616	R8	average wavelength in A (Obs. or nm) (ie (Ka1+Ka2+R21)/(1+R21))
624	R8	primary wavelength in A (Obs. or nm) (ie Ka1)
632	R8	secondary wavelength in A (Obs. or nm) (ie Ka2)
640	R8	tertiary wavelength in A (Obs. or nm) (ie KB)
648	R8	intensity ratio of secondary to primary wavelength
656	C4	wavelength unit name: [@2] now always "A" ,
		(obs) in "RAW1.00" files both "A" or "nm" were used.
660	R4	intensity ratio of tertiary to primary wavelength
664	R4	total sample run time:
		9999.0 = unknown (obs.),
		-1.0 = unknown [@2]
668	C44	reserved for expansion
RAW_RANGE_HEADER: 304-bytes of range header information that precedes every range in a RAW file. Similar to DIF_RANGE_HEADER, but DIFFERENT!

Offset	Code	Description
0	I4	always 304, length of primary range header in bytes
4	I4	number of measured data
8	R8	theta start in deg.
16	R8	two-theta start in deg.
24	R8	chi start in deg., use 9999.0 if not present or unknown
32	R8	phi start in deg., use 9999.0 if not present or unknown
40	R8	x start in mm., use 9999.0 if not present or unknown
48	R8	y start in mm., use 9999.0 if not present or unknown
56	R8	z start in mm., use 9999.0 if not present or unknown
		Note: may use actual values for fixed axes
64	R8	div.slit start in deg. if divslit_code == "fix"
		(9999.0 if not present)
72	C8	div.slit code ASCIIZ: "V20", "V6", "V4", "V2", "fix"
		"V#" where # = sample illumination in mm
		or "Unkn" for unknown
		or "fix" for fixed
80	R8	anti.slit start in deg. if antislit_code = "fix"
		(9999.0 if not present)
88	C8	anti.slit code ASCIIZ: "V20", "V6", "V4", "V2", "fix"
		"V#" where # = sample illumination in mm
		or "Unkn" for unknown
		or "fix" for fixed
96	I4	[@2] detector used for this range
		(obs.) detector code for detector #1
		0  = none (now invalid value [@2])
		1  = Scintillation
		2  = Proportional
		3  = Solid State
		4  = Other
		5  = PSD,
		16 = X-1000 [@2]
		17 = Hi-Star [@2]
		18 = CCD [@2]
		19 = Large CCD [@2]
		20 = Mosaic CCD [@2]
		9999 = unknown
100	R4	[@2] highvoltage used in V, 9999.0 for unknown
		(obs) highvoltage in V of detector #1, 9999.0 for unknown
104	R4	[@2] amplifier gain used in ??, 9999.0 for unknown
		(obs) amplifier gain in ?? of detector #1, 9999.0 for unknown
108	R4	[@2] lower level used in V, 9999.0 for unknown
		(obs) lower level in V of detector #1, 9999.0 for unknown
112	R4	[@2] upper level used in V, 9999.0 for unknown
		(obs) upper level in V of detector #1, 9999.0 for unknown
116	I4	[@2] measuring channel: 1 or 2
		(obs.) detector code for detector #2
120	R4	[@2] unused field
		(obs.) highvoltage in V of det. #2, 9999.0 for unknown
124	R4	[@2] unused field
		(obs.) amplifier gain in ? of det. #2, 9999.0 for unknown
128	R4	[@2] alternate LLD as fraction of channel full scale
		(obs.) Lower level in V of det. #2, 9999.0 for unknown
132	R4	[@2] alternate ULD as fraction of channel full scale
		(obs.) Upper level in V of det. #2, 9999.0 for unknown
136	C8	ASCIIZ: "IN" or "OUT", ("nc" if not present), "Unkn" for unknown
144	R8	start of aux. axis 1 (up to now 0.0 ) (ie h of hkl scan)
152	R8	start of aux. axis 2 (up to now 0.0 ) (ie k of hkl scan)
160	R8	start of aux. axis 3 (up to now 0.0 ) (ie l of hkl scan)
		(ie psi of psi scans)
168	I4	scan mode: step "SS" = 0 or continuous "SC" = 1
172	C4	4-bytes of padding for alignment
176	R8	step size: increment of 1st scan axis in drive units
184	R8	step size: increment of 2nd scan axis in drive units: 0.0
192	R4	step time in seconds: 1.0 if unknown [@2]
196	I4	scan type
		0  = locked coupled
		1  = unlocked coupled
		2  = 2theta scan | detector scan
		3  = omega scan | rocking curve
		4  = chi scan
		5  = phi scan
		6  = x scan
		7  = y scan
		8  = z scan
		9  = aux1 scan [@2]
		10 = aux2 scan [@2]
		11 = aux3 scan [@2]
		12 = psi scan [@2]
		13 = hkl scan [@2]
		14 = reciprocal space scan [@2.1]
		129 = PSD fixed scan [@2]
		130 = PSD fast scan [@2]
		257 = pixel s can (SAXS v4.X) [@2]
200	R4	delay time before a measurement was started in seconds.
		(obs.) 9999.0 = unknown, [@2] -1.0 = unknown
204	R4	the time the range was started relative to the time when the
		sample was started in sec. (obs.) 9999.0 = unknown
		[@2] -1.0 = unknown
208	R4	rotation speed in rps? ( 0.0 = no rotation )
212	R4	temperature in K (-1.0 for room)
216	R4	heating/cooling rate of the TC in K/s
220	R4	delay in sec. before measurement if TC, -1.0 for unknown [@2]
224	I4	generator voltage kV or 9999=unknown
228	I4	generator current mA or 9999=unknown
232	I4	display plane number, needed for 3D display
236	C4	4-bytes of padding for alignment
240	R8	actually selected wavelength in A
248	I4	currently 0, but reserved for varying multiple scan parameters
		during a single scan in a non-standard fashion:
		two_theta -> bit 0
		theta     -> bit 1
		chi       -> bit 2
		phi       -> bit 3
		x         -> bit 4
		y         -> bit 5
		z         -> bit 6
		aux1      -> bit 7
		aux2      -> bit 8
		aux3      -> bit 9
		time      -> bit 10
		temp      -> bit 11
		e.g. chi & phi = 2**2 + 2**3 = 12
252	I4	length of each data record in bytes: currently 4 ( float );
		but if the varying parameters are not 0, the data record length
		is 4 + 8 * number of bits set in above varying parameter flag
		e.g. chi & phi vary ==> data record length = 8+8+4 = 20
256	I4	total size of all supplementary range header records.
		if there are no extra defined records, this value is 0.
260	R4	[@2] smoothing width in deg. 0.0 = not smoothed
264	I4	[@2] flagword for simulated meas. condition
		bit 0->simulate a different slit option
		bit 1->variable slits are simulated
		Thus the valid settings are:
		00=no data manipulation
		01=converted to fixed slits from var.
		10=no data manipulation
		11=converted to var. slits from fixed
268	C4	[@2] 4-bytes of padding for alignment
272	R4	[@2] step size: increment of 3rd scan axis: 0.0
280	C24	reserved for expansion
RAW SUPPLEMENTARY RANGE HEADERS: Each supplementary range header record is composed of a variable number of bytes. The total number of supplementary range header bytes is store in offset 256 of the range header. A value of 0 indicates that there are no supplementary range headers. The currently defined supplementary range header records are listed below:

Offset	Code	Description for Oscillation record
0	I4	record type: 100 = oscillation parameters
4	I4	record length: 40-bytes
8	I4	oscillation drive:
		0  = tube
		1  = sample
		2  = detector
		3  = chi
		4  = phi
		5  = x
		6  = y
		7  = z
12	C4	4-bytes of padding for alignment
16	R8	oscillation amplitude in deg. Or mm.
24	R4	oscillation speed in deg. Or mm. Per sec.
28	C12	reserved for expansion
Offset	Code	Description for PSD record
0	I4	record type: 110 = PSD parameters
4	I4	record length: 40-bytes
8	R8	actual two theta of goniometer in deg
16	I4	first channel used
20	C20	reserved for expansion
Offset	Code	Description for Optimized Quantitative Measurement record
0	I4	record type: 120 = OQM parameters
4	I4	record length: 72-bytes
??		undefined at this time
Offset	Code	Description for Quantitative Compound Indicator record
0	I4	record type: 130 = QCI parameters (obsolete)
4	I4	record length: variable number of bytes
8	I4	variable type: 0=peak; 1= low background; 2= high background
12	C??	ASCII: compound name
16	C12	reserved for expansion
Offset	Code	Description for Comment record
0	I4	record type: 140 = comment
4	I4	record length: variable number of bytes
8	C??	ASCII: comment, stored without null termination
Offset	Code	Description for Removed Data record
0	I4	record type: 150 = removed data for search
4	I4	record length: 32-bytes
8	R4	excluded 2-theta start in deg.
12	R4	excluded 2-theta end in deg.
16	I4	(obs.) number of points in this part
20	C12	reserved for expansion
Offset	Code	Description for Offset Assigned by EVA record
0	I4	record type: 190 = offset assigned by EVA
4	I4	record length: 32-bytes
8	R4	2-theta offset in deg.
12	R4	intensity offset in % of max
16	C16	reserved for expansion
Offset	Code	Description for Area Detector Parameters record [@2]
0	I4	record type: 200 = area detector parameters
4	I4	record length: 72-bytes
8	C8	reserved
16	R4	integration range: 2T start
20	R4	integration range: 2T end
24	R4	integration range: chi start or chi angle
28	R4	integration range: chi end or height + 1000.0
32	I4	normalization method: 1=avg, 2=arc length, 3=solid angle, 4=bin
36	C20	program name: ie. "SAXS-NT ver 3.301"
56	R4	actual 2theta of goniometer
60	R4	actual omega of goniometer
64	R4	actual phi of goniometer
68	R4	actual chi goniometer
RAW_DATA: The data records immediately follow the range header (and supplementary range headers, if any). The data is stored as counts in R4 format. Should non-standard varying parameters be used, then each data record is comprised of the counts in a R4 field, followed by several R8 fields.

Codes used are:

I2 = 16-bit integer, I4 = 32-bit integer

R4 = 32-bit real, R8 = 64-bit real

Cn = ASCII character string of n bytes, no null character.

Cn = ASCIIZ character string of n bytes, ends in null character.

[@2] = new field or value for "RAW1.01" version files.

(obs) = obsolete field or value for "RAW1.00" version files.


Appendix C.	DIFFRAC-AT Raw Data File Format

Diffrac-AT V1 raw data files are stored in a direct access, binary file without any record deliminators.

Record	Format	Field description
1	A4	"RAW " File identification text
2	I4	Number of steps for this range (1 - 32767)
3	R4	Measurement time per step (.1 - 999.0)
4	R4	Step size for this range in degrees
5	I4	Flag word in DACO-MP format, meaningful bits are:
		1024 = theta fixed
		2048 = continuous scan
		8192 = 2theta fixed (rocking curve)
		16384 = chi range
		16384 + 8192 = phi range
6	I4	Sample number in sample changer, 0=manual insertion
7	R4	Two-theta start in degrees, -1E6=unknown
8	R4	Theta start, -1E6=unknown
9	R4	Chi start, -1E6=unknown
10	R4	Phi start, -1E6=unknown
11-18	8A4	Sample name (32 characters)
19	R4	K alpha 1 wavelength
20	R4	K alpha 2 wavelength, 0.0 if monochromator used
21-38	--	Unused
39	I4	Number of ranges following this range, 0=single range
40-39+x	xR4	Data in raw counts, not counts/second.
 where x = number of steps in range

Additional ranges use this same format and are appended to the end of the first range. Note: early Diffrac-AT raw data files did not repeat the "RAW " on additional ranges.

Profile *.PRO File Format (identical to Diffract-AT V1 with these changes)

Record	Format	Field description
1	A4	"PRO " instead of "RAW "
29	R4	Two-theta of Imax in profile
30	R4	FWHM of profile
31	R4	Offset of peak angle position from the Imax position in profile
Diffrac-AT V2/V3 raw data files are stored in a direct access, binary file without any record deliminators. The structure starts with a 256-byte file header block, followed by a range header and data block, which are repeated for each range in the file.

Offset	Format	Field description
0	A4	"RAW2" File identification text
4	I2	Number of ranges in this file
6	?2	Unused
8	A32	Sample base name
40	A128	Sample extended name /comments
168	A20	Date/time measured: 07-Jun-1995 18:20:00
188	A2	Chemical symbol for tube anode
190	3R4	Lambda1, Lambda2, Intensity ratio
202	I2	Diffractometer code (0=2th/th, -1=th/th)
204	I2	Diffractometer configuration word
206	R4	Lambda 3 or K beta wavelength
210	R4	Total sample run time in seconds
214	R8	Date/time measured in Lotus123 format
222	?34	Unused
Offset	Format	Field description
0	I2	Total number of bytes in range header
2	I2	Step count for this range
4	I2	Stepping drive ID: 1-6 drive 1 to 6;
		8 = PSD fixed position; 9 = PSD fast scan; 10 = drives 1 & 2
6	I2	Step mode:
		bit 0 = step scan mode 1:continuous;
		bit 1 = calibration indicator
8	R4	Step time: time per step (in seconds)
12	R4	Step size for range
16	6R4	Starting axes position for range
40	I2	Slit I position: 32767=FA1, 32766=FA2
42	I2	Slit II position: 32767=FA1, 32766=FA2
44	I2	Detector slit: 0=fine, 1=coarse
46	I2	Temperature in Kelvin: -1=room
48	I2	Oscillating drive: 0 = none, 1-6 = drives 1 to 6, 7 = spinner
		10,11 = 1 & 2 coupled +,-
50	R4	Oscillation amplitude: 999=mechanically fixed
54	R4	Oscillation speed
58	I2	Rotation code: 0 = none, 1-4 = 15-120 rpm, 5 = sync, 6 = SC
60	...	Variable supplementary information records
60+x	nR4	Raw data, counts, 4 bytes per step


Appendix D.	PLOTSO Raw Data File Format

The PLOTSO Raw Data File Format is a subset of the general PLOTSO data file format (see PLOTSO, section 13.6). The general format is an ASCII header, followed by an ASCII table of data. Range and data records are repeated for all defined ranges.

!@!!SAXS PLOTSO FILE: [Chi | R.C. | 2th | Rect | Pixel | ????] integration type

Identified file as PLOTSO RAW file.

!@!!Title: string

Sample title.

!@!!Comment:: string

General comment such as original frame file name.

!@!!Wavelengths: Kavg, Ka1, Ka2, Beta

Wavelengths.

!@!!Integration range: 2Theta: X to X   Gamma: X to X

!@!!Integration range: 2Theta: X to X   Gamma: X   Width: X

Area detector integration region.

!@!!Integration method: pixel summation | average pixel | mornalized by arc length | normalized by solid angle | bin summation | bin normalized | interpolated | unknown

How data was converted from frame to spectra.

!@!N

Specifies that subsequent X,Y points should be drawn as a new plot, rather than added to the existing set of axes.

!@!SS

Specifies a line style for a connecting line to be drawn between X,Y pairs.  Supply one of the characters 0,N,S or D as a parameter.  Line styles are: “!@!S0” or “!@!SN” (for no connecting line, for example, for scatter plots), “!@!SS”  (for a solid connecting line), and “!@!SD” (for a dotted connecting line).

!@!M

Specifies the character to be used as a Marker.  The Marker Character is plotted at each subsequent X,Y point.  The marker character must immediately follow the directive (that is, it must be the fifth character on the line). Examples are:   “!@!M+” (to plot a + at each input X,Y position) or “!@!M “ (to disable plotting of a character at each X,Y position).

!@!L 0.0 0.0 0.0 0.0

Sets plot axis limits, overriding the auto-scaling normally performed. Requires four parameters, Xmin, Ymin, Xmax, Ymax corresponding to the lower X, lower Y, upper X, and upper Y axis limits, respectively.  If both the lower and upper limit for an axis are specified as zero, autoscaling is restored for that axis.  The default limits are 0,0,0,0, meaning that auto-scaling is performed on each axis.  When an axis is auto-scaled, a "nice" interval for tic marks is determined.  This interval is always 1, 2 or 5 times some power of 10.  Limits are then chosen which are integer multiples of this interval and which contain the range of values input for the axis being auto-scaled.  An example of this directive is:  “!@!L0,0,100,0”  (This example specifies that the X-axis will range from 0 to 100, and the Y will be auto-scaled based on the range of the input Y-values.)

!@!XDegrees

This directive specifies the X-axis label.  Follow the directive with the text to be drawn along the X axis.  By default, the text is "X-AXIS". For example, if you're plotting a function vs. time, you might issue the directive  “!@!XTime (seconds)”.

!@!YCounts

This directive specifies the Y-axis label.  Follow the directive with the text to be drawn along the Y axis.  By default, the text is "Y-AXIS".  For example, if you're plotting pixel values as a function of position, you might issue the directive “!@!YPixel Value”.  Normally, Y-axis text is written vertically (but not rotated, since some graphic environments, most notably X-Windows, don't support rotated text);  however, if the text contains hyphens or parentheses, it writes the text horizontally.  In this latter case, you need to keep the axis label very short.

2theta, Intensity data pairs or 2theta, Intensity, Q, stderr table.

The actual data spectra.


Appendix E.	RAD Data File Format

Radiography data files are stored in ASCII format.

Line	Description
1	"SAXS Radiography Pattern & Selection File  Version: 1.0  © Bruker AXS, Inc." This line is used to identify the file format..
2	"FILE: filename" Original filename.
3	"GMT: created: # # modified: # #" File time is always stored in GMT time. Date is in YYYY-MM-DD format. Time is in HH:MM:SS format.. Created is original time when image was collected. Modified is time when selections where made.
4	"MEASURE: time: #  kv: #  ma: #" Time is in seconds. Time spent collecting each point of image.
5	"DET: dist: #  x: #  y: #  size: # "  Detector parameters. Dist is in cm. Beam center (X, Y) and Size are in pixels where origin is lower left.
6	(optional) "BCKGRD: file: filename" Name of frame containing background frame.
7	(optional) "BCKGRD: x: #  y: #  kv: #  ma: #  time: #" Background frame parameters. X, Y are in mm. Time is in seconds.
6 or 8	"X: beg: #  end: #  inc: #" Radiography grid prameters. All units are in mm.
7 or 9	"Y: beg: #  end: #  inc: #" Radiography grid prameters. All units are in mm.
R	"Begin Radiography:" Identifies start of radiography image.
R+1 to R+n	Integer free format with as many points per line as will fit in 80 characters. Separated with spaces. Units are counts.
R+n+1	"End Radiography:" Identifies end of radiography image.
S	"Begin Selection:" Identifies start of selection of points.
S+1 to S+m	"1: x: #  y: #  time: #" Each selection starts a new line. X,Y are in mm. Time is in seconds.
S+m+1	"End Selection:" Identifies end of selection of points.


Appendix F.	SLAM Command Reference

The following are the SAXS SLAM Command syntax for all valid commands. <n> denotes numeric value. <s> denotes string value.

! (any text string)

@filename p1 p2 p3 p4 p5 p6 p7 p8 p9 p0

ADD $1 /CLEAR /PATTERN /COUNTS=<n> /DISPLAY=<n> /REALTIME /RESET=<n> /SHUTTER /SLAM=<s>

CALIBRATE $1 /MININT=<n> /DISTANCE=<n> $2 /ANGLE=<n> $3  /X=<n> /Y=<n> $4 /AUTO /NOERASE /DELAY=<n>

CLEAR  $1 /QUADRANT=<n> /GRAPHICS_SAVE /IMAGE_SAVE

CONFIGURE /EDIT /USER=<s> /SITE=<s> /CALIBDIR=<s> /MINCPS=<n> /TIMEOUT=<n> /NAMECHAR=<n> /RUNCHARS=<n> /RUNBASE=<n> /NUMCHARS=<n> /NUMBASE=<n> /LOWTEMP /TEMP=<n> /XBEAM=<n> /YBEAM=<n> /FRAMESIZE=<n>

CONFIGURE /ADMIN /TARGET=<s> /WAVELENGTH=<n> /ALPHA1=<n> /ALPHA2=<n> /BETA=<n> /UNITS=<s> /KV=<n> /MA=<n> /STANDBYKV=<n> /STANDBYMA=<n> /MONOCHROMATOR=<s> /OFFSET=<n> /2THETA=<n>  /OMEGA=<n>  /PHI=<n>  /CHI=<n>  /DISTANCE=<n>

CONFIGURE /READ $1

CONFIGURE /WRITE $1

CONFIGURE /SHOWMODEL

CONFIGURE /COLORS $1 /WINBG=<n> /WINFG=<n> /CURSOR=<n> /HIGHLIGHT=<n> /BORDER=<n> /GRAPH=<n> /OVERLAY=<n> /MATCH1=<n>

CONTRAST /LO=<n> /HI=<n>

CURSORS /BOX  $1 $2 $3 $4 /DELAY=<n> /NOERASE

CURSORS /CIRCLE $1 $2 $3 /DELAY=<n> /NOERASE

CURSORS /PIXEL $1 $2 /DELAY=<n> /NOERASE /DUMP

CURSORS /VECTOR  $1 $2 $3 $4 /DELAY=<n> /NOERASE

CURSORS /CONIC  $1 $2 /DELAY=<n> /NOERASE

CURSORS /RBOX  $1 $2 $3 $4 /DELAY=<n> /NOERASE

DETECTOR /CU

DETECTOR /FE

DETECTOR /YVSX

DETECTOR /EVSE

DETECTOR /ADD  $1  /CLEAR  /PATTERN  /COUNTS=<n>  /DISPLAY=<n>  /REALTIME  /RESET=<n>  /SHUTTER

DETECTOR /DETRESET

DETECTOR /XEVSX

DETECTOR /YEVSX

DETECTOR /PDCCUSTOM  $1  $2  $3

DISPLAY /NEW $1 /QUADRANT=<n> /LO=<n> /HI=<n> /X=<n> /Y=<n> /MAG=<n> /AUTOINCREMENT /GRAPHICS_SAVE /VIDEO

DISPLAY /NEXT

DISPLAY /PREVIOUS

DISPLAY /MOVIE+

DISPLAY /MOVIE-

ECHO /OUT=<s> /APPEND /WAIT=<n> $1 $2 $3 .... $8 $9 $0

EXIT

FLOOD /NEW  $1  /COUNTS=<n>  /DISPLAY=<n>  /REALTIME  /FILE=<s>  /XMIN=<n>  /YMIN=<n>  /MAG=<n>  /SHUTTER

FLOOD /LOAD  $1

FLOOD /REPROCESS  $1  $2  /XMIN=<n> /YMIN=<n>   /MAG=<n>

FLOOD /LINEAR

FRAME_INFO $1

GONIOMETER /MANUAL  $1

GONIOMETER /UPDATE  $1  $2

GONIOMETER /LIMITS $1 $2  $3  $4

GONIOMETER /SPEEDS  $1  $2

GONIOMETER /ATTENUATOR

GONIOMETER /SHUTTER

GONIOMETER /GENERATOR  $1  $2  /WAIT

GONIOMETER /HOME  $1  $2

GONIOMETER /TEMP  $1  /RAMP=<n>  /HOLD=<n>  /WAIT

GONIOMETER /ENCODERS  $1  $2

GRAPH /FILE $1 /QUADRANT=<n> /PRECLEAR  /NOCLEAR

GRAPH /VECTOR $1 $2 $3 $4 /QUADRANT=<n> /DELAY=<n> /NOERASE

GRAPH /POSTER

HELP

HELP /REFERENCE

HELP /USERGUIDE

INTEGRATE /CHI $1 $2 $3 $4 /NORMAL=<n> /STEPSIZE=<n>

INTEGRATE /2THETA $1 $2 $3 $4 /NORMAL=<n> /STEPSIZE=<n>

INTEGRATE /AREA  $1  $2  $3  $4

INTEGRATE /PIXEL $1 $2 $3 $4 $5

INTEGRATE /WRITE $1 /FILENAME=<n> /FORMAT=<n> /APPEND

INTEGRATE /CLEAR

INTEGRATE /RECTANGLE  $1  $2  $3  $4  /VERTICAL

INTEGRATE /WRITE  $1  /FILENAME=<s>  /FORMAT=<s>  /APPEND  /SCALE=<n>

LEVEL1

LEVEL2

LEVEL3

LOAD  $1  $2  /DISPLAY=<n> /SCALE=<n> /OFFSET=<n> /LOGSCALE /USE_CONFIG

LOGFILE /NEW $1 /APPEND

LOGFILE [/ON | /OFF]

LOGFILE /SCRNEW $1 /APPEND

LOGFILE [/SCRON | SCROFF]

LPA  $1  $2  $3  /MONOCHROMATOR=<n>  /AIRMU=<n>  /NOREVERSE

MASK /CREATE $1 /FILTER /BORDER=<n>

MASK /SAVE $1

MASK /READ $1

MASK /VIEW $1

MASK /OCTAGON $1 $2 $3 $4 $5 $6 $7 $8

MENUMODE

PRINT  $1 /FORMAT=<n> /THRESHOLD=<n> /GREYSCALE

PROJECT /SWITCH $1

PROJECT /LOAD $1 (not recommended to use in SLAM mode)

PROJECT /NEW /CNAME=<s> $1 /TITLE=<s> /WORKDIR=<s> /FORMULA=<s> /MORPH=<s> /CCOL=<s> /DENSITY=<s> /DENSMETH=<s>

PROJECT /COPY /CNAME=<s> $1 /TITLE=<s> /WORKDIR=<s> /FORMULA=<s> /MORPH=<s> /CCOL=<s> /DENSITY=<s> /DENSMETH=<s> /CLEAR /RESET

PROJECT /EDIT /TITLE=<s> /FORMULA=<s> /MORPH=<s> /CCOL=<s> /DENSITY=<s> /DENSMETH=<s> /CLEAR /RESET

PROJECT /BACKUP $1 $2 $3 /NOCALIB /NOWORK

PROJECT /REMOVE $1

PROJECT /DELETE $1

PROJECT /MAKEDEF

QUIT

RATEMETER /RESET=<n> /SHUTTER

REDRAW

SAVE $1 /TITLE=<s> /XENGEN /DISPLAY=<n>

SCAN /ACCEPTTARGETS

SCAN /EDITRUNS  (interactive command only)

SCAN /EDITTARGETS  (interactive command only)

SCAN /MULTIRUN $1 /TITLE=<s> /SAMPLE=<s> /NUMSAMPLE=<n> /DISPLAY=<n> /REALTIME /CLEAR /STARTRUN=<n> ENDRUN=<n> /YVAL=<n>

SCAN /MULTITARGETS  $1  /TITLE=<s>  /SAMPLE=<s>  /NUMSAMPLE=<s>  /DISPLAY  /REALTIME  /CLEAR  /STARTRUN=<n>  /ENDRUN=<n>

SCAN /RADIOGRAPHY  $1  /XBEG=<n>  /XEND=<n>  /XINC=<n>  /YBEG=<n>  /YEND=<n>  /YINC=<n>  /SCANTIME  $2  $3  $4  $5

SCAN /SINGLERUN  $1  /START=<n> /WIDTH=<n> /SCANTIME=<s> /FIXED=<n>  /AXIS=<n>  /TITLE=<s>  /SAMPLE=<s>  /NUMSAMPLE=<n>  /NAME=<s>  /RUN=<s>   /FRAMENO=<s>  /DISPLAY=<n>  /REALTIME  /CLEAR

SHUTTER

SMOOTH  /AVERAGE

SMOOTH  /MEDIAN

SMOOTH  /CONVOLVE  $1

SPATIAL /NEW $1 /COUNTS=<n> /DISPLAY=<n> /REALTIME /FILE=<s> /XENGEN /THRESHOLD=<n> /SHUTTER

SPATIAL /LOAD  $1

SPATIAL /LINEAR

SPATIAL  /PROCESS $1 /THRESHOLD=<n>

SPATIAL /UNWARP $1 $2 $3 /NONORMALIZATION /DISPLAY=<n> /XENGEN  /NOBEAMCENTER

SPAWN

SURFACE $1 /ROTATION=<n> /ELEVATION=<n> /COARSENESS=<n>  /LOGSCALE

SYSTEM  $1

VIDEO /LIVE

VIDEO /FREEZE

WAIT $1

ZOOM  $1  $2  $3