Detector
Conditions describing the type and configuration of a detector used to collect
the data.
Constants
Signal types
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_EDS
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_WDS
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_ELS
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_AES
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_PES
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_XRF
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_CLS
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_GAM
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_EBSD
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_BEI
-
pyhmsa.spec.condition.detector.SIGNAL_TYPE_SEI
Collection modes
-
pyhmsa.spec.condition.detector.COLLECTION_MODE_PARALLEL
-
pyhmsa.spec.condition.detector.COLLECTION_MODE_SERIAL
PHA modes (WDS signal)
-
pyhmsa.spec.condition.detector.PHA_MODE_INTEGRAL
-
pyhmsa.spec.condition.detector.PHA_MODE_DIFFERENTIAL
XEDS technologies (EDS signal)
-
pyhmsa.spec.condition.detector.XEDS_TECHNOLOGY_GE
-
pyhmsa.spec.condition.detector.XEDS_TECHNOLOGY_SILI
-
pyhmsa.spec.condition.detector.XEDS_TECHNOLOGY_SDD
-
pyhmsa.spec.condition.detector.XEDS_TECHNOLOGY_UCAL
Helper classes
Calibration
-
class pyhmsa.spec.condition.calibration.CalibrationConstant(quantity, unit, value)
Defines the energy/wavelength/etc calibration of a spectrometer or other
measurement device operating at a fixed position, such as a CL
monochromator.
Parameters: |
- quantity – physical quantity (required)
- unit – unit (required)
- value – value (required)
|
-
get_index(value)
-
get_quantity(index)
-
get_unit(instance)
-
get_value(instance)
-
quantity
physical quantity
-
set_quantity(instance, value)
-
set_unit(instance, value)
-
set_value(instance, value, unit=None)
-
unit
unit
-
value
constant value
-
class pyhmsa.spec.condition.calibration.CalibrationLinear(quantity, unit, gain, offset)
Defines the energy/wavelength/etc calibration of a spectrometer or
other measurement device, for which the measurement ordinals (e.g.
channel numbers) have a linear relationship to the physical quantity
(e.g. nm), with a constant offset and gain.
Parameters: |
- quantity – physical quantity (required)
- unit – unit (required)
- gain – gain (required)
- offset – offset, the calibration value (energy, wavelength,
position, etc.) corresponding to the first measurement ordinal
(required)
|
-
func
-
gain
gain
-
get_gain(instance)
-
get_index(value)
-
get_offset(instance)
-
get_quantity(index)
-
get_unit(instance)
-
offset
offset
-
quantity
physical quantity
-
set_gain(instance, value, unit=None)
-
set_offset(instance, value, unit=None)
-
set_quantity(instance, value)
-
set_unit(instance, value)
-
unit
unit
-
class pyhmsa.spec.condition.calibration.CalibrationPolynomial(quantity, unit, coefficients)
Defines the energy/wavelength/etc calibration of a spectrometer or
other measurement device, for which the measurement ordinals (e.g.
channel numbers) have a relationship to the physical quantity (e.g. nm)
that may be modelled by an nth order polynomial.
Parameters: |
- quantity – physical quantity (required)
- unit – unit (required)
- coefficients – iterable of coefficients (required)
|
-
coefficients
polynomial coefficients
-
func
-
get_coefficients(instance)
-
get_index(value)
-
get_quantity(index)
-
get_unit(instance)
-
quantity
physical quantity
-
set_coefficients(instance, value, unit=None)
-
set_quantity(instance, value)
-
set_unit(instance, value)
-
unit
unit
-
class pyhmsa.spec.condition.calibration.CalibrationExplicit(quantity, unit, values, labels=None)
Defines the energy/wavelength/etc calibration of a spectrometer or
other measurement device, for which relationship between the measurement
ordinals (e.g. channel numbers) and physical quantity (e.g. nm) cannot
be adequately modelled by linear or polynomial functions, and therefore
must be declared explicitly for each ordinal as an array of floating
point values.
Parameters: |
- quantity – physical quantity (required)
- unit – unit (required)
- values – explicit values (required)
|
-
get_index(value)
-
get_label(index)
-
get_labels(instance)
-
get_quantity(index)
-
get_unit(instance)
-
get_values(instance)
-
labels
text labels for each of the calibration points
-
quantity
physical quantity
-
set_labels(instance, value)
-
set_quantity(instance, value)
-
set_unit(instance, value)
-
set_values(instance, value, unit=None)
-
unit
unit
-
values
explicit values
Window
-
class pyhmsa.spec.condition.detector.WindowLayer(material, thickness)
Defines a layer of a window.
Parameters: |
- material – material
- thickness – thickness
|
-
get_material(instance)
-
get_thickness(instance)
-
material
material
-
set_material(instance, value)
-
set_thickness(instance, value, unit=None)
-
thickness
thickness
-
class pyhmsa.spec.condition.detector.Window(layers=None)
Defines the layer(s) of a window.
Parameters: | layers – iterable of Layer (optional) |
-
append_layer(material, thickness)
Helper function that creates a new Layer and appends it to
this window.
Parameters: |
- material – material
- thickness – thickness
|
Returns: | created layer
|
Return type: | Layer
|
-
get_layers(instance)
-
layers
modifiable list of layers
PHA
-
class pyhmsa.spec.condition.detector.PulseHeightAnalyser(bias=None, gain=None, base_level=None, window=None, mode=None)
Defines the condition of the pulse height analyser of a WDS
spectrometer.
Parameters: |
- bias – bias (optional)
- gain – gain (optional)
- base_level – base level (optional)
- window – window (optional)
- mode – mode, either PHA_MODE_INTEGRAL or
PHA_MODE_DIFFERENTIAL (optional)
|
-
base_level
base level
-
bias
bias
-
gain
gain
-
get_base_level(instance)
-
get_bias(instance)
-
get_gain(instance)
-
get_mode(instance)
-
get_window(instance)
-
mode
mode
-
set_base_level(instance, value, unit=None)
-
set_bias(instance, value, unit=None)
-
set_gain(instance, value, unit=None)
-
set_mode(instance, value)
-
set_window(instance, value, unit=None)
-
window
window
Classes
-
class pyhmsa.spec.condition.detector.DetectorCamera(pixel_count_u, pixel_count_v, exposure_time=None, magnification=None, focal_length=None, signal_type=None, manufacturer=None, model=None, serial_number=None, measurement_unit='counts', elevation=None, azimuth=None, distance=None, area=None, solid_angle=None, semi_angle=None, temperature=None)
Describes the calibration and collection mode of a camera used to
collect a HMSA dataset, such as an EBSD or TEM camera.
The camera detector is expected to have two datum axes (U and V) which
are, in general, assumed to be independent of the specimen coordinate
dimensions (X/Y/Z).
Parameters: |
- pixel_count_u – number of pixels along the horizontal axis (required)
- pixel_count_y – number of pixels along the vertical axis (required)
- exposure_time – exposure time (optional)
- magnification – magnification (optional)
- focal_length – focal length (optional)
- signal_type – type of signal (optional)
- manufacturer – manufacturer (optional)
- model – model (optional)
- serial_number – serial number (optional)
- measurement_unit – measurement unit (optional)
- elevation – elevation (optional)
- azimuth – azimuth (optional)
- distance – distance (optional)
- area – area (optional)
- solid_angle – solid angle (optional)
- semi_angle – semi-angle (optional)
- temperature – temperature (optional)
|
-
CLASS = 'Camera'
-
TEMPLATE = 'Detector'
-
area
area
-
azimuth
azimuth
-
distance
distance
-
elevation
elevation
-
exposure_time
exposure time
-
focal_length
focal length
-
get_area(instance)
-
get_azimuth(instance)
-
get_distance(instance)
-
get_elevation(instance)
-
get_exposure_time(instance)
-
get_focal_length(instance)
-
get_magnification(instance)
-
get_manufacturer(instance)
-
get_measurement_unit(instance)
-
get_model(instance)
-
get_pixel_count_u(instance)
-
get_pixel_count_v(instance)
-
get_semi_angle(instance)
-
get_serial_number(instance)
-
get_signal_type(instance)
-
get_solid_angle(instance)
-
get_temperature(instance)
-
magnification
magnification
-
manufacturer
manufacturer
-
measurement_unit
measurement unit
-
model
model
-
pixel_count_u
number of pixels along the horizontal axis
-
pixel_count_v
number of pixels along the vertical axis
-
semi_angle
semi-angle
-
serial_number
serial number
-
set_area(instance, value, unit=None)
-
set_azimuth(instance, value, unit=None)
-
set_distance(instance, value, unit=None)
-
set_elevation(instance, value, unit=None)
-
set_exposure_time(instance, value, unit=None)
-
set_focal_length(instance, value, unit=None)
-
set_magnification(instance, value, unit=None)
-
set_manufacturer(instance, value)
-
set_measurement_unit(instance, value)
-
set_model(instance, value)
-
set_pixel_count_u(instance, value, unit=None)
-
set_pixel_count_v(instance, value, unit=None)
-
set_semi_angle(instance, value, unit=None)
-
set_serial_number(instance, value)
-
set_signal_type(instance, value)
-
set_solid_angle(instance, value, unit=None)
-
set_temperature(instance, value, unit=None)
-
signal_type
type of signal
-
solid_angle
solid angle
-
temperature
temperature
-
class pyhmsa.spec.condition.detector.DetectorSpectrometer(channel_count, calibration, collection_mode=None, signal_type=None, manufacturer=None, model=None, serial_number=None, measurement_unit='counts', elevation=None, azimuth=None, distance=None, area=None, solid_angle=None, semi_angle=None, temperature=None)
Describes the calibration and collection mode of a spectrometer used to
collect a HMSA dataset.
Parameters: |
- channel_count – number of channels (required)
- calibration (_Calibration) – calibration (required)
- mode (collection) – mode of collection, either
COLLECTION_MODE_PARALLEL or
COLLECTION_MODE_SERIAL (optional)
- signal_type – type of signal (optional)
- manufacturer – manufacturer (optional)
- model – model (optional)
- serial_number – serial number (optional)
- measurement_unit – measurement unit (optional)
- elevation – elevation (optional)
- azimuth – azimuth (optional)
- distance – distance (optional)
- area – area (optional)
- solid_angle – solid angle (optional)
- semi_angle – semi-angle (optional)
- temperature – temperature (optional)
|
-
CLASS = 'Spectrometer'
-
TEMPLATE = 'Detector'
-
area
area
-
azimuth
azimuth
-
calibration
calibration
-
channel_count
number of channels
-
collection_mode
mode of collection
-
distance
distance
-
elevation
elevation
-
get_area(instance)
-
get_azimuth(instance)
-
get_calibration(instance)
-
get_channel_count(instance)
-
get_collection_mode(instance)
-
get_distance(instance)
-
get_elevation(instance)
-
get_manufacturer(instance)
-
get_measurement_unit(instance)
-
get_model(instance)
-
get_semi_angle(instance)
-
get_serial_number(instance)
-
get_signal_type(instance)
-
get_solid_angle(instance)
-
get_temperature(instance)
-
manufacturer
manufacturer
-
measurement_unit
measurement unit
-
model
model
-
semi_angle
semi-angle
-
serial_number
serial number
-
set_area(instance, value, unit=None)
-
set_azimuth(instance, value, unit=None)
-
set_calibration(instance, value)
-
set_channel_count(instance, value, unit=None)
-
set_collection_mode(instance, value)
-
set_distance(instance, value, unit=None)
-
set_elevation(instance, value, unit=None)
-
set_manufacturer(instance, value)
-
set_measurement_unit(instance, value)
-
set_model(instance, value)
-
set_semi_angle(instance, value, unit=None)
-
set_serial_number(instance, value)
-
set_signal_type(instance, value)
-
set_solid_angle(instance, value, unit=None)
-
set_temperature(instance, value, unit=None)
-
signal_type
type of signal
-
solid_angle
solid angle
-
temperature
temperature
-
class pyhmsa.spec.condition.detector.DetectorSpectrometerCL(channel_count, calibration, grating_d=None, collection_mode=None, signal_type=None, manufacturer=None, model=None, serial_number=None, measurement_unit='counts', elevation=None, azimuth=None, distance=None, area=None, solid_angle=None, semi_angle=None, temperature=None)
Describes the type and configuration of a cathodoluminescence
spectrometer.
Note
If the spectrometer is operating as a monochromator (e.g.
monochromatic CL mapping), the calibration definition shall be of
type CalibrationConstant.
Parameters: |
- channel_count – number of channels (required)
- calibration (_Calibration) – calibration (required)
- grating_d – grading spacing (optional)
- mode (collection) – mode of collection, either
COLLECTION_MODE_PARALLEL or
COLLECTION_MODE_SERIAL (optional)
- signal_type – type of signal (optional)
- manufacturer – manufacturer (optional)
- model – model (optional)
- serial_number – serial number (optional)
- measurement_unit – measurement unit (optional)
- elevation – elevation (optional)
- azimuth – azimuth (optional)
- distance – distance (optional)
- area – area (optional)
- solid_angle – solid angle (optional)
- semi_angle – semi-angle (optional)
- temperature – temperature (optional)
|
-
CLASS = 'Spectrometer/CL'
-
TEMPLATE = 'Detector'
-
area
area
-
azimuth
azimuth
-
calibration
calibration
-
channel_count
number of channels
-
collection_mode
mode of collection
-
distance
distance
-
elevation
elevation
-
get_area(instance)
-
get_azimuth(instance)
-
get_calibration(instance)
-
get_channel_count(instance)
-
get_collection_mode(instance)
-
get_distance(instance)
-
get_elevation(instance)
-
get_grating_d(instance)
-
get_manufacturer(instance)
-
get_measurement_unit(instance)
-
get_model(instance)
-
get_semi_angle(instance)
-
get_serial_number(instance)
-
get_signal_type(instance)
-
get_solid_angle(instance)
-
get_temperature(instance)
-
grating_d
grating spacing
-
manufacturer
manufacturer
-
measurement_unit
measurement unit
-
model
model
-
semi_angle
semi-angle
-
serial_number
serial number
-
set_area(instance, value, unit=None)
-
set_azimuth(instance, value, unit=None)
-
set_calibration(instance, value)
-
set_channel_count(instance, value, unit=None)
-
set_collection_mode(instance, value)
-
set_distance(instance, value, unit=None)
-
set_elevation(instance, value, unit=None)
-
set_grating_d(instance, value, unit=None)
-
set_manufacturer(instance, value)
-
set_measurement_unit(instance, value)
-
set_model(instance, value)
-
set_semi_angle(instance, value, unit=None)
-
set_serial_number(instance, value)
-
set_signal_type(instance, value)
-
set_solid_angle(instance, value, unit=None)
-
set_temperature(instance, value, unit=None)
-
signal_type
type of signal
-
solid_angle
solid angle
-
temperature
temperature
-
class pyhmsa.spec.condition.detector.DetectorSpectrometerWDS(channel_count, calibration, collection_mode=None, dispersion_element=None, crystal_2d=None, rowland_circle_diameter=None, pulse_height_analyser=None, window=None, signal_type=None, manufacturer=None, model=None, serial_number=None, measurement_unit='counts', elevation=None, azimuth=None, distance=None, area=None, solid_angle=None, semi_angle=None, temperature=None)
Describes the type and configuration of a wavelength dispersive x-ray
spectrometer.
Note
If the spectrometer is operating as a monochromator (e.g. WDS
mapping), the calibration definition shall be of type
CalibrationConstant.
Parameters: |
- channel_count – number of channels (required)
- calibration (_Calibration) – calibration (required)
- mode (collection) – mode of collection, either
COLLECTION_MODE_PARALLEL or
COLLECTION_MODE_SERIAL (optional)
- element (dispersion_element) – dispersion element (optional)
- crystal_2d – crystal 2d-spacing (optional)
- rowland_circle_diameter – Rowland circle diameter (optional)
- pulse_height_analyser (PulseHeightAnalyser) – pulse height analyser (optional)
- window (Layer) – window (optional)
- signal_type – type of signal (optional)
- manufacturer – manufacturer (optional)
- model – model (optional)
- serial_number – serial number (optional)
- measurement_unit – measurement unit (optional)
- elevation – elevation (optional)
- azimuth – azimuth (optional)
- distance – distance (optional)
- area – area (optional)
- solid_angle – solid angle (optional)
- semi_angle – semi-angle (optional)
- temperature – temperature (optional)
|
-
CLASS = 'Spectrometer/WDS'
-
TEMPLATE = 'Detector'
-
area
area
-
azimuth
azimuth
-
calibration
calibration
-
channel_count
number of channels
-
collection_mode
mode of collection
-
crystal_2d
crystal 2d-spacing
-
dispersion_element
dispersion element
-
distance
distance
-
elevation
elevation
-
get_area(instance)
-
get_azimuth(instance)
-
get_calibration(instance)
-
get_channel_count(instance)
-
get_collection_mode(instance)
-
get_crystal_2d(instance)
-
get_dispersion_element(instance)
-
get_distance(instance)
-
get_elevation(instance)
-
get_manufacturer(instance)
-
get_measurement_unit(instance)
-
get_model(instance)
-
get_pulse_height_analyser(instance)
-
get_rowland_circle_diameter(instance)
-
get_semi_angle(instance)
-
get_serial_number(instance)
-
get_signal_type(instance)
-
get_solid_angle(instance)
-
get_temperature(instance)
-
get_window(instance)
-
manufacturer
manufacturer
-
measurement_unit
measurement unit
-
model
model
-
pulse_height_analyser
pulse height analyzer
-
rowland_circle_diameter
Rowland circle diameter
-
semi_angle
semi-angle
-
serial_number
serial number
-
set_area(instance, value, unit=None)
-
set_azimuth(instance, value, unit=None)
-
set_calibration(instance, value)
-
set_channel_count(instance, value, unit=None)
-
set_collection_mode(instance, value)
-
set_crystal_2d(instance, value, unit=None)
-
set_dispersion_element(instance, value)
-
set_distance(instance, value, unit=None)
-
set_elevation(instance, value, unit=None)
-
set_manufacturer(instance, value)
-
set_measurement_unit(instance, value)
-
set_model(instance, value)
-
set_pulse_height_analyser(instance, value)
-
set_rowland_circle_diameter(instance, value, unit=None)
-
set_semi_angle(instance, value, unit=None)
-
set_serial_number(instance, value)
-
set_signal_type(instance, value)
-
set_solid_angle(instance, value, unit=None)
-
set_temperature(instance, value, unit=None)
-
set_window(instance, value)
-
signal_type
type of signal
-
solid_angle
solid angle
-
temperature
temperature
-
window
window
-
class pyhmsa.spec.condition.detector.DetectorSpectrometerXEDS(channel_count, calibration, collection_mode=None, technology=None, nominal_throughput=None, time_constant=None, strobe_rate=None, window=None, signal_type=None, manufacturer=None, model=None, serial_number=None, measurement_unit='counts', elevation=None, azimuth=None, distance=None, area=None, solid_angle=None, semi_angle=None, temperature=None)
Describes the type and configuration of an energy dispersive x-ray
spectrometer.
Parameters: |
- channel_count – number of channels (required)
- calibration (_Calibration) – calibration (required)
- mode (collection) – mode of collection, either
COLLECTION_MODE_PARALLEL or
COLLECTION_MODE_SERIAL (optional)
- technology – technology (optional)
- nominal_throughput – nominal throughput (optional)
- time_constant – time constant (optional)
- strobe_rate – strobe rate (optional)
- window (Layer) – window (optional)
- signal_type – type of signal (optional)
- manufacturer – manufacturer (optional)
- model – model (optional)
- serial_number – serial number (optional)
- measurement_unit – measurement unit (optional)
- elevation – elevation (optional)
- azimuth – azimuth (optional)
- distance – distance (optional)
- area – area (optional)
- solid_angle – solid angle (optional)
- semi_angle – semi-angle (optional)
- temperature – temperature (optional)
|
-
CLASS = 'Spectrometer/XEDS'
-
TEMPLATE = 'Detector'
-
area
area
-
azimuth
azimuth
-
calibration
calibration
-
channel_count
number of channels
-
collection_mode
mode of collection
-
distance
distance
-
elevation
elevation
-
get_area(instance)
-
get_azimuth(instance)
-
get_calibration(instance)
-
get_channel_count(instance)
-
get_collection_mode(instance)
-
get_distance(instance)
-
get_elevation(instance)
-
get_manufacturer(instance)
-
get_measurement_unit(instance)
-
get_model(instance)
-
get_nominal_throughput(instance)
-
get_semi_angle(instance)
-
get_serial_number(instance)
-
get_signal_type(instance)
-
get_solid_angle(instance)
-
get_strobe_rate(instance)
-
get_technology(instance)
-
get_temperature(instance)
-
get_time_constant(instance)
-
get_window(instance)
-
manufacturer
manufacturer
-
measurement_unit
measurement unit
-
model
model
-
nominal_throughput
nominal throughput
-
semi_angle
semi-angle
-
serial_number
serial number
-
set_area(instance, value, unit=None)
-
set_azimuth(instance, value, unit=None)
-
set_calibration(instance, value)
-
set_channel_count(instance, value, unit=None)
-
set_collection_mode(instance, value)
-
set_distance(instance, value, unit=None)
-
set_elevation(instance, value, unit=None)
-
set_manufacturer(instance, value)
-
set_measurement_unit(instance, value)
-
set_model(instance, value)
-
set_nominal_throughput(instance, value, unit=None)
-
set_semi_angle(instance, value, unit=None)
-
set_serial_number(instance, value)
-
set_signal_type(instance, value)
-
set_solid_angle(instance, value, unit=None)
-
set_strobe_rate(instance, value, unit=None)
-
set_technology(instance, value)
-
set_temperature(instance, value, unit=None)
-
set_time_constant(instance, value, unit=None)
-
set_window(instance, value)
-
signal_type
type of signal
-
solid_angle
solid angle
-
strobe_rate
strobe rate
-
technology
technology
-
temperature
temperature
-
time_constant
time constant
-
window
window