pub struct BadPixelProcessor { /* private fields */ }Expand description
Processor that corrects bad pixels in incoming arrays.
Implementations§
Source§impl BadPixelProcessor
impl BadPixelProcessor
Sourcepub fn load_from_json(json_str: &str) -> Result<Vec<BadPixel>, Error>
pub fn load_from_json(json_str: &str) -> Result<Vec<BadPixel>, Error>
Parse a bad pixel list from a JSON string in the C++ AreaDetector
{"Bad pixels": [...]} format.
As in C++ readBadPixelFile, when multiple correction keys are present
the precedence is Median, then Set, then Replace (the later key wins).
An entry with no correction key defaults to Set { value: 0.0 }.
Sourcepub fn set_pixels(&mut self, pixels: Vec<BadPixel>)
pub fn set_pixels(&mut self, pixels: Vec<BadPixel>)
Replace the bad pixel list.
Trait Implementations§
Source§impl NDPluginProcess for BadPixelProcessor
impl NDPluginProcess for BadPixelProcessor
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) -> AsynResult<()>
fn register_params(&mut self, base: &mut PortDriverBase) -> AsynResult<()>
Register plugin-specific params on the base. Called once during construction.
Source§fn on_param_change(
&mut self,
reason: usize,
params: &PluginParamSnapshot,
) -> ParamChangeResult
fn on_param_change( &mut self, reason: usize, params: &PluginParamSnapshot, ) -> ParamChangeResult
Called when a param changes. Reason is the param index.
Return param updates to be written back to the port driver.
Source§fn compression_aware(&self) -> bool
fn compression_aware(&self) -> bool
Whether this plugin can process compressed (
codec != None) arrays
(C++ compressionAware_, G3). Defaults to false: a plugin that
operates on raw pixels must not be handed compressed bytes — the
runtime drops compressed input and counts it into DroppedArrays.
A codec/file plugin that understands compressed data overrides this.Auto Trait Implementations§
impl Freeze for BadPixelProcessor
impl RefUnwindSafe for BadPixelProcessor
impl Send for BadPixelProcessor
impl Sync for BadPixelProcessor
impl Unpin for BadPixelProcessor
impl UnsafeUnpin for BadPixelProcessor
impl UnwindSafe for BadPixelProcessor
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