Skip to main content

MotorCorticalUnit

Enum MotorCorticalUnit 

Source
pub enum MotorCorticalUnit {
    RotaryMotor,
    PositionalServo,
    Gaze,
    MiscData,
    TextEnglishOutput,
    CountOutput,
    ObjectSegmentation,
    SimpleVisionOutput,
    PoseEstimation,
    DynamicImageProcessing,
    SpatialPointer,
}

Variants§

§

RotaryMotor

Free spinning motor.

§

PositionalServo

Servo Position, defined by min / max distances. Uses unsigned Percentage (0-100%).

§

Gaze

Gaze control, where the first 2 numbers are the XY center, and the last number is the relative size

§

MiscData

Miscellaneous motor that does not fit existing templates.

§

TextEnglishOutput

Text output (English) - token stream encoded as absolute fractional bitplanes along Z (z=0 is MSB).

§

CountOutput

Count output - unsigned percentage encoding (linear, absolute).

§

ObjectSegmentation

Object semantic segmentation output (bitplane class encoding)

§

SimpleVisionOutput

Visual thoughts output - RGB image generation from brain activity

§

PoseEstimation

Pose estimation output - XY plane encodes joint location, Z depth encodes joint ID. PSP magnitude encodes confidence.

§

DynamicImageProcessing

Image Processing configuration - dynamically control brightness, contrast, and per pixel diff thresholding

§

SpatialPointer

Spatial pointer output - decodes activity into one normalized XYZ percentage tuple.

Implementations§

Source§

impl MotorCorticalUnit

Source

pub const fn get_cortical_area_types_array_for_rotary_motor_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]

Get cortical area types array for Rotary Motor.

Source

pub const fn get_cortical_ids_array_for_rotary_motor_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]

Get cortical IDs array for Rotary Motor.

Source

pub const fn get_cortical_area_types_array_for_positional_servo_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 2]

Get cortical area types array for Positional Servo.

Source

pub const fn get_cortical_ids_array_for_positional_servo_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 2]

Get cortical IDs array for Positional Servo.

Source

pub const fn get_cortical_area_types_array_for_gaze_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 2]

Get cortical area types array for Gaze Control.

Source

pub const fn get_cortical_ids_array_for_gaze_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 2]

Get cortical IDs array for Gaze Control.

Source

pub const fn get_cortical_area_types_array_for_misc_data_with_parameters( frame_change_handling: FrameChangeHandling, ) -> [CorticalAreaType; 1]

Get cortical area types array for Miscellaneous Motor.

Source

pub const fn get_cortical_ids_array_for_misc_data_with_parameters( frame_change_handling: FrameChangeHandling, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]

Get cortical IDs array for Miscellaneous Motor.

Source

pub const fn get_cortical_area_types_array_for_text_english_output_with_parameters( frame_change_handling: FrameChangeHandling, ) -> [CorticalAreaType; 1]

Get cortical area types array for Text Output (English).

Source

pub const fn get_cortical_ids_array_for_text_english_output_with_parameters( frame_change_handling: FrameChangeHandling, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]

Get cortical IDs array for Text Output (English).

Source

pub const fn get_cortical_area_types_array_for_count_output_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]

Get cortical area types array for Count Output.

Source

pub const fn get_cortical_ids_array_for_count_output_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]

Get cortical IDs array for Count Output.

Source

pub const fn get_cortical_area_types_array_for_object_segmentation_with_parameters( frame_change_handling: FrameChangeHandling, ) -> [CorticalAreaType; 1]

Get cortical area types array for Object Segmentation.

Source

pub const fn get_cortical_ids_array_for_object_segmentation_with_parameters( frame_change_handling: FrameChangeHandling, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]

Get cortical IDs array for Object Segmentation.

Source

pub const fn get_cortical_area_types_array_for_simple_vision_output_with_parameters( frame_change_handling: FrameChangeHandling, ) -> [CorticalAreaType; 1]

Get cortical area types array for Simple Vision.

Source

pub const fn get_cortical_ids_array_for_simple_vision_output_with_parameters( frame_change_handling: FrameChangeHandling, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]

Get cortical IDs array for Simple Vision.

Source

pub const fn get_cortical_area_types_array_for_pose_estimation_with_parameters( frame_change_handling: FrameChangeHandling, pose_schema: PoseSchema, ) -> [CorticalAreaType; 1]

Get cortical area types array for Pose Estimation.

Source

pub const fn get_cortical_ids_array_for_pose_estimation_with_parameters( frame_change_handling: FrameChangeHandling, pose_schema: PoseSchema, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]

Get cortical IDs array for Pose Estimation.

Source

pub const fn get_cortical_area_types_array_for_dynamic_image_processing_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 4]

Get cortical area types array for Image Enhancements.

Source

pub const fn get_cortical_ids_array_for_dynamic_image_processing_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 4]

Get cortical IDs array for Image Enhancements.

Source

pub const fn get_cortical_area_types_array_for_spatial_pointer_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]

Get cortical area types array for Spatial Pointer.

Source

pub const fn get_cortical_ids_array_for_spatial_pointer_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]

Get cortical IDs array for Spatial Pointer.

Source

pub const fn get_snake_case_name(&self) -> &'static str

Source

pub const fn get_accepted_wrapped_io_data_type(&self) -> &'static str

Get the accepted wrapped IO data type for this motor cortical unit. Returns the string name of the data type (e.g., “MiscData”, “SignedPercentageData”).

Source

pub fn from_snake_case_name(name: &str) -> Option<MotorCorticalUnit>

Parse a motor cortical unit from its snake_case name

§Arguments
  • name - The snake_case name (e.g., “positional_servo”, “led_matrix”)
§Returns
  • Some(MotorCorticalUnit) - If name matches a known type
  • None - If name is not recognized
Source

pub const fn list_all() -> &'static [MotorCorticalUnit]

Returns all available motor cortical unit types. This is useful for enumerating all possible motor types in the system.

Source

pub const fn get_friendly_name(&self) -> &'static str

Returns the friendly (human-readable) name for this motor cortical unit type.

Source

pub const fn get_cortical_id_unit_reference(&self) -> [u8; 3]

Returns the 3-byte cortical ID unit reference for this type.

Source

pub const fn get_number_cortical_areas(&self) -> usize

Returns the number of cortical areas this type creates.

Source

pub fn get_unit_default_topology( &self, ) -> HashMap<CorticalSubUnitIndex, UnitTopology>

Returns the default topology for all units of this cortical type.

Source

pub fn get_allowed_frame_change_handling( &self, ) -> Option<&'static [FrameChangeHandling]>

Returns the allowed FrameChangeHandling values for this motor cortical unit. If None, all FrameChangeHandling values are allowed. If Some, only the specified values are allowed.

Source

pub fn get_cortical_id_vector_from_index_and_serde_io_configuration_flags( &self, cortical_unit_index: CorticalUnitIndex, map: Map<String, Value>, ) -> Result<Vec<CorticalID>, FeagiDataError>

Source§

impl MotorCorticalUnit

Source

pub fn try_from_legacy_subtype(subtype: &str) -> Option<CorticalID>

Check if a legacy 3-char subtype matches a supported OPU type and return its default CorticalID. Used by genome migrator to avoid converting unsupported legacy OPU areas to MiscData.

Source

pub fn get_default_cortical_id_for_group( &self, group_index: CorticalUnitIndex, ) -> CorticalID

Get the default CorticalID for this unit with group index 0 (Absolute frame handling, Linear positioning).

Trait Implementations§

Source§

impl Clone for MotorCorticalUnit

Source§

fn clone(&self) -> MotorCorticalUnit

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for MotorCorticalUnit

Source§

impl Debug for MotorCorticalUnit

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for MotorCorticalUnit

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for MotorCorticalUnit

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for MotorCorticalUnit

Source§

impl Hash for MotorCorticalUnit

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for MotorCorticalUnit

Source§

fn eq(&self, other: &MotorCorticalUnit) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for MotorCorticalUnit

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for MotorCorticalUnit

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.