VamasBlock
VamasBlock
- class vamas.vamas_block.VamasBlock(block_identifier: str, sample_identifier: str, year: int, month: int, day: int, hour: int, minute: int, second: int, num_hours_advance_gmt: float, num_lines_block_comment: int, block_comment: str, technique: str, values_exp_var: List, analysis_source_label: str, analysis_source_characteristic_energy: float, analysis_source_strength: float, analysis_source_beam_width_x: float, analysis_source_beam_width_y: float, analysis_source_polar_incidence_angle: float, analysis_source_azimuth: float, analyzer_mode: str, analyzer_pass_energy_or_retard_ratio_or_mass_res: float, magnification_analyzer_transfer_lens: float, analyzer_work_function_or_acceptance_energy: float, target_bias: float, analysis_width_x: float, analysis_width_y: float, analyzer_axis_take_off_polar_angle: float, analyzer_axis_take_off_azimuth: float, species_label: str, transition_or_charge_state_label: str, charge_detected_particle: int, x_label: str, x_units: str, x_start: float, x_step: float, num_corresponding_variables: int, corresponding_variables: List[CorrespondingVariable], signal_mode: str, signal_collection_time: float, num_scans_to_compile_block: int, signal_time_correction: float, sample_normal_polar_angle_tilt: float, sample_normal_tilt_azimuth: float, sample_rotation_angle: float, num_additional_numerical_params: int, additional_numerical_params: List[AdditionalNumericalParam], num_y_values: int, x_coord: Optional[int] = None, y_coord: Optional[int] = None, sputtering_z: Optional[int] = None, sputtering_num_particles: Optional[float] = None, sputtering_charge: Optional[float] = None, field_view_x: Optional[float] = None, field_view_y: Optional[float] = None, linescan_coordinates: Optional[LinescanCoordinates] = None, differential_width: Optional[float] = None, sputtering_source: Optional[SputteringSource] = None)
Information about a measurement as part of an experiment
VamasBlock contains the information about one part of the experiment, e.g. one spectral region or scan in XPS measurements or one image in an SEM experiment.
- block_identifier
Identifier of the block.
- Type:
str
- sample_identifier
Identifier of the sample.
- Type:
str
- year
Year of the measurement. Gregorian calendar year, e.g., ‘1987’. If the value is not known, the value -1 should be entered as a dummy value.
- Type:
int
- month
Month of the measurement. If the value is not known, the value -1 should be entered as a dummy value.
- Type:
int
- day
Day of the measurement. If the value is not known, the value -1 should be entered as a dummy value.
- Type:
int
- hour
Hour as part of the measurement time. In 24-hour clock format. If the value is not known, the value -1 should be entered as a dummy value.
- Type:
int
- minute
Minute as part of the measurement time. If the value is not known, the value -1 should be entered as a dummy value.
- Type:
int
- second
Second as part of the measurement time. If the value is not known, the value -1 should be entered as a dummy value.
- Type:
int
- num_hours_advance_gmt
Number of hours in advance of Greenwich Mean Time.
- Type:
float
- num_lines_block_comment
Number of lines of block comments.
- Type:
int
- block_comment
Concatenated block comment lines. The number of occurrences of comment line is specified by the value of number of lines in block comment above.
- Type:
str
- technique
Measurement Technique. One of the values ‘AES diff’ | ‘AES dir’ | ‘EDX’ | ‘ELS’ | ‘FABMS’ | ‘FABMS energy spec’ | ‘ISS’ | ‘SIMS’ | ‘SIMS energy spec’ | ‘SNMS’ | ‘SNMS energy spec’ | ‘UPS’ | ‘XPS’ | ‘XRF’.
- Type:
str
- x_coord
X-coordinate. The ordinal number, starting with unity, of the point in the array along the analysis source deflection system x-axis Only inserted if and only if the value of experiment mode is either MAP or MAPDI.
- Type:
int
- y_coord
Y-coordinate. The ordinal number, starting with unity, of the point in the array along the analysis source deflection system y-axis. Only inserted if and only if the value of experiment mode is either MAP or MAPDI.
- Type:
int
- values_exp_var
Values of experimental variables. May be, for example, total time in seconds, total etch time in seconds, temperature in Kelvin, energy in electron volts or mass in unified atomic mass units. The number of items in the list is specified by the value of
VamasBlock.num_experiment_variables
, and the order in which the values are given is the same as the order in whichExperimentVariable.label
andExperimentVariable.unit
are declared.- Type:
list
- analysis_source_label
Label of the Analysis source.
- Type:
str
- sputtering_z
Species of the sputtering ion or atom in atomic number. Inserted if and only if either (1) the value of experiment mode is MAPDP, MAPSVDP, SDP or SDPSV, or (2) the value of technique is FABMS, FABMS energy spec, ISS, SIMS, SIMS energy spec, SNMS or SNMS energy spec.
- Type:
int
- sputtering_num_particles
Number of particles in sputtering ion or atom particle. Inserted if and only if either (1) the value of experiment mode is MAPDP, MAPSVDP, SDP or SDPSV, or (2) the value of technique is FABMS, FABMS energy spec, ISS, SIMS, SIMS energy spec, SNMS or SNMS energy spec.
- Type:
float
- sputtering_charge
Charge sign and number of the sputtering ion or atom. Inserted if and only if either (1) the value of experiment mode is MAPDP, MAPSVDP, SDP or SDPSV, or (2) the value of technique is FABMS, FABMS energy spec, ISS, SIMS, SIMS energy spec, SNMS or SNMS energy spec.
- Type:
float
- analysis_source_characteristic_energy
Characteristic energy of the analysis source in electron volts.
- Type:
float
- analysis_source_strength
Strengh of the analysis source. Power of the analysis source in watts for XPS and XRF, beam current in nanoamps for AES, EDX, ISS, SIMS and SNMS; beam equivalent for FABMS.
- Type:
float
- analysis_source_beam_width_x
Width of the beam in x-direction in micrometres at the sample in the plane perpendicular to the source beam.
- Type:
float
- analysis_source_beam_width_y
Width of the beam in y-direction in micrometres at the sample in the plane perpendicular to the source beam.
- Type:
float
- field_view_x
Field of view in x-direction in micrometres. Inserted if and only if the value of experiment mode is MAP, MAPDP, MAPSV, MAPSVDP or SEM.
- Type:
float
- field_view_y
Inserted if and only if the value of experiment mode is MAP, MAPDP, MAPSV, MAPSVDP or SEM.
- Type:
float
- linescan_coordinates
Linescan coordinates.
- Type:
- analysis_source_polar_incidence_angle
Incidence angle of the analysis source. In degrees from upward z-direction, defined by the sample stage.
- Type:
float
- analysis_source_azimuth
Azimuth angle of the analysis source. In degrees clockwise from the y-direction towards the operator, defined by the sample stage.
- Type:
float
- analyzer_mode
Analyzer mode. The value is on of ‘FAT’ | ‘FRR’ | ‘constant delta m’ | ‘constant m / delta m’.
- Type:
str
- analyzer_pass_energy_or_retard_ratio_or_mass_res
Pass energy or retard ration or mass resolution of the analyser. The unit for energy is in electron volts, the one for mass in amu.
- Type:
float
- differential_width
Differential width. Electron volts peak-to-peak for sinusoidal modulation or computer differentiation. Inserted if and only if the value of technique is AES diff.
- Type:
float
- magnification_analyzer_transfer_lens
Magnification of the analyzer transfer lens.
- Type:
float
- analyzer_work_function_or_acceptance_energy
Work function or acceptance angle of the analyzer. Positive value for work function in electron volts for AES, ELS, ISS, UPS and XPS. The acceptance energy of an ion is the energy filter pass energy of the mass spectrometer for FABMS, SIMS and SNMS.
- Type:
float
- target_bias
Bias of the target. In volts, including the sign.
- Type:
float
- analysis_width_x
Analysis width in x-direction. The analysis width x is the gated signal width of the source in the x-direction in the plane perpendicular to the beam for FABMS, FABMS energy spec, ISS, SIMS, SIMS energy spec, SNMS and SNMS energy spec, the analyser slit length divided by the magnification of the analyser transfer lens to that slit for AES diff, AES dir, ELS, UPS and XPS, and is the source width in the x-direction for both EDX and XRF.
In micrometres.
- Type:
float
- analysis_width_y
Analysis width in y-direction. The analysis width y is the gated signal width of the source in the y-direction in the plane perpendicular to the beam for FABMS, FABMS energy spec, ISS, SIMS, SIMS energy spec, SNMS and SNMS energy spec, the analyser slit length divided by the magnification of the analyser transfer lens to that slit for AES diff, AES dir, ELS, UPS and yPS, and is the source width in the y-direction for both EDX and XRF.
In micrometres.
- Type:
float
- analyzer_axis_take_off_polar_angle
Analyzer axis take off polar angle. Degrees from upward z-direction, defined by the sample stage.
- Type:
float
- analyzer_axis_take_off_azimuth
Analyzer axis take off azimuth. Degrees clockwise from the y-direction towards the operator, defined by the sample stage.
- Type:
float
- species_label
Label of the species. Elemental symbol or molecular formula.
- Type:
str
- transition_or_charge_state_label
Label of the transition or charge state. For example, ‘KLL’ for AES, ‘1s’ for XPS, ‘-1’ for SIMS.
- Type:
str
- charge_detected_particle
Charge of the detected particle. For example, -1 for AES and XPS, +1 for positive SIMS.
- Type:
int
- x_label
Label of the x-values. Inserted if and only if the value of scan mode is REGULAR.
- Type:
str
- x_units
Unit of the x-values.
experiment
mode
unit corresponding to technique
AES diff,
AES dir,
EDX, ELSS,
ISS, UPS
XPS, XRF
FABMS,
SIMS,
SNMS,
FABMS energy spec,
SIMS energy spec,
SNMS energy spec,
MAP
MAPDP
NORM
SDP
‘eV’
‘u’ or ‘s’
‘eV’
SDPSV
‘s’
‘s’
Inserted if and only if the value of scan mode is REGULAR.
- Type:
str
- x_start
Start value of the x-values. Inserted if and only if the value of scan mode is REGULAR.
- Type:
float
- x_step
Step size between x-values. Inserted if and only if the value of scan mode is REGULAR.
- Type:
float
- num_corresponding_variables
Number of corresponding variables. If the data is in the form of sets of corresponding values of two or more variables then
num_corresponding_variables
is equal to the number of variables, otherwise it is equal to unity.- Type:
int
- corresponding_variables
Corresponding Variables.
- Type:
List[CorrespondingVariable]
- signal_mode
Signal mode. Is either ‘analogue’ | ‘pulse counting’. Analogue signals, while recorded digitally, may be of either sign and have a gain which may be noted in the block comment. Pulse counting signals are integers with values equal to or greater than zero.
- Type:
str
- signal_collection_time
Signal collection time. Time in seconds per scan for each channel or array-point, except for both EDX and XRF where it is the total spectrum collection time.
- Type:
float
- num_scans_to_compile_block
Number of scan to compile block. This is the number of measurement recordings to get the data block, e.g. the number of sweeps for XPS.
- Type:
int
- signal_time_correction
Time correction for the signal. This is the system dead time, except for EDX and XRF where it is the livetime-corrected acquisition time. In the case of a dead time, a positive value indicates that the count rate should be corrected by dividing by (1 - measured rate * dead time) whereas a negative value indicates a correction by multiplying by (exp(true count rate * dead time)). In seconds.
- Type:
float
- sputtering_source
Sputtering source.
- Type:
- sample_normal_polar_angle_tilt
Sample normal polar angle of tilt. Degrees from upward z-direction, defined by the sample stage.
- Type:
float
- sample_normal_tilt_azimuth
Sample normal tilt azimuth. Degrees clockwise from the y-direction towards the operator, defined by the sample stage.
- Type:
float
- sample_rotation_angle
Sample rotation angle. Degrees clockwise rotation about the sample normal. If this is referenced to a particular direction on the sample this direction would be specified in a comment line at
block_comment
.- Type:
float
- num_additional_numerical_params
Number of additional numberical parameters.
- Type:
int
- additional_numerical_params
Additional numberical parameters.
- Type:
List[AdditionalNumericalParam]
- num_y_values
Number of y-values. The value of number of y-values (ordinate values) is equal to product of the value of
num_corresponding_variables
and the number of sets of :class:`CorrespondingVariable`s to be transferred.- Type:
int
CorrespondingVariable
- class vamas.vamas_block.CorrespondingVariable(label: str, unit: str, y_values: List[float], y_min: Optional[float] = None, y_max: Optional[float] = None)
Information about the measured values
The number of occurrences of
CorrespondingVariable
is specified by the value ofVamasBlock.num_corresponding_variables
. The order in which the entries appear is the same as the order in which the corresponding values oflabel
are given.- label
Label of the corresponding variable.
- Type:
str
- unit
Unit of the corresponding variable.
- Type:
str
- y_values
Measured y-values. The number of occurrences of ordinate values is specified by the value of
VamasBlock.num_y_values
. If this value is greater than unity then the data is sent in the form of successive complete sets, each set consisting of an ordinate y_value for each of the corresponding variables arranged in the same order as that in which each value oflabel
is given. The minus-sign followed by the empty-sequence indicates that there must be at least one y value.- Type:
List[float]
- y_min
Minimal measured y-value. The number of occurrences of entries is specified by the value of
VamasBlock.num_corresponding_variables
. The order in which the entries appear is the same as the order in which the corresponding values oflabel
are given.- Type:
float
- y_max
Maximal measured y-value. The number of occurrences of entries is specified by the value of
VamasBlock.num_corresponding_variables
. The order in which the entries appear is the same as the order in which the corresponding values oflabel
are given.- Type:
float
LinescanCoordinates
- class vamas.vamas_block.LinescanCoordinates(first_linescan_start_x: int, first_linescan_start_y: int, first_linescan_finish_x: int, first_linescan_finish_y: int, last_linescan_finish_x: int, last_linescan_finish_y: int)
Information about linescan coordinates in mapping experiments
Inserted if and only if the value of
VamasHeader.experiment_mode
is MAPSV, MAPSVDP or SEM. They are required for specifying the size and shape of the map and for relating the order in the scan sequence to the position on the sample. In the coordinate system to be used, x-values start at unity at the left-hand side of the frame and increase towards the right-hand side, and y-values start at unity at the top of the frame and increase towards the bottom of the frame, as shown below. (18)1, 1 N, 1
1, M N, M
- first_linescan_start_x
Start x-value of the first linescan.
- Type:
int
- first_linescan_start_y
Start y-value of the first linescan.
- Type:
int
- first_linescan_finish_x
End x-value of the first linescan.
- Type:
int
- first_linescan_finish_y
End y-value of the first linescan.
- Type:
int
- last_linescan_finish_x
End x-value of the last linescan.
- Type:
int
- last_linescan_finish_y
End y-value of the last linescan.
- Type:
int
SputteringSource
- class vamas.vamas_block.SputteringSource(energy: float, beam_current: float, width_x: float, width_y: float, polar_incidence_angle: float, azimuth: float, mode: str)
Information about the sputtering source
For a sputtering source used in addition to the analysis source, as in depth profiling. Inserted if and only if both (1) the value of
VamasBlock.technique
is AES diff, AES dir, EDX, ELS, UPS, XPS or XRF, and (2) the value ofVamasHeader.experiment_mode
is MAPDP, MAPSVDP, SDP or SDPSV. (37)- energy
Energy of the sputtering source in electron volts.
- Type:
float
- beam_current
Beam current of the sputtering source in nanoamps or equivalent for neutrals.
- Type:
float
- width_x
X-width in micrometres at the sample in the plane perpendicular to the sputtering source beam.
- Type:
float
- width_y
Y-width in micrometres at the sample in the plane perpendicular to the sputtering source beam.
- Type:
float
- polar_incidence_angle
Polar incidence angle in degrees from upward z-direction, defined by the sample stage.
- Type:
float
- azimuth
Azimuth angle in degrees clockwise from the y-direction towards the operator, defined by the sample stage
- Type:
float
- mode
Mode of the sputtering source. The value is either ‘continuous’, when sputtering continues while spectral data is being recorded, or ‘cyclic’, when sputtering is suspended while spectral data is being recorded.
- Type:
str
AdditionalNumericalParam
- class vamas.vamas_block.AdditionalNumericalParam(label: str, unit: str, value: float)
Information about additional numerical parameters
The number of occurrences of AdditionalNumericalParam is specified by the value of
VamasBlock.num_additional_numerical_params
.- label
Label of the additional numerical parameter.
- Type:
str
- unit
Unit of the additional numerical parameter.
- Type:
str
- value
Value of the additional numerical parameter.
- Type:
str