Measurement¶
Module to describe the detection of scattered electron waves.
-
class
abtem.measure.Calibration(offset, sampling, units, name='', endpoint=True, adjustable=True)[source]¶ Calibration object
The calibration object represents the sampling of a uniformly sampled Measurement.
- Parameters:
offset (float) – The lower bound of the sampling points.
sampling (float) – The distance between sampling points.
units (str) – The units of the calibration shown in plots.
name (str) – The name of this calibration to be shown in plots.
-
class
abtem.measure.Measurement(array, calibrations=None, units='', name='', base_dimensions=2)[source]¶ Measurement object.
The measurement object is used for representing the output of a TEM simulation. For example a line profile, an image or a collection of diffraction patterns.
- Parameters:
array (ndarray) – The array representing the measurements. The array can be any dimension.
calibrations (list of Calibration objects) – The calibration for each dimension of the measurement array.
units (str) – The units of the array values to be displayed in plots.
name (str) – The name of the array values to be displayed in plots.
-
property
array¶ Array of measurements.
- Return type:
ndarray
-
property
calibrations¶ The measurement calibrations.
- Return type:
Tuple[Optional[Calibration]]
-
diffractograms(axes=None, energy=None)[source]¶ Calculate the diffractograms of this measurement.
- Parameters:
axes (list of int) – The axes to Fourier transform.
- Returns:
- Return type:
-
property
dimensions¶ The measurement dimensions.
- Return type:
int
-
gaussian_filter(sigma, padding_mode='wrap')[source]¶ Apply gaussian filter to measurement.
- Parameters:
sigma (float or sequence of float) – Standard deviation for Gaussian kernel. The standard deviations of the Gaussian filter are given for each axis as a sequence, or as a single number, in which case it is equal for all axes.
padding_mode (
str) – The padding_mode parameter determines how the input array is padded at the border. Different modes can be specified along each axis. Default value is ‘wrap’.
- Returns:
Blurred measurement.
- Return type:
-
integrate(start, end, axis=- 1, interactive=False)[source]¶ Perform 1d integration measurement from e.g. the FlexibleAnnularDetector
- Parameters:
start (float) – Lower limit of integral in units of the calibration of the given axis.
end (float) – Upper limit of integral in units of the calibration of the given axis.
axis (int) – The
- Returns:
Integrated measurement.
- Return type:
-
interpolate(new_sampling=None, new_gpts=None, padding='wrap', kind=None, axes=None)[source]¶ Interpolate a 2d measurement.
- Parameters:
new_sampling (one or two float, optional) – Target measurement sampling. Same units as measurement calibrations.
new_gpts (one or two int, optional) – Target measurement gpts.
padding (str, optional) – The padding mode as used by numpy.pad.
kind (str, optional) – The kind of spline interpolation to use. Default is ‘quintic’.
- Returns:
Interpolated measurement
- Return type:
Measurement object
-
interpolate_line(start, end=None, angle=0.0, gpts=None, sampling=None, width=None, margin=0.0, endpoint=True, interpolation_method='splinef2d')[source]¶ Interpolate 2d measurement along a line.
- Parameters:
start (two float, Atom) – Start point on line [Å].
end (two float, Atom, optional) – End point on line [Å].
angle (float, optional) – The angle of the line. This is only used when an “end” is not give.
gpts (int) – Number of grid points along line.
sampling (float) – Sampling rate of grid points along line [1 / Å].
width (float, optional) – The interpolation will be averaged across line of this width.
margin (float, optional) – The line will be extended by this amount at both ends.
interpolation_method (str, optional) – The interpolation method.
- Returns:
Line profile measurement.
- Return type:
-
mean(axis)[source]¶ Mean of measurement elements over a given axis.
- Parameters:
axis (int or tuple of ints) – Axis or axes along which a sum is performed. If axis is negative it counts from the last to the first axis.
- Returns:
A measurement with the same shape, but with the specified axis removed.
- Return type:
Measurement object
-
property
name¶ The name of the array values to be displayed in plots.
- Return type:
str
-
classmethod
read(path)[source]¶ Read measurement from a hdf5 file.
- path: str
The path to read the file.
- Return type:
-
save_as_image(path)[source]¶ Write the measurement array to an image file. The array will be normalized and converted to 16-bit integers.
- path: str
The path to write the file.
-
property
shape¶ The shape of the measurement array.
- Return type:
Tuple[int]
-
show(ax=None, interact=False, **kwargs)[source]¶ Show the measurement.
- Parameters:
kwargs – Additional keyword arguments for the abtem.plot.show_image function.
-
sum(axis)[source]¶ Sum of measurement elements over a given axis.
- Parameters:
axis (int or tuple of ints) – Axis or axes along which a sum is performed. If axis is negative it counts from the last to the first axis.
- Returns:
A measurement with the same shape, but with the specified axis removed.
- Return type:
-
tile(multiples)[source]¶ Construct a measurement by repeating the measurement number of times given by multiples.
- Parameters:
multiples (sequence of int) – The number of repetitions of the measurement along each axis.
- Returns:
The tiled potential.
- Return type:
Measurement object
-
to_hyperspy(signal_type=None)[source]¶ Changes the Measurement object to a hyperspy.BaseSignal Object or a defined signal type.
- signal_type: str
The signal type alias for some signal type
-
property
units¶ The units of the array values to be displayed in plots.
- Return type:
str
-
abtem.measure.bandlimit(measurement, cutoff, taper=0.1, band_type='lowpass')[source]¶ Bandlimit a collection of diffraction patterns.
- Parameters:
measurement (Measurement) – Collection of diffraction patterns.
cutoff (float) – The cutoff radius in mrad.
taper (float) – Taper the bandlimiting window to avoid a sharp cutoff.
- Returns:
Bandlimited measurement.
- Return type:
-
abtem.measure.block_zeroth_order_spot(diffraction_pattern, angular_radius=1)[source]¶ Set the zero’th order spot of a diffraction pattern to zero.
- Parameters:
diffraction_pattern (Measurement) – Measurement representing one or more diffraction patterns.
angular_radius (float) – The radius of the disk-shaped region set to zero.
- Returns:
- Return type:
-
abtem.measure.calculate_fwhm(probe_profile)[source]¶ Calculate the full width at half maximum of a 1d measurement, typically a probe profile.
- Parameters:
probe_profile (Measurement) – Probe profile measurement.
- Returns:
- Return type:
float
-
abtem.measure.calibrations_from_grid(gpts, sampling, names=None, units=None, fourier_space=False, scale_factor=1.0)[source]¶ Returns the spatial calibrations for a given computational grid and sampling.
- Parameters:
gpts (list of int) – Number of grid points in the x and y directions.
sampling (list of float) – Sampling of the potential in Å.
names (list of str, optional) – The name of this calibration.
units (str, optional) – Units for the calibration.
fourier_space (bool, optional) – Setting for calibrating either in the reciprocal or real space. Default is False.
scale_factor (float, optional) – Scaling factor for the calibration. Default is 1.0.
- Returns:
calibrations
- Return type:
Tuple of Calibrations
-
abtem.measure.center_of_mass(measurement, return_magnitude=False, return_icom=False)[source]¶ Calculate the center of mass of a measurement.
- Parameters:
measurement (Measurement) – A collection of diffraction patterns.
return_icom (bool) – If true, return the integrated center of mass.
- Returns:
- Return type:
-
abtem.measure.fourier_space_offset(n, d)[source]¶ Calculate the calibration offset of a Fourier space measurement.
- Parameters:
n (int) – Number of sampling points.
d (float) – Real space sampling density.
-
abtem.measure.integrate_disc(image, position, radius, return_mean=True, border='wrap', interpolate=0.01)[source]¶ Integrate the values of a 2d measurement on a disc-shaped region.
- Parameters:
position (two floats) – Center of disc-shaped integration region
measurement (2d measurement) – The measurement to integrate
radius (float) – Radius of disc-shaped integration region
return_mean (bool) – If true return the mean, otherwise return the sum.
border (str) –
Specify how to treat integration regions that cross the image border. The valid values and their behaviour is: ‘wrap’
The measurement is extended by wrapping around to the opposite edge.
- ’raise’
Raise an error if the integration region crosses the measurement border.
interpolate (float or False) – The image will be interpolated to this sampling. Units of Angstrom.
- Returns:
Integral value
- Return type:
float
-
abtem.measure.intgrad2d(gradient, sampling=None)[source]¶ Perform Fourier-space integration of gradient.
- Parameters:
gradient (two np.ndarrays) – The x- and y-components of the gradient.
sampling (two float) – Lateral sampling of the gradients. Default is 1.0.
- Returns:
Integrated center of mass measurement
- Return type:
np.ndarray
-
abtem.measure.probe_profile(probe_measurement, angle=0.0)[source]¶ Return the profile of a probe given a 2d measurement of that probe.
- Parameters:
probe_measurement (Measurement) – 2d measurement of the centered intensity of an electron probe.
angle (float) – The angle at which to interpolate the profile.
- Returns:
1d measurement of the probe profile.
- Return type:
-
abtem.measure.rotational_average(measurement)[source]¶ Calculate the rotational average of a measurement.
- Parameters:
measurement (Measurement) – 2d measurement of calculate the rotational average from.
- Returns:
1d rotational average of a 2d measurement.
- Return type: