pub struct ROIStatProcessor { /* private fields */ }Expand description
Processor that computes ROI statistics on 2D arrays.
Implementations§
Source§impl ROIStatProcessor
impl ROIStatProcessor
Sourcepub fn new(rois: Vec<ROIStatROI>, ts_num_points: usize) -> Self
pub fn new(rois: Vec<ROIStatROI>, ts_num_points: usize) -> Self
Create a new processor with the given ROI definitions.
Sourcepub fn params_handle(&self) -> Arc<Mutex<ROIStatParams>>
pub fn params_handle(&self) -> Arc<Mutex<ROIStatParams>>
Get a shared handle to the params (populated after register_params is called).
Sourcepub fn results(&self) -> &[ROIStatResult]
pub fn results(&self) -> &[ROIStatResult]
Get the current results for all ROIs.
Sourcepub fn rois(&self) -> &[ROIStatROI]
pub fn rois(&self) -> &[ROIStatROI]
Get the ROI definitions.
Sourcepub fn rois_mut(&mut self) -> &mut Vec<ROIStatROI>
pub fn rois_mut(&mut self) -> &mut Vec<ROIStatROI>
Mutable access to ROI definitions.
Sourcepub fn set_ts_mode(&mut self, mode: TSMode)
pub fn set_ts_mode(&mut self, mode: TSMode)
Set the time series mode.
Sourcepub fn ts_buffer(&self, roi_index: usize, stat_index: usize) -> &[f64]
pub fn ts_buffer(&self, roi_index: usize, stat_index: usize) -> &[f64]
Get time series buffer for a specific ROI and stat index. stat_index: 0=min, 1=max, 2=mean, 3=total, 4=net
Sourcepub fn set_ts_sender(&mut self, sender: TimeSeriesSender)
pub fn set_ts_sender(&mut self, sender: TimeSeriesSender)
Set the sender for pushing time series data to a TimeSeriesPortDriver.
Sourcepub fn compute_roi_stats(
data: &NDDataBuffer,
x_size: usize,
y_size: usize,
roi: &ROIStatROI,
) -> ROIStatResult
pub fn compute_roi_stats( data: &NDDataBuffer, x_size: usize, y_size: usize, roi: &ROIStatROI, ) -> ROIStatResult
Compute statistics for a single ROI on a 2D data buffer.
Trait Implementations§
Source§impl NDPluginProcess for ROIStatProcessor
impl NDPluginProcess for ROIStatProcessor
Source§fn process_array(
&mut self,
array: &NDArray,
_pool: &NDArrayPool,
) -> ProcessResult
fn process_array( &mut self, array: &NDArray, _pool: &NDArrayPool, ) -> ProcessResult
Process one array. Return output arrays and param updates.
Source§fn plugin_type(&self) -> &str
fn plugin_type(&self) -> &str
Plugin type name for PLUGIN_TYPE param.
Source§fn register_params(
&mut self,
base: &mut PortDriverBase,
) -> Result<(), AsynError>
fn register_params( &mut self, base: &mut PortDriverBase, ) -> Result<(), AsynError>
Register plugin-specific params on the base. Called once during construction.
Source§fn on_param_change(&mut self, reason: usize, snapshot: &PluginParamSnapshot)
fn on_param_change(&mut self, reason: usize, snapshot: &PluginParamSnapshot)
Called when a param changes. Reason is the param index.
Auto Trait Implementations§
impl Freeze for ROIStatProcessor
impl !RefUnwindSafe for ROIStatProcessor
impl Send for ROIStatProcessor
impl Sync for ROIStatProcessor
impl Unpin for ROIStatProcessor
impl UnsafeUnpin for ROIStatProcessor
impl !UnwindSafe for ROIStatProcessor
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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