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 which ExperimentVariable.label and ExperimentVariable.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:

LinescanCoordinates

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:

SputteringSource

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 of VamasBlock.num_corresponding_variables. The order in which the entries appear is the same as the order in which the corresponding values of label 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 of label 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 of label 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 of label 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 of VamasHeader.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