pub struct MapMeasurement<'a> {Show 19 fields
pub time_edges_us: Vec<f64>,
pub charge_ratio: f64,
pub normalization: Value,
pub time_background: [Value; 3],
pub room_background: Option<RoomBackground>,
pub open_counts: ArrayView3<'a, f64>,
pub sample_counts: ArrayView3<'a, f64>,
pub open_live: Option<Vec<f64>>,
pub sample_live: Option<Vec<f64>>,
pub excluded: ArrayView2<'a, bool>,
pub sample: ArrayView2<'a, bool>,
pub empty: ArrayView2<'a, bool>,
pub binning: usize,
pub material: Material,
pub background: [Value; 5],
pub gamma_transmission: Value,
pub capture_gammas: Value,
pub in_scatter: Value,
pub empty_background: [Value; 5],
}Expand description
The counts of every pixel of an open-beam run and a sample run recorded in the same time bins, which pixels to fit, and the material behind the sample.
Fields§
§time_edges_us: Vec<f64>Time-bin edges in µs.
charge_ratio: f64c_q, the sample run’s proton charge over the open-beam run’s.
normalization: Valuea, the normalization of the sample run, the same in every pixel.
time_background: [Value; 3][C, A, τ] of the time background per pixel, as
Measurement::time_background, the same in every pixel;
NO_TIME_BACKGROUND gives
none.
room_background: Option<RoomBackground>Counts that follow each run’s duration, as
Measurement::room_background, the same in every pixel.
open_counts: ArrayView3<'a, f64>Raw counts of the open-beam run, in (time bin, row, column).
sample_counts: ArrayView3<'a, f64>Raw counts of the sample run, in (time bin, row, column).
open_live: Option<Vec<f64>>The fraction of the open-beam run’s neutrons arriving in each bin that
every pixel records, in (0, 1]; None records every one.
sample_live: Option<Vec<f64>>The fraction of the sample run’s neutrons arriving in each bin that
every pixel records, in (0, 1]; None records every one.
excluded: ArrayView2<'a, bool>Pixels left out of both runs, in (row, column).
sample: ArrayView2<'a, bool>Pixels behind the sample, in (row, column).
empty: ArrayView2<'a, bool>Pixels the beam reaches through nothing and the sample scatters no neutrons into, in (row, column).
binning: usizeThe side of a square patch, in pixels.
material: MaterialThe material behind the sample: its isotopes’ densities and its temperature, known, fitted or within bounds, in every patch.
background: [Value; 5][b0, b1, b2, d, f] of the background of every patch behind the
sample, as Region::background, known, fitted or within bounds.
gamma_transmission: ValueThe fraction of the time background that reaches the pixels behind the
sample in the sample run, as Region::gamma_transmission, known,
fitted or within bounds in every patch; the empty pixels take 1.
capture_gammas: ValueThe capture gammas’ ε of every patch behind the sample, as
Region::capture_gammas, known, fitted or within bounds; the empty
pixels hold no sample and record none.
in_scatter: ValueThe in-scatter’s Ω of every patch behind the sample, as
Region::in_scatter, known, fitted or within bounds; the empty
pixels hold no sample and record none.
empty_background: [Value; 5][b0, b1, b2, d, f] of the background of the empty pixels.
Implementations§
Source§impl MapMeasurement<'_>
impl MapMeasurement<'_>
Sourcepub fn patches(&self) -> Result<Array2<Patch>, PipelineError>
pub fn patches(&self) -> Result<Array2<Patch>, PipelineError>
Each patch’s kind, in (patch row, patch column); patch (i, j) holds
the pixels from (i·binning, j·binning) up to the next patch or the
image’s edge.
§Errors
PipelineError::ShapeMismatch unless both runs’ counts have one time
bin per pair of edges and the same rows and columns as the three
masks; PipelineError::InvalidParameter if binning is 0.
Trait Implementations§
Source§impl<'a> Clone for MapMeasurement<'a>
impl<'a> Clone for MapMeasurement<'a>
Source§fn clone(&self) -> MapMeasurement<'a>
fn clone(&self) -> MapMeasurement<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<'a> Freeze for MapMeasurement<'a>
impl<'a> RefUnwindSafe for MapMeasurement<'a>
impl<'a> Send for MapMeasurement<'a>
impl<'a> Sync for MapMeasurement<'a>
impl<'a> Unpin for MapMeasurement<'a>
impl<'a> UnsafeUnpin for MapMeasurement<'a>
impl<'a> UnwindSafe for MapMeasurement<'a>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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