pub struct Fei1Metadata {Show 51 fields
pub metadata_size: u32,
pub metadata_version: u32,
pub bitmask_1: u32,
pub timestamp: f64,
pub microscope_type: [u8; 16],
pub ht: f64,
pub dose: f64,
pub alpha_tilt: f64,
pub beta_tilt: f64,
pub x_stage: f64,
pub y_stage: f64,
pub z_stage: f64,
pub tilt_axis_angle: f64,
pub pixel_size_x: f64,
pub pixel_size_y: f64,
pub defocus: f64,
pub stem_defocus: f64,
pub applied_defocus: f64,
pub magnification: f64,
pub camera_length: f64,
pub spot_index: i32,
pub illuminated_area: f64,
pub intensity: f64,
pub convergence_angle: f64,
pub slit_width: f64,
pub shift_offset_x: f64,
pub shift_offset_y: f64,
pub shift_x: f64,
pub shift_y: f64,
pub integration_time: f64,
pub binning_width: i32,
pub binning_height: i32,
pub camera_name: [u8; 16],
pub readout_area_left: i32,
pub readout_area_top: i32,
pub readout_area_right: i32,
pub readout_area_bottom: i32,
pub ceta_frames_summed: i32,
pub phase_plate: bool,
pub gain: f64,
pub offset: f64,
pub dwell_time: f64,
pub frame_time: f64,
pub full_scan_fov_x: f64,
pub full_scan_fov_y: f64,
pub is_dose_fraction: bool,
pub fraction_number: i32,
pub start_frame: i32,
pub end_frame: i32,
pub alpha_tilt_min: f64,
pub alpha_tilt_max: f64,
}Expand description
Common FEI1 metadata fields.
Fields are parsed from big-endian bytes following the EPU/Thermo Fisher MRC-2014 specification. Not all 185 fields are exposed; only the most frequently used cryo-EM metadata is included. Access raw bytes for unsupported fields.
Fields§
§metadata_size: u32Size of this FEI1 record in bytes (should be 768).
metadata_version: u32Version number of the metadata format.
bitmask_1: u32Bitmask of acquisition flags (little-endian, unlike the rest of the record).
timestamp: f64Acquisition timestamp as Unix time (seconds since epoch).
microscope_type: [u8; 16]Microscope model name as a null-padded byte string.
ht: f64High tension (acceleration voltage) in kV.
dose: f64Total electron dose in e⁻/Ų.
alpha_tilt: f64Stage alpha (primary) tilt angle in degrees.
beta_tilt: f64Stage beta (secondary) tilt angle in degrees.
x_stage: f64Stage X position in µm.
y_stage: f64Stage Y position in µm.
z_stage: f64Stage Z position in µm.
tilt_axis_angle: f64Tilt axis rotation angle in degrees.
pixel_size_x: f64Pixel size in X in Å.
pixel_size_y: f64Pixel size in Y in Å.
defocus: f64Objective lens defocus in µm.
stem_defocus: f64STEM defocus in µm.
applied_defocus: f64Defocus value applied during acquisition in µm.
magnification: f64Nominal magnification.
camera_length: f64Camera length in mm.
spot_index: i32Selected condenser spot index.
illuminated_area: f64Illuminated area diameter in µm.
intensity: f64Beam intensity setting.
convergence_angle: f64Beam convergence semi-angle in mrad.
slit_width: f64Energy-filter slit width in eV.
shift_offset_x: f64Beam shift offset in X as a fraction of full scale.
shift_offset_y: f64Beam shift offset in Y.
shift_x: f64Beam shift in X.
shift_y: f64Beam shift in Y.
integration_time: f64Exposure/integration time in seconds.
binning_width: i32Horizontal pixel binning factor.
binning_height: i32Vertical pixel binning factor.
camera_name: [u8; 16]Detector/camera name as a null-padded byte string.
readout_area_left: i32Left pixel coordinate of the readout region.
readout_area_top: i32Top pixel coordinate of the readout region.
readout_area_right: i32Right pixel coordinate of the readout region.
readout_area_bottom: i32Bottom pixel coordinate of the readout region.
ceta_frames_summed: i32Number of CETA frames summed into this image.
phase_plate: boolWhether a physical phase plate was inserted.
gain: f64Detector gain factor.
offset: f64Detector offset value.
dwell_time: f64Pixel dwell time in seconds (STEM mode).
frame_time: f64Total frame exposure time in seconds.
full_scan_fov_x: f64Full-scan field of view in X in µm.
full_scan_fov_y: f64Full-scan field of view in Y in µm.
is_dose_fraction: boolWhether dose fractionation was enabled.
fraction_number: i32Fraction index within a dose-fractionated series.
start_frame: i32First frame number of this fraction.
end_frame: i32Last frame number of this fraction.
alpha_tilt_min: f64Minimum alpha tilt angle in degrees (tilt series).
alpha_tilt_max: f64Maximum alpha tilt angle in degrees (tilt series).
Implementations§
Source§impl Fei1Metadata
impl Fei1Metadata
Sourcepub fn from_bytes(bytes: &[u8]) -> Option<Self>
pub fn from_bytes(bytes: &[u8]) -> Option<Self>
Parse a single FEI1 record from bytes.
Returns None if bytes is shorter than FEI1_RECORD_SIZE
or if the metadata_size field does not match the expected record size.
Trait Implementations§
Source§impl Clone for Fei1Metadata
impl Clone for Fei1Metadata
Source§fn clone(&self) -> Fei1Metadata
fn clone(&self) -> Fei1Metadata
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Fei1Metadata
impl Debug for Fei1Metadata
Source§impl PartialEq for Fei1Metadata
impl PartialEq for Fei1Metadata
Source§fn eq(&self, other: &Fei1Metadata) -> bool
fn eq(&self, other: &Fei1Metadata) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for Fei1Metadata
Auto Trait Implementations§
impl Freeze for Fei1Metadata
impl RefUnwindSafe for Fei1Metadata
impl Send for Fei1Metadata
impl Sync for Fei1Metadata
impl Unpin for Fei1Metadata
impl UnsafeUnpin for Fei1Metadata
impl UnwindSafe for Fei1Metadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more