Struct flydra_types::Data2dDistortedRow
source · pub struct Data2dDistortedRow {Show 15 fields
pub camn: CamNum,
pub frame: i64,
pub timestamp: Option<FlydraFloatTimestampLocal<Triggerbox>>,
pub cam_received_timestamp: FlydraFloatTimestampLocal<HostClock>,
pub device_timestamp: Option<NonZeroU64>,
pub block_id: Option<NonZeroU64>,
pub x: f64,
pub y: f64,
pub area: f64,
pub slope: f64,
pub eccentricity: f64,
pub frame_pt_idx: u8,
pub cur_val: u8,
pub mean_val: f64,
pub sumsqf_val: f64,
}
Expand description
Feature detection data in raw camera coordinates.
Because these are in raw camera coordinates (and thus have not been undistorted with any lens distortion model), they are called “distorted”.
Note that in .braidz
files, subsequent rows on disk are not in general
monotonically increasing in frame number.
See the “Details about how data are processed online and saved for later
analysis” section in the “3D Tracking in Braid” chapter of the User’s
Guide for a description of why
these cannot be relied upon in .braidz
files to be monotonic.
Fields§
§camn: CamNum
The number of the camera.
frame: i64
The synchronized frame number.
This is very likely to be different than Self::block_id, the camera’s internal frame number, because Braid synchronizes the frames so that, e.g. “frame 10” occurred at the same instant across all cameras.
timestamp: Option<FlydraFloatTimestampLocal<Triggerbox>>
This is the trigger timestamp (if available).
cam_received_timestamp: FlydraFloatTimestampLocal<HostClock>
§device_timestamp: Option<NonZeroU64>
Timestamp from the camera.
block_id: Option<NonZeroU64>
Frame number from the camera.
Note that this is not the synchronized frame number, which is Self::frame.
x: f64
The X (horizontal) coordinate of the detection, in camera pixels.
y: f64
The Y (vertical) coordinate of the detection, in camera pixels.
area: f64
The area of the detection, in camera pixels^2.
slope: f64
The slope of the detection.
The orientation, modulo 𝜋, of the detection, is atan(slope)
.
eccentricity: f64
The eccentricity of the detection.
frame_pt_idx: u8
The index of this particular detection within a given frame.
Multiple detections can occur within a single frame, and each succesive detection will have a higher index.
cur_val: u8
§mean_val: f64
§sumsqf_val: f64
Trait Implementations§
source§impl Clone for Data2dDistortedRow
impl Clone for Data2dDistortedRow
source§fn clone(&self) -> Data2dDistortedRow
fn clone(&self) -> Data2dDistortedRow
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for Data2dDistortedRow
impl Debug for Data2dDistortedRow
source§impl<'de> Deserialize<'de> for Data2dDistortedRow
impl<'de> Deserialize<'de> for Data2dDistortedRow
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl From<Data2dDistortedRow> for Data2dDistortedRowF32
impl From<Data2dDistortedRow> for Data2dDistortedRowF32
source§fn from(orig: Data2dDistortedRow) -> Self
fn from(orig: Data2dDistortedRow) -> Self
source§impl Serialize for Data2dDistortedRow
impl Serialize for Data2dDistortedRow
Auto Trait Implementations§
impl Freeze for Data2dDistortedRow
impl RefUnwindSafe for Data2dDistortedRow
impl Send for Data2dDistortedRow
impl Sync for Data2dDistortedRow
impl Unpin for Data2dDistortedRow
impl UnwindSafe for Data2dDistortedRow
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> 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<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.