Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Matrix metric #342

Open
BenjaminHohlmann opened this issue Nov 25, 2024 · 1 comment
Open

Feature request: Matrix metric #342

BenjaminHohlmann opened this issue Nov 25, 2024 · 1 comment
Assignees
Labels
Topic of Interest Signifies relationships to Topic of Interests

Comments

@BenjaminHohlmann
Copy link

Issue

Matrices and vectors are common expressions in any kind of computation. Currently, the BICEPS standard does not offer native support of such, even though there are numerous applications, including for example:

  • Any kind of navigated surgery, where position vectors (3x1), rotation matrices (3x3), rotation quaternions (4x1), or general transformation matrices (4x4) are transmitted. This includes optical, electromagnetic or inertial sensor data. The data may be relevant for documentation purposes, sensor fusion for improved precision and robustness, reducing the number of tracking systems in the OR or even inter-manufacturer operation of drills, navigation and imaging systems for drilling with restricted safe-zones.
  • Robotic surgery, where the pose of the endeffector may be communicated to other devices, e.g., indicating "ready-to-grab".
  • Endoscopes, reading or writing the intrinsic matrix.
  • Image-based collision detection, e.g., between a C-Arm and an operating table.
  • External control of an x-ray: A calibration-sensor positioned in the visible field of the X-ray source, determing the distortion matrix of the device and setting it over the network.

Aspects to be considered

  • Atomicity: It is not possible to use multiple scalar numeric or string metrics, as it may cause the vector/matrix to be in an invalid state, when one scalar (e.g. the x coordinate) is updated to a new value, with the others are still holding the old value (e.g. the y and z coordinates).
  • Vector vs. Matrix vs. Tensor. One may differentiate between these or introduce a single generic metric with arbitrary number of dimensions, each of arbitrary size.
  • Maximal size: SDC is not designed to transfer large quantities of data for which other solutions exist, e.g., image data. Introducing a maximal size may prevent mis-use, but limit future applications.
  • Dense vs Sparse: The latter may be more performant in certain applications. Supporting these may reduce traffic.
  • Further specification and semantic encoding: Introducing specific types of vectors, e.g., defining the order for quaternions or row/column-wise notation. May prevent misuse and benefit interoperability, but limit future applications.

Possible short-term workarounds:

  • NOT RECOMMENDED: mis-use of existing waveforms metric. While it is designed for vector data of arbitrary size, there are several assumptions on the data, that hold not true for general purpose vectors and especially metrics, e.g. the dimension being time, equidistance between values and non-atomic handling of waveform data.
  • NOT RECOMMENDED: use of existing string metric. While introducing a simple pattern for storing the matrix entries in a string is a performant and simple solution, the pattern itself is not standardized and interopability is in no way guarantueed. E.g. "NxMx...;row-major;a;b;c;d;..."
@BenjaminHohlmann BenjaminHohlmann added the Comment NEW A submitted comment waiting to be reviewed and dispositioned label Nov 25, 2024
@d-gregorczyk d-gregorczyk added the Topic of Interest Signifies relationships to Topic of Interests label Dec 6, 2024
@ToddCooper ToddCooper removed the Comment NEW A submitted comment waiting to be reviewed and dispositioned label Dec 6, 2024
@ToddCooper
Copy link
Collaborator

SDPi Friday 2024.12.06 Review -
Benjamin reviewed the issue and needed features.
An extension could be defined in SDPi TF-3 to support these matricies.
@BenjaminHohlmann - will add a technical proposal to this Issue for discussion at an upcoming SDPi Friday meeting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Topic of Interest Signifies relationships to Topic of Interests
Projects
Status: New issues
Development

No branches or pull requests

3 participants