Detectors¶
Module for describing the detection of transmitted waves and different detector types.
-
class
abtem.detect.AbstractDetector(max_detected_angle=None, save_file=None)[source]¶ Abstract base class for all detectors.
-
property
save_file¶ The path to the file for saving the detector output.
- Return type:
str
-
property
-
class
abtem.detect.AnnularDetector(inner, outer, offset=None, save_file=None)[source]¶ Annular detector object.
The annular detector integrates the intensity of the detected wave functions between an inner and outer integration limit.
- Parameters:
inner (float) – Inner integration limit [mrad].
outer (float) – Outer integration limit [mrad].
offset (two float, optional) – Center offset of integration region [mrad].
save_file (str, optional) – The path to the file for saving the detector output.
-
allocate_measurement(waves, scan=None)¶ Allocate a Measurement object or an hdf5 file.
- Parameters:
waves (Waves object) – An example of the
scan (Scan object) – The scan object that will define the scan dimensions the measurement.
- Returns:
The allocated measurement or path to hdf5 file with the measurement data.
- Return type:
Measurement object or str
-
detect(waves)[source]¶ Integrate the intensity of a the wave functions over the detector range.
- Parameters:
waves (Waves object) – The batch of wave functions to detect.
- Returns:
Detected values as a 1D array. The array has the same length as the batch size of the wave functions.
- Return type:
1d array
-
property
inner¶ Inner integration limit [mrad].
- Return type:
float
-
integrate(diffraction_patterns)[source]¶ Integrate diffraction pattern measurements on the detector region.
- Parameters:
diffraction_patterns (2d, 3d or 4d Measurement object) – The collection diffraction patterns to be integrated.
- Returns:
- Return type:
-
property
outer¶ Outer integration limit [mrad].
- Return type:
float
-
property
save_file¶ The path to the file for saving the detector output.
- Return type:
str
-
show(waves, **kwargs)¶ Visualize the detector region(s) of the detector as applied to a specified wave function.
- Parameters:
waves (Waves or SMatrix object) – The wave function the visualization will be created to match
kwargs – Additional keyword arguments for abtem.visualize.mpl.show_measurement_2d.
-
class
abtem.detect.FlexibleAnnularDetector(step_size=1.0, save_file=None)[source]¶ Flexible annular detector object.
The FlexibleAnnularDetector object allows choosing the integration limits after running the simulation by radially binning the intensity.
- Parameters:
step_size (float) – The radial separation between integration regions [mrad].
save_file (str) – The path to the file used for saving the detector output.
-
allocate_measurement(waves, scan=None)¶ Allocate a Measurement object or an hdf5 file.
- Parameters:
waves (Waves object) – An example of the
scan (Scan object) – The scan object that will define the scan dimensions the measurement.
- Returns:
The allocated measurement or path to hdf5 file with the measurement data.
- Return type:
Measurement object or str
-
detect(waves)[source]¶ Integrate the intensity of a the wave functions over the detector range.
- Parameters:
waves (Waves object) – The batch of wave functions to detect.
- Returns:
Detected values. The array has shape of (batch size, number of bins).
- Return type:
2d array
-
property
save_file¶ The path to the file for saving the detector output.
- Return type:
str
-
show(waves, **kwargs)¶ Visualize the detector region(s) of the detector as applied to a specified wave function.
- Parameters:
waves (Waves or SMatrix object) – The wave function the visualization will be created to match
kwargs – Additional keyword arguments for abtem.visualize.mpl.show_measurement_2d.
-
property
step_size¶ Step size [mrad].
- Return type:
float
-
class
abtem.detect.PixelatedDetector(max_angle='valid', resample=False, mode='intensity', save_file=None)[source]¶ Pixelated detector object.
The pixelated detector records the intensity of the Fourier-transformed exit wavefunction. This may be used for example for simulating 4D-STEM.
- Parameters:
max_angle (str or float or None) – The diffraction patterns will be detected up to this angle. If set to a string it must be ‘limit’ or ‘valid’
resample ('uniform' or False) – If ‘uniform’, the diffraction patterns from rectangular cells will be downsampled to a uniform angular sampling.
mode ('intensity' or 'complex') –
save_file (str) – The path to the file used for saving the detector output.
-
allocate_measurement(waves, scan=None)[source]¶ Allocate a Measurement object or an hdf5 file.
- Parameters:
waves (Waves or SMatrix object) – The wave function that will define the shape of the diffraction patterns.
scan (Scan object) – The scan object that will define the scan dimensions the measurement.
- Returns:
The allocated measurement or path to hdf5 file with the measurement data.
- Return type:
Measurement object or str
-
detect(waves)[source]¶ Calculate the far field intensity of the wave functions. The output is cropped to include the non-suppressed frequencies from the antialiased 2D fourier spectrum.
- Parameters:
waves (Waves object) – The batch of wave functions to detect.
- Return type:
ndarray- Returns:
Detected values. The first dimension indexes the batch size, the second and third indexes the two components
of the spatial frequency.
-
property
save_file¶ The path to the file for saving the detector output.
- Return type:
str
-
class
abtem.detect.SegmentedDetector(inner, outer, nbins_radial, nbins_angular, rotation=0.0, save_file=None)[source]¶ Segmented detector object.
The segmented detector covers an annular angular range, and is partitioned into several integration regions divided to radial and angular segments. This can be used for simulating differential phase contrast (DPC) imaging.
- Parameters:
inner (float) – Inner integration limit [mrad].
outer (float) – Outer integration limit [mrad].
nbins_radial (int) – Number of radial bins.
nbins_angular (int) – Number of angular bins.
save_file (str) – The path to the file used for saving the detector output.
-
allocate_measurement(waves, scan=None)¶ Allocate a Measurement object or an hdf5 file.
- Parameters:
waves (Waves object) – An example of the
scan (Scan object) – The scan object that will define the scan dimensions the measurement.
- Returns:
The allocated measurement or path to hdf5 file with the measurement data.
- Return type:
Measurement object or str
-
detect(waves)[source]¶ Integrate the intensity of a the wave functions over the detector range.
- Parameters:
waves (Waves object) – The batch of wave functions to detect.
- Returns:
Detected values. The first dimension indexes the batch size, the second and third indexes the radial and angular bins, respectively.
- Return type:
3d array
-
property
inner¶ Inner integration limit [mrad].
- Return type:
float
-
property
nbins_angular¶ Number of angular bins.
- Return type:
int
-
property
nbins_radial¶ Number of radial bins.
- Return type:
int
-
property
outer¶ Outer integration limit [mrad].
- Return type:
float
-
property
save_file¶ The path to the file for saving the detector output.
- Return type:
str
-
show(waves, **kwargs)¶ Visualize the detector region(s) of the detector as applied to a specified wave function.
- Parameters:
waves (Waves or SMatrix object) – The wave function the visualization will be created to match
kwargs – Additional keyword arguments for abtem.visualize.mpl.show_measurement_2d.
-
class
abtem.detect.WavefunctionDetector(save_file=None)[source]¶ Wave function detector object
The wave function detector records the raw exit wave functions.
- Parameters:
save_file (str) – The path to the file used for saving the detector output.
-
allocate_measurement(waves, scan)[source]¶ Allocate a Measurement object or an hdf5 file.
- Parameters:
waves (Waves or SMatrix object) – The wave function that will define the shape of the diffraction patterns.
scan (Scan object) – The scan object that will define the scan dimensions the measurement.
- Returns:
The allocated measurement or path to hdf5 file with the measurement data.
- Return type:
Measurement object or str
-
detect(waves)[source]¶ Detect the complex wave function.
- Parameters:
waves (Waves object) – The batch of wave functions to detect.
- Returns:
The arrays of the Waves object.
- Return type:
3d complex array
-
property
save_file¶ The path to the file for saving the detector output.
- Return type:
str