PEARL Procedures  rev-distro-1.4.0-1-g0a436db-dirty
Igor procedures for the analysis of PEARL data
pearl-anglescan-tracker.ipf File Reference
#include "pearl-area-profiles"
#include "pearl-area-import"
#include "pearl-scienta-preprocess"
#include "pearl-anglescan-process"
#include <New Polar Graphs>

Go to the source code of this file.

Functions

static variable AfterCompiledHook ()
 initialize package data once when the procedure is first loaded More...
 
static variable init_package ()
 
static variable save_prefs ()
 save persistent package data to the preferences file. More...
 
static variable load_prefs ()
 load persistent package data from the preferences file. More...
 
static variable IgorQuitHook (string app)
 disconnect EPICS channels before Igor quits. More...
 
variable ast_setup ()
 set up data structures, display graph, and try to connect to analyser. More...
 
variable ast_prepare (variable theta_offset=defaultValue, variable tilt_offset=defaultValue, variable phi_offset=defaultValue)
 prepare for new measurement and clear the data buffer. More...
 
variable ast_set_processing (string reduction_func, string reduction_params)
 set the data processing parameters More...
 
variable ast_add_image (wave image, variable theta, variable tilt, variable phi)
 process and add a detector image to the tracker scan. More...
 
variable ast_export (dfref folder, string nickname, variable xpdplot=defaultValue)
 export tracker data to a separate, independent data set. More...
 
variable ast_import (string nickname)
 import tracker data from an existing angle scan dataset. More...
 
variable ast_update_detector (variable theta, variable tilt, variable phi, variable range)
 update the current position indicator. More...
 
variable ast_close ()
 stop tracker, close graph, release data structures. More...
 
static variable setup_data ()
 
static variable extend_data (variable num_slices)
 extend the data buffer for the next polar scan More...
 
static variable setup_detector ()
 
static variable add_image_data (wave image, variable theta, variable tilt, variable phi)
 reduce a detector image and add the result to the data buffer. More...
 
static variable process_image_data ()
 process the data buffer to generate the tracker dataset. More...
 
static variable update_detector (variable theta, variable tilt, variable phi, variable range)
 update the current position indicator. More...
 
static variable setup_graph ()
 create the graph window. More...
 
static variable update_data_graph ()
 
static variable update_detector_graph ()
 
static variable epics_connect ()
 connect the angle scan tracker to EPICS More...
 
static variable epics_disconnect_chid (string chid_var_name)
 
static variable epics_disconnect ()
 
static variable ast_window_hook (WMWinHookStruct *s)
 window hook More...
 
variable ast_callback_data (variable chan)
 callback function for new analyser data from EPICS. More...
 
variable ast_callback_detector (variable chan)
 callback function for new detector state from EPICS. More...
 
variable ast_callback_manip (variable chan)
 callback function for new manipulator position from EPICS. More...
 
static variable bp_capture (WMButtonAction *ba)
 
static variable toggle_capture ()
 
static variable update_capture ()
 
static variable pmp_data (WMPopupAction *pa)
 
static variable pmp_data_mouseup (WMPopupAction *pa)
 
static variable export_tracker_data ()
 export tracker data (with prompt) More...
 
static variable import_tracker_data ()
 import tracker data (with prompt) More...
 
static variable save_tracker_data ()
 save tracker data to file (with prompt) More...
 
static variable load_tracker_data ()
 import tracker data from file (with prompt) More...
 
static variable pmp_parameters (WMPopupAction *pa)
 
static variable pmp_parameters_mouseup (WMPopupAction *pa)
 
static variable edit_reduction_params ()
 
static variable edit_offsets ()
 

Variables

 version
 
static const string package_path = "root:packages:pearl_anglescan_tracker:"
 data folder path More...
 
static const string prefs_objects = "projection;theta_offset;tilt_offset;phi_offset;reduction_func;reduction_params"
 semicolon-separated list of persistent variable, string, and wave names More...
 

Function Documentation

static variable add_image_data ( wave  image,
variable  theta,
variable  tilt,
variable  phi 
)
static

reduce a detector image and add the result to the data buffer.

Parameters
imagedetector image with correct X (energy) and Y (angle) scaling
thetapolar angle of manipulator
tilttilt angle of manipulator
phiazimuthal angle of manipulator

the manipulator angles are corrected by the preset offsets internally.

Definition at line 453 of file pearl-anglescan-tracker.ipf.

static variable AfterCompiledHook ( )
static

initialize package data once when the procedure is first loaded

Definition at line 73 of file pearl-anglescan-tracker.ipf.

variable ast_add_image ( wave  image,
variable  theta,
variable  tilt,
variable  phi 
)

process and add a detector image to the tracker scan.

Parameters
imagedetector image with correct X (energy) and Y (angle) scaling
thetapolar angle of manipulator
tilttilt angle of manipulator
phiazimuthal angle of manipulator

the manipulator angles are corrected by the preset offsets internally.

Definition at line 285 of file pearl-anglescan-tracker.ipf.

variable ast_callback_data ( variable  chan)

callback function for new analyser data from EPICS.

Definition at line 846 of file pearl-anglescan-tracker.ipf.

variable ast_callback_detector ( variable  chan)

callback function for new detector state from EPICS.

save the manipulator position at the beginning of image acquisition. it is used by ast_callback_data().

Definition at line 951 of file pearl-anglescan-tracker.ipf.

variable ast_callback_manip ( variable  chan)

callback function for new manipulator position from EPICS.

Definition at line 980 of file pearl-anglescan-tracker.ipf.

variable ast_close ( )

stop tracker, close graph, release data structures.

Definition at line 360 of file pearl-anglescan-tracker.ipf.

variable ast_export ( dfref  folder,
string  nickname,
variable  xpdplot = defaultValue 
)

export tracker data to a separate, independent data set.

the exported data can then be used for further processing. the data is exported to the current data folder, or root if XPDplot compatibility is requested.

Parameters
folderdestination folder path
nicknamename prefix for waves
xpdplotxpdplot compatibility, see make_hemi_grid() for details
  • 0 (default)
  • 1 create additional waves and notebook required by XPDplot

Definition at line 307 of file pearl-anglescan-tracker.ipf.

variable ast_import ( string  nickname)

import tracker data from an existing angle scan dataset.

Parameters
nicknamename prefix for waves. data must be in current data folder.

Definition at line 329 of file pearl-anglescan-tracker.ipf.

variable ast_prepare ( variable  theta_offset = defaultValue,
variable  tilt_offset = defaultValue,
variable  phi_offset = defaultValue 
)

prepare for new measurement and clear the data buffer.

optionally, set new manipulator offsets. the offsets are the manipulator readback coordinates where the sample surface is oriented in normal emission, and the handle of the sample plate points horizontally to the left (9 o'clock).

Parameters
theta_offsetset new theta offset. default: no change.
tilt_offsetset new tilt offset. default: no change.
phi_offsetset new phi offset. default: no change.

Definition at line 211 of file pearl-anglescan-tracker.ipf.

variable ast_set_processing ( string  reduction_func,
string  reduction_params 
)

set the data processing parameters

the parameters will be effective for subsequent measurements only. previously acquired data is not affected. the processing parameters are saved with the preferences.

Parameters
reduction_funcname of custom reduction function, e.g. "int_linbg_reduction". any user-defined function with the same signature as adh5_default_reduction() is allowed.
reduction_paramsparameter string for the reduction function. the format depends on the actual function. for int_linbg_reduction, e.g., "Lcrop=0.1;Hcrop=0.1;Lsize=0.2;Hsize=0.2;Cpos=0.5;Csize=0.4".

Definition at line 261 of file pearl-anglescan-tracker.ipf.

variable ast_setup ( )

set up data structures, display graph, and try to connect to analyser.

Definition at line 194 of file pearl-anglescan-tracker.ipf.

variable ast_update_detector ( variable  theta,
variable  tilt,
variable  phi,
variable  range 
)

update the current position indicator.

Parameters
thetapolar angle of manipulator
tilttilt angle of manipulator
phiazimuthal angle of manipulator
rangeangle range (60 or 45)

the manipulator angles are corrected by the preset offsets internally.

Definition at line 349 of file pearl-anglescan-tracker.ipf.

static variable ast_window_hook ( WMWinHookStruct *  s)
static

window hook

disconnects from EPICS when the window is closed.

Definition at line 831 of file pearl-anglescan-tracker.ipf.

static variable bp_capture ( WMButtonAction *  ba)
static

Definition at line 1013 of file pearl-anglescan-tracker.ipf.

static variable edit_offsets ( )
static

Definition at line 1234 of file pearl-anglescan-tracker.ipf.

static variable edit_reduction_params ( )
static

Definition at line 1218 of file pearl-anglescan-tracker.ipf.

static variable epics_connect ( )
static

connect the angle scan tracker to EPICS

the tracker uses channels of the analyser and the manipulator.

if the EPICS XOP is not loaded, the function does nothing. if channels are not available, the function exits with an error code after a timeout of 5 seconds. the Igor run-time error status is reset to suppress the error dialog.

Returns
zero if successful, non-zero if an error occurred
Todo:
the X03DA channel names are hard-coded.

Definition at line 675 of file pearl-anglescan-tracker.ipf.

static variable epics_disconnect ( )
static

Definition at line 801 of file pearl-anglescan-tracker.ipf.

static variable epics_disconnect_chid ( string  chid_var_name)
static

Definition at line 787 of file pearl-anglescan-tracker.ipf.

static variable export_tracker_data ( )
static

export tracker data (with prompt)

Definition at line 1095 of file pearl-anglescan-tracker.ipf.

static variable extend_data ( variable  num_slices)
static

extend the data buffer for the next polar scan

call this function if the buffer is full.

Parameters
num_slicesnumber of slices that the measurement contains

Definition at line 402 of file pearl-anglescan-tracker.ipf.

static variable IgorQuitHook ( string  app)
static

disconnect EPICS channels before Igor quits.

Definition at line 188 of file pearl-anglescan-tracker.ipf.

static variable import_tracker_data ( )
static

import tracker data (with prompt)

Definition at line 1125 of file pearl-anglescan-tracker.ipf.

static variable init_package ( )
static

Definition at line 98 of file pearl-anglescan-tracker.ipf.

static variable load_prefs ( )
static

load persistent package data from the preferences file.

the preferences file is an Igor packed experiment file in a special preferences folder.

this function is called automatically when the procedure is first compiled, or whenever the user clicks the corresponding button.

Definition at line 163 of file pearl-anglescan-tracker.ipf.

static variable load_tracker_data ( )
static

import tracker data from file (with prompt)

Definition at line 1165 of file pearl-anglescan-tracker.ipf.

static variable pmp_data ( WMPopupAction *  pa)
static

Definition at line 1061 of file pearl-anglescan-tracker.ipf.

static variable pmp_data_mouseup ( WMPopupAction *  pa)
static

Definition at line 1075 of file pearl-anglescan-tracker.ipf.

static variable pmp_parameters ( WMPopupAction *  pa)
static

Definition at line 1184 of file pearl-anglescan-tracker.ipf.

static variable pmp_parameters_mouseup ( WMPopupAction *  pa)
static

Definition at line 1198 of file pearl-anglescan-tracker.ipf.

static variable process_image_data ( )
static

process the data buffer to generate the tracker dataset.

Definition at line 502 of file pearl-anglescan-tracker.ipf.

static variable save_prefs ( )
static

save persistent package data to the preferences file.

this function is called when the user clicks the corresponding button.

Definition at line 139 of file pearl-anglescan-tracker.ipf.

static variable save_tracker_data ( )
static

save tracker data to file (with prompt)

Definition at line 1154 of file pearl-anglescan-tracker.ipf.

static variable setup_data ( )
static

Definition at line 372 of file pearl-anglescan-tracker.ipf.

static variable setup_detector ( )
static

Definition at line 434 of file pearl-anglescan-tracker.ipf.

static variable setup_graph ( )
static

create the graph window.

Definition at line 589 of file pearl-anglescan-tracker.ipf.

static variable toggle_capture ( )
static

Definition at line 1027 of file pearl-anglescan-tracker.ipf.

static variable update_capture ( )
static

Definition at line 1045 of file pearl-anglescan-tracker.ipf.

static variable update_data_graph ( )
static

Definition at line 640 of file pearl-anglescan-tracker.ipf.

static variable update_detector ( variable  theta,
variable  tilt,
variable  phi,
variable  range 
)
static

update the current position indicator.

Parameters
thetapolar angle of manipulator
tilttilt angle of manipulator
phiazimuthal angle of manipulator
rangeangle range (60 or 45)

the manipulator angles are corrected by the preset offsets internally.

Definition at line 554 of file pearl-anglescan-tracker.ipf.

static variable update_detector_graph ( )
static

Definition at line 652 of file pearl-anglescan-tracker.ipf.

Variable Documentation

const string package_path = "root:packages:pearl_anglescan_tracker:"
static

data folder path

Definition at line 68 of file pearl-anglescan-tracker.ipf.

const string prefs_objects = "projection;theta_offset;tilt_offset;phi_offset;reduction_func;reduction_params"
static

semicolon-separated list of persistent variable, string, and wave names

Definition at line 70 of file pearl-anglescan-tracker.ipf.

version
Initial value:
= 1.6
static const string package_name = "pearl_anglescan_tracker"
static const string package_name

Definition at line 5 of file pearl-anglescan-tracker.ipf.