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<u64>,
pub block_id: Option<u64>,
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: CamNumThe number of the camera.
frame: i64The 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>Timestamp when the camera received the frame.
device_timestamp: Option<u64>Timestamp from the camera.
block_id: Option<u64>Frame number from the camera.
Note that this is not the synchronized frame number, which is Self::frame.
x: f64The X (horizontal) coordinate of the detection, in camera pixels.
y: f64The Y (vertical) coordinate of the detection, in camera pixels.
area: f64The area of the detection, in camera pixels^2.
slope: f64The slope of the detection.
The orientation, modulo 𝜋, of the detection, is atan(slope).
eccentricity: f64The eccentricity of the detection.
frame_pt_idx: u8The 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: u8Current pixel value.
mean_val: f64Mean pixel value.
sumsqf_val: f64Sum of squares of pixel values.
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 UnsafeUnpin 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> 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> Preferences for Twhere
T: Serialize + DeserializeOwned,
impl<T> Preferences for Twhere
T: Serialize + DeserializeOwned,
Source§fn save<S>(&self, app: &AppInfo, key: S) -> Result<(), PreferencesError>
fn save<S>(&self, app: &AppInfo, key: S) -> Result<(), PreferencesError>
Source§fn load<S>(app: &AppInfo, key: S) -> Result<T, PreferencesError>
fn load<S>(app: &AppInfo, key: S) -> Result<T, PreferencesError>
key. This is
an instance method which completely overwrites the object’s state with the serialized
data. Thus, it is recommended that you call this method immediately after instantiating
the preferences object. Read more