PEARL Procedures  rev-distro-2.0.3-2-g58135e4-dirty
Igor procedures for the analysis of PEARL data
pearl-anglescan-panel.ipf File Reference

interactive processing of angle scanned XPD data. More...

#include "pearl-anglescan-process"
#include "pearl-pmsco-import"

Go to the source code of this file.

Namespaces

 PearlAnglescanPanel
 interactive processing of angle scanned XPD data.
 

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...
 
variable asp_import_raw (wave raw_data)
 import raw data More...
 
variable asp_display_previews ()
 display a graph window of the processed data. More...
 
variable asp_display_dist_check (variable xdist, variable ydist)
 display a graph window of the distribution checks. More...
 
static variable do_init_process (variable check)
 initialize the process data with a copy of the raw data. More...
 
static variable do_crop_alpha (variable check, variable force=defaultValue)
 alpha-crop the process data. More...
 
static variable do_norm_alpha (variable check, variable force=defaultValue)
 alpha-normalize the process data. More...
 
static variable do_norm_phi (variable check, variable force=defaultValue)
 phi-normalize the process data. More...
 
static variable do_norm_theta (variable check, variable force=defaultValue)
 theta-normalize the process data. More...
 
static variable do_norm_thetaphi (variable check, variable force=defaultValue)
 theta,phi-normalize the process data. More...
 
variable asp_calculate_output ()
 calculate the output using all enabled processing filters. More...
 
string asp_display_output (dfref data_df=defaultValue, string data_name=defaultValue)
 display the output diffractogram More...
 
variable asp_update_graph ()
 update graphs with new color table or contrast More...
 
variable asp_close_graphs ()
 close all graphs created by the angle scan panel More...
 
string asp_duplicate_output (string dest_name, variable do_graph=defaultValue)
 copy the output data to a new folder More...
 
variable asp_save_output_itx ()
 save the output diffractogram to an igor text file More...
 
variable asp_save_output_etpi (variable ekin)
 save the output diffractogram to a PMSCO ETPI file More...
 
static variable check_norm_alpha ()
 
static variable check_norm_phi ()
 
static variable check_norm_theta ()
 
static variable check_norm_thetaphi ()
 
static variable preview_crop_alpha ()
 
static variable preview_norm_alpha ()
 
static variable preview_norm_phi ()
 
static variable preview_norm_theta ()
 
static variable preview_norm_thetaphi ()
 
variable asp_show_panel ()
 create the angle scan processing panel More...
 
static variable arrange_controls ()
 
static variable update_menus ()
 update the popup menus to reflect the values of the global variables More...
 
static variable bp_load_prefs (WMButtonAction *ba)
 
static variable bp_save_prefs (WMButtonAction *ba)
 
static variable bp_source_select (WMButtonAction *ba)
 
static variable bp_source_update (WMButtonAction *ba)
 
static variable bp_norm_alpha_check (WMButtonAction *ba)
 
static variable bp_norm_theta_check (WMButtonAction *ba)
 
static variable bp_norm_phi_check (WMButtonAction *ba)
 
static variable bp_norm_thetaphi_check (WMButtonAction *ba)
 
static variable bp_crop_alpha_preview (WMButtonAction *ba)
 
static variable bp_norm_alpha_preview (WMButtonAction *ba)
 
static variable bp_norm_phi_preview (WMButtonAction *ba)
 
static variable bp_norm_theta_preview (WMButtonAction *ba)
 
static variable bp_norm_thetaphi_preview (WMButtonAction *ba)
 
static variable bp_output_calc (WMButtonAction *ba)
 
static variable bp_output_duplicate (WMButtonAction *ba)
 
static variable bp_output_etpi (WMButtonAction *ba)
 
static variable bp_output_itx (WMButtonAction *ba)
 
static variable bp_graph_update (WMButtonAction *ba)
 
static variable bp_graph_png (WMButtonAction *ba)
 
static variable pmp_norm_alpha_mode (WMPopupAction *pa)
 
static variable pmp_norm_theta_mode (WMPopupAction *pa)
 
static variable pmp_norm_thetaphi_mode (WMPopupAction *pa)
 
static variable pmp_graph_mode (WMPopupAction *pa)
 
static variable pmp_graph_projection (WMPopupAction *pa)
 
static variable pmp_graph_colortable (WMPopupAction *pa)
 

Variables

static const string package_name = "pearl_anglescan_panel"
 package name is used as data folder name More...
 
static const string package_path = "root:packages:pearl_anglescan_panel:"
 data folder path More...
 
static const string prefs_objects = "theta_offset;tilt_offset;phi_offset;alpha_offset;crop_alpha_enable;crop_alpha_value;norm_alpha_enable;norm_alpha_mode;norm_alpha_smoothing;norm_phi_enable;norm_phi_mode;norm_phi_thetarange;norm_theta_enable;norm_theta_mode;norm_theta_smoothing;norm_thetaphi_enable;norm_thetaphi_mode;norm_theta_smoothing;output_folding;output_horizon;graph_mode;graph_projection;graph_colortable;graph_contrast;"
 semicolon-separated list of persistent variable, string, and wave names More...
 

Detailed Description

interactive processing of angle scanned XPD data.

steps to process a hemispherical scan into a diffractogram:

  1. load the scan file in data reduction mode.
  2. open the angle scan panel by calling asp_show_panel().
  3. select the dataset.
  4. set the processing parameters.
  5. start the processing and display the result.
  6. refine parameters and repeat steps 4-5.
  7. export the result in the desired form.
Author
matthias muntwiler, matth.nosp@m.ias..nosp@m.muntw.nosp@m.iler.nosp@m.@psi..nosp@m.ch

Definition in file pearl-anglescan-panel.ipf.

Function Documentation

◆ AfterCompiledHook()

static variable AfterCompiledHook ( )
static

initialize package data once when the procedure is first loaded

Definition at line 52 of file pearl-anglescan-panel.ipf.

◆ arrange_controls()

static variable arrange_controls ( )
static

Definition at line 965 of file pearl-anglescan-panel.ipf.

◆ asp_calculate_output()

variable asp_calculate_output ( )

calculate the output using all enabled processing filters.

the diffractogram is calculated, to display the graph, call asp_display_output.

Definition at line 542 of file pearl-anglescan-panel.ipf.

◆ asp_close_graphs()

variable asp_close_graphs ( )

close all graphs created by the angle scan panel

Definition at line 650 of file pearl-anglescan-panel.ipf.

◆ asp_display_dist_check()

variable asp_display_dist_check ( variable  xdist,
variable  ydist 
)

display a graph window of the distribution checks.

if the window exists, it is updated and brought to the front of the window stack.

Parameters
xdist1: display the x-distribution; 0: don't.
ydist1: display the y-distribution; 0: don't.

Definition at line 266 of file pearl-anglescan-panel.ipf.

◆ asp_display_output()

string asp_display_output ( dfref  data_df = defaultValue,
string  data_name = defaultValue 
)

display the output diffractogram

this function either displays the current working data from the angle scan panel data folder, or hologram data from a specified other data folder. in either case, the graph is displayed using the current projection, mode, color table and contrast settings of the angle scan panel.

Parameters
data_dfdata folder where the diffractogram data is located. default: the folder of the angle scan panel package.
data_namename of the diffractogram data. this is normally the name of a sub-folder that contains the data. default: the name specified in the output_name variable in the package data folder.

Definition at line 588 of file pearl-anglescan-panel.ipf.

◆ asp_display_previews()

variable asp_display_previews ( )

display a graph window of the processed data.

if the window exists, it is updated and brought to the front of the window stack.

Definition at line 242 of file pearl-anglescan-panel.ipf.

◆ asp_duplicate_output()

string asp_duplicate_output ( string  dest_name,
variable  do_graph = defaultValue 
)

copy the output data to a new folder

Parameters
dest_namename of destination folder. can contain a relative (starting with a colon) or absolute (starting with "root:") path. folders in the path must exist except for the last one. the destination folder does not need to exist. existing data in the destination folder is overwritten.
do_graphswitch to duplicate the graph window as well (1). default: 0 (do not create a graph)
Returns
name of the graph window

Definition at line 690 of file pearl-anglescan-panel.ipf.

◆ asp_import_raw()

variable asp_import_raw ( wave  raw_data)

import raw data

the raw data are copied into the package data folder, and the process waves are initialized.

Parameters
raw_data2D intensity distribution. the x dimension is the detection angle. the y dimension is an arbitrary sequence of manipulator scan positions. ManipulatorTheta, ManipulatorPilt and ManipulatorPhi waves that indicate the manipulator angles for each y position must be present in the :attr sub-folder next to the raw data wave.

Definition at line 197 of file pearl-anglescan-panel.ipf.

◆ asp_save_output_etpi()

variable asp_save_output_etpi ( variable  ekin)

save the output diffractogram to a PMSCO ETPI file

Parameters
ekinkinetic energy in eV

Definition at line 738 of file pearl-anglescan-panel.ipf.

◆ asp_save_output_itx()

variable asp_save_output_itx ( )

save the output diffractogram to an igor text file

Definition at line 723 of file pearl-anglescan-panel.ipf.

◆ asp_show_panel()

variable asp_show_panel ( )

create the angle scan processing panel

Definition at line 822 of file pearl-anglescan-panel.ipf.

◆ asp_update_graph()

variable asp_update_graph ( )

update graphs with new color table or contrast

applies to the preview graph and the diffractogram.

Definition at line 632 of file pearl-anglescan-panel.ipf.

◆ bp_crop_alpha_preview()

static variable bp_crop_alpha_preview ( WMButtonAction *  ba)
static

Definition at line 1274 of file pearl-anglescan-panel.ipf.

◆ bp_graph_png()

static variable bp_graph_png ( WMButtonAction *  ba)
static

Definition at line 1430 of file pearl-anglescan-panel.ipf.

◆ bp_graph_update()

static variable bp_graph_update ( WMButtonAction *  ba)
static

Definition at line 1416 of file pearl-anglescan-panel.ipf.

◆ bp_load_prefs()

static variable bp_load_prefs ( WMButtonAction *  ba)
static

Definition at line 1143 of file pearl-anglescan-panel.ipf.

◆ bp_norm_alpha_check()

static variable bp_norm_alpha_check ( WMButtonAction *  ba)
static

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

◆ bp_norm_alpha_preview()

static variable bp_norm_alpha_preview ( WMButtonAction *  ba)
static

Definition at line 1288 of file pearl-anglescan-panel.ipf.

◆ bp_norm_phi_check()

static variable bp_norm_phi_check ( WMButtonAction *  ba)
static

Definition at line 1246 of file pearl-anglescan-panel.ipf.

◆ bp_norm_phi_preview()

static variable bp_norm_phi_preview ( WMButtonAction *  ba)
static

Definition at line 1302 of file pearl-anglescan-panel.ipf.

◆ bp_norm_theta_check()

static variable bp_norm_theta_check ( WMButtonAction *  ba)
static

Definition at line 1232 of file pearl-anglescan-panel.ipf.

◆ bp_norm_theta_preview()

static variable bp_norm_theta_preview ( WMButtonAction *  ba)
static

Definition at line 1316 of file pearl-anglescan-panel.ipf.

◆ bp_norm_thetaphi_check()

static variable bp_norm_thetaphi_check ( WMButtonAction *  ba)
static

Definition at line 1260 of file pearl-anglescan-panel.ipf.

◆ bp_norm_thetaphi_preview()

static variable bp_norm_thetaphi_preview ( WMButtonAction *  ba)
static

Definition at line 1330 of file pearl-anglescan-panel.ipf.

◆ bp_output_calc()

static variable bp_output_calc ( WMButtonAction *  ba)
static

Definition at line 1344 of file pearl-anglescan-panel.ipf.

◆ bp_output_duplicate()

static variable bp_output_duplicate ( WMButtonAction *  ba)
static

Definition at line 1359 of file pearl-anglescan-panel.ipf.

◆ bp_output_etpi()

static variable bp_output_etpi ( WMButtonAction *  ba)
static

Definition at line 1380 of file pearl-anglescan-panel.ipf.

◆ bp_output_itx()

static variable bp_output_itx ( WMButtonAction *  ba)
static

Definition at line 1402 of file pearl-anglescan-panel.ipf.

◆ bp_save_prefs()

static variable bp_save_prefs ( WMButtonAction *  ba)
static

Definition at line 1157 of file pearl-anglescan-panel.ipf.

◆ bp_source_select()

static variable bp_source_select ( WMButtonAction *  ba)
static

Definition at line 1171 of file pearl-anglescan-panel.ipf.

◆ bp_source_update()

static variable bp_source_update ( WMButtonAction *  ba)
static

Definition at line 1197 of file pearl-anglescan-panel.ipf.

◆ check_norm_alpha()

static variable check_norm_alpha ( )
static

Definition at line 758 of file pearl-anglescan-panel.ipf.

◆ check_norm_phi()

static variable check_norm_phi ( )
static

Definition at line 765 of file pearl-anglescan-panel.ipf.

◆ check_norm_theta()

static variable check_norm_theta ( )
static

Definition at line 772 of file pearl-anglescan-panel.ipf.

◆ check_norm_thetaphi()

static variable check_norm_thetaphi ( )
static

Definition at line 779 of file pearl-anglescan-panel.ipf.

◆ do_crop_alpha()

static variable do_crop_alpha ( variable  check,
variable  force = defaultValue 
)
static

alpha-crop the process data.

Parameters
[in]checkselect which output to generate (currently not used).
  • 0 (default) process data, don't calculate check waves.
  • 1 process data and calculate check waves.
  • 2 calculate check waves only, do not calculate process data.
[in]forceoverride the global enable flag.
  • 0 (default) apply this filter only if its global enable flag is set.
  • 1 apply this filter even if it is not enabled.

Definition at line 351 of file pearl-anglescan-panel.ipf.

◆ do_init_process()

static variable do_init_process ( variable  check)
static

initialize the process data with a copy of the raw data.

applies the angle offsets.

Parameters
[in]checkselect which output to generate (currently not used).
  • 0 (default) process data, don't calculate check waves.
  • 1 process data and calculate check waves.
  • 2 calculate check waves only, do not calculate process data.

Definition at line 311 of file pearl-anglescan-panel.ipf.

◆ do_norm_alpha()

static variable do_norm_alpha ( variable  check,
variable  force = defaultValue 
)
static

alpha-normalize the process data.

Parameters
[in]checkselect which output to generate.
  • 0 (default) process data, don't calculate check waves.
  • 1 process data and calculate check waves.
  • 2 calculate check waves only, do not calculate process data.
[in]forceoverride the global enable flag.
  • 0 (default) apply this filter only if its global enable flag is set.
  • 1 apply this filter even if it is not enabled.

Definition at line 380 of file pearl-anglescan-panel.ipf.

◆ do_norm_phi()

static variable do_norm_phi ( variable  check,
variable  force = defaultValue 
)
static

phi-normalize the process data.

Parameters
[in]checkselect which output to generate.
  • 0 (default) process data, don't calculate check waves.
  • 1 process data and calculate check waves.
  • 2 calculate check waves only, do not calculate process data.
[in]forceoverride the global enable flag.
  • 0 (default) apply this filter only if its global enable flag is set.
  • 1 apply this filter even if it is not enabled.

Definition at line 421 of file pearl-anglescan-panel.ipf.

◆ do_norm_theta()

static variable do_norm_theta ( variable  check,
variable  force = defaultValue 
)
static

theta-normalize the process data.

Parameters
[in]checkselect which output to generate.
  • 0 (default) process data, don't calculate check waves.
  • 1 process data and calculate check waves.
  • 2 calculate check waves only, do not calculate process data.
[in]forceoverride the global enable flag.
  • 0 (default) apply this filter only if its global enable flag is set.
  • 1 apply this filter even if it is not enabled.

Definition at line 464 of file pearl-anglescan-panel.ipf.

◆ do_norm_thetaphi()

static variable do_norm_thetaphi ( variable  check,
variable  force = defaultValue 
)
static

theta,phi-normalize the process data.

Parameters
[in]checkselect which output to generate.
  • 0 (default) process data, don't calculate check waves.
  • 1 process data and calculate check waves.
  • 2 calculate check waves only, do not calculate process data.
[in]forceoverride the global enable flag.
  • 0 (default) apply this filter only if its global enable flag is set.
  • 1 apply this filter even if it is not enabled.

Definition at line 506 of file pearl-anglescan-panel.ipf.

◆ init_package()

static variable init_package ( )
static

Definition at line 77 of file pearl-anglescan-panel.ipf.

◆ load_prefs()

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 161 of file pearl-anglescan-panel.ipf.

◆ pmp_graph_colortable()

static variable pmp_graph_colortable ( WMPopupAction *  pa)
static

Definition at line 1529 of file pearl-anglescan-panel.ipf.

◆ pmp_graph_mode()

static variable pmp_graph_mode ( WMPopupAction *  pa)
static

Definition at line 1497 of file pearl-anglescan-panel.ipf.

◆ pmp_graph_projection()

static variable pmp_graph_projection ( WMPopupAction *  pa)
static

Definition at line 1513 of file pearl-anglescan-panel.ipf.

◆ pmp_norm_alpha_mode()

static variable pmp_norm_alpha_mode ( WMPopupAction *  pa)
static

Definition at line 1449 of file pearl-anglescan-panel.ipf.

◆ pmp_norm_theta_mode()

static variable pmp_norm_theta_mode ( WMPopupAction *  pa)
static

Definition at line 1465 of file pearl-anglescan-panel.ipf.

◆ pmp_norm_thetaphi_mode()

static variable pmp_norm_thetaphi_mode ( WMPopupAction *  pa)
static

Definition at line 1481 of file pearl-anglescan-panel.ipf.

◆ preview_crop_alpha()

static variable preview_crop_alpha ( )
static

Definition at line 786 of file pearl-anglescan-panel.ipf.

◆ preview_norm_alpha()

static variable preview_norm_alpha ( )
static

Definition at line 792 of file pearl-anglescan-panel.ipf.

◆ preview_norm_phi()

static variable preview_norm_phi ( )
static

Definition at line 799 of file pearl-anglescan-panel.ipf.

◆ preview_norm_theta()

static variable preview_norm_theta ( )
static

Definition at line 806 of file pearl-anglescan-panel.ipf.

◆ preview_norm_thetaphi()

static variable preview_norm_thetaphi ( )
static

Definition at line 813 of file pearl-anglescan-panel.ipf.

◆ save_prefs()

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 137 of file pearl-anglescan-panel.ipf.

◆ update_menus()

static variable update_menus ( )
static

update the popup menus to reflect the values of the global variables

Definition at line 1117 of file pearl-anglescan-panel.ipf.

Variable Documentation

◆ package_name

const string package_name = "pearl_anglescan_panel"
static

package name is used as data folder name

Definition at line 45 of file pearl-anglescan-panel.ipf.

◆ package_path

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

data folder path

Definition at line 47 of file pearl-anglescan-panel.ipf.

◆ prefs_objects

const string prefs_objects = "theta_offset;tilt_offset;phi_offset;alpha_offset;crop_alpha_enable;crop_alpha_value;norm_alpha_enable;norm_alpha_mode;norm_alpha_smoothing;norm_phi_enable;norm_phi_mode;norm_phi_thetarange;norm_theta_enable;norm_theta_mode;norm_theta_smoothing;norm_thetaphi_enable;norm_thetaphi_mode;norm_theta_smoothing;output_folding;output_horizon;graph_mode;graph_projection;graph_colortable;graph_contrast;"
static

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

Definition at line 49 of file pearl-anglescan-panel.ipf.