PEARL Procedures  rev-distro-1.6.1-0-ge1f1aa9-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...
 
variable asp_display_output ()
 display the output diffractogram in a new graph 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...
 
variable asp_duplicate_output (string dest_name)
 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_source_select (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

static variable AfterCompiledHook ( )
static

initialize package data once when the procedure is first loaded

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

static variable arrange_controls ( )
static

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

variable asp_calculate_output ( )

calculate the output using all enabled processing filters.

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

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

variable asp_close_graphs ( )

close all graphs created by the angle scan panel

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

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

variable asp_display_output ( )

display the output diffractogram in a new graph

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

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

variable asp_duplicate_output ( string  dest_name)

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.

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

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.

variable asp_save_output_etpi ( variable  ekin)

save the output diffractogram to a PMSCO ETPI file

Parameters
ekinkinetic energy in eV

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

variable asp_save_output_itx ( )

save the output diffractogram to an igor text file

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

variable asp_show_panel ( )

create the angle scan processing panel

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

variable asp_update_graph ( )

update graphs with new color table or contrast

applies to the preview graph and the diffractogram.

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

static variable bp_crop_alpha_preview ( WMButtonAction *  ba)
static

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

static variable bp_graph_png ( WMButtonAction *  ba)
static

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

static variable bp_graph_update ( WMButtonAction *  ba)
static

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

static variable bp_norm_alpha_check ( WMButtonAction *  ba)
static

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

static variable bp_norm_alpha_preview ( WMButtonAction *  ba)
static

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

static variable bp_norm_phi_check ( WMButtonAction *  ba)
static

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

static variable bp_norm_phi_preview ( WMButtonAction *  ba)
static

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

static variable bp_norm_theta_check ( WMButtonAction *  ba)
static

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

static variable bp_norm_theta_preview ( WMButtonAction *  ba)
static

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

static variable bp_norm_thetaphi_check ( WMButtonAction *  ba)
static

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

static variable bp_norm_thetaphi_preview ( WMButtonAction *  ba)
static

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

static variable bp_output_calc ( WMButtonAction *  ba)
static

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

static variable bp_output_duplicate ( WMButtonAction *  ba)
static

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

static variable bp_output_etpi ( WMButtonAction *  ba)
static

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

static variable bp_output_itx ( WMButtonAction *  ba)
static

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

static variable bp_source_select ( WMButtonAction *  ba)
static

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

static variable check_norm_alpha ( )
static

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

static variable check_norm_phi ( )
static

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

static variable check_norm_theta ( )
static

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

static variable check_norm_thetaphi ( )
static

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

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

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

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

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

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

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

static variable init_package ( )
static

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

static variable pmp_graph_colortable ( WMPopupAction *  pa)
static

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

static variable pmp_graph_mode ( WMPopupAction *  pa)
static

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

static variable pmp_graph_projection ( WMPopupAction *  pa)
static

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

static variable pmp_norm_alpha_mode ( WMPopupAction *  pa)
static

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

static variable pmp_norm_theta_mode ( WMPopupAction *  pa)
static

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

static variable pmp_norm_thetaphi_mode ( WMPopupAction *  pa)
static

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

static variable preview_crop_alpha ( )
static

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

static variable preview_norm_alpha ( )
static

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

static variable preview_norm_phi ( )
static

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

static variable preview_norm_theta ( )
static

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

static variable preview_norm_thetaphi ( )
static

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

static variable update_menus ( )
static

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

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

Variable Documentation

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.

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

data folder path

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

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.