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_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

Copyright
  2018 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 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

  xdist | 1: display the x-distribution; 0: don't.
  ydist | 1: 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_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 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_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 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_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 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

  ekin | kinetic 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]

  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 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]

  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 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]

  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 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]

  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 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]

  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 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]

  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 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.