PEARL Procedures  rev-distro-2.1.1-1-gf419e92-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 (variable check, variable force=defaultValue)
 crop the process data. More...
 
static variable delete_rows (string rows, wave data, wave theta, wave tilt, wave phi)
 delete individual rows from the data strip 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 ()
 
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_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_domain (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...
 

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

◆ arrange_controls()

static variable arrange_controls ( )
static

Definition at line 1052 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 620 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 728 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 273 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 666 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 249 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 768 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 204 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 816 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 801 of file pearl-anglescan-panel.ipf.

◆ asp_show_panel()

variable asp_show_panel ( )

create the angle scan processing panel

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

◆ bp_crop_preview()

static variable bp_crop_preview ( WMButtonAction *  ba)
static

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

◆ bp_graph_png()

static variable bp_graph_png ( WMButtonAction *  ba)
static

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

◆ bp_graph_update()

static variable bp_graph_update ( WMButtonAction *  ba)
static

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

◆ bp_load_prefs()

static variable bp_load_prefs ( WMButtonAction *  ba)
static

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

◆ bp_norm_alpha_check()

static variable bp_norm_alpha_check ( WMButtonAction *  ba)
static

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

◆ bp_norm_alpha_preview()

static variable bp_norm_alpha_preview ( WMButtonAction *  ba)
static

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

◆ bp_norm_phi_check()

static variable bp_norm_phi_check ( WMButtonAction *  ba)
static

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

◆ bp_norm_phi_preview()

static variable bp_norm_phi_preview ( WMButtonAction *  ba)
static

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

◆ bp_norm_theta_check()

static variable bp_norm_theta_check ( WMButtonAction *  ba)
static

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

◆ bp_norm_theta_preview()

static variable bp_norm_theta_preview ( WMButtonAction *  ba)
static

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

◆ bp_norm_thetaphi_check()

static variable bp_norm_thetaphi_check ( WMButtonAction *  ba)
static

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

◆ bp_norm_thetaphi_preview()

static variable bp_norm_thetaphi_preview ( WMButtonAction *  ba)
static

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

◆ bp_output_calc()

static variable bp_output_calc ( WMButtonAction *  ba)
static

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

◆ bp_output_duplicate()

static variable bp_output_duplicate ( WMButtonAction *  ba)
static

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

◆ bp_output_etpi()

static variable bp_output_etpi ( WMButtonAction *  ba)
static

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

◆ bp_output_itx()

static variable bp_output_itx ( WMButtonAction *  ba)
static

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

◆ bp_save_prefs()

static variable bp_save_prefs ( WMButtonAction *  ba)
static

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

◆ bp_source_select()

static variable bp_source_select ( WMButtonAction *  ba)
static

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

◆ bp_source_update()

static variable bp_source_update ( WMButtonAction *  ba)
static

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

◆ check_norm_alpha()

static variable check_norm_alpha ( )
static

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

◆ check_norm_phi()

static variable check_norm_phi ( )
static

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

◆ check_norm_theta()

static variable check_norm_theta ( )
static

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

◆ check_norm_thetaphi()

static variable check_norm_thetaphi ( )
static

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

◆ delete_rows()

static variable delete_rows ( string  rows,
wave  data,
wave  theta,
wave  tilt,
wave  phi 
)
static

delete individual rows from the data strip

Parameters
[in]rowscomma-separated list of row indices or ranges. ranges are specified by joining the start and end index with a hyphen, e.g. 24-46. the list does not need to be ordered.
[in,out]data2D data the original wave is modified.
[in,out]thetatheta positions along Y dimension of data. the original wave is modified.
[in,out]tilttilt positions along Y dimension of data the original wave is modified.
[in,out]phiphi positions along Y dimension of data the original wave is modified.

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

◆ do_crop()

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

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 358 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 318 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 453 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 494 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 537 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 584 of file pearl-anglescan-panel.ipf.

◆ init_package()

static variable init_package ( )
static

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

◆ pmp_graph_colortable()

static variable pmp_graph_colortable ( WMPopupAction *  pa)
static

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

◆ pmp_graph_mode()

static variable pmp_graph_mode ( WMPopupAction *  pa)
static

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

◆ pmp_graph_projection()

static variable pmp_graph_projection ( WMPopupAction *  pa)
static

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

◆ pmp_norm_alpha_mode()

static variable pmp_norm_alpha_mode ( WMPopupAction *  pa)
static

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

◆ pmp_norm_theta_domain()

static variable pmp_norm_theta_domain ( WMPopupAction *  pa)
static

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

◆ pmp_norm_theta_mode()

static variable pmp_norm_theta_mode ( WMPopupAction *  pa)
static

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

◆ pmp_norm_thetaphi_mode()

static variable pmp_norm_thetaphi_mode ( WMPopupAction *  pa)
static

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

◆ preview_crop()

static variable preview_crop ( )
static

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

◆ preview_norm_alpha()

static variable preview_norm_alpha ( )
static

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

◆ preview_norm_phi()

static variable preview_norm_phi ( )
static

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

◆ preview_norm_theta()

static variable preview_norm_theta ( )
static

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

◆ preview_norm_thetaphi()

static variable preview_norm_thetaphi ( )
static

Definition at line 891 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 142 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 1210 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.