PEARL Procedures rev-distro-2.1.1-1-gf419e92-dirty Igor procedures for the analysis of PEARL data

Namespaces | Functions | Variables
pearl-anglescan-panel.ipf File Reference
ARPES package

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

Copyright
  2018-20 Paul Scherrer Institut
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

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

  xdist | 1: display the x-distribution; 0: don't.
  ydist | 1: 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_df | data folder where the diffractogram data is located. default: the folder of the angle scan panel package.
  data_name | name 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_name | name 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_graph | switch 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_data | 2D 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

  ekin | kinetic 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] | rows | comma-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] | data | 2D data the original wave is modified.
  [in,out] | theta | theta positions along Y dimension of data. the original wave is modified.
  [in,out] | tilt | tilt positions along Y dimension of data the original wave is modified.
  [in,out] | phi | phi 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] | check | select 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] | force | override 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] | check | select 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] | check | select 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] | force | override 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] | check | select 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] | force | override 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] | check | select 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] | force | override 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] | check | select 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] | force | override 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.