Skip to content

IMDv2 support and tests for receiving positions #140

Description

@amruthesht

Is your feature request related to a problem?

Currently, IMDv2 support in imclient is limited and relies on certain assumptions about packet order. It would be ideal to have more generic support for IMDv2 usage using imdclient.

Describe the solution you'd like

It would be ideal for the client to treat an incoming stream of data using the following schema

  1. For each loop step of reading frames - expect packets in order - energies followed by positions
    1a. Store energy values temporarily. If multiple energy values are received before a position packet comes through, overwrite and use the latest energy values for the frame (with appropriate warning messages.
    1b. If at a certain step no energies are received, or rather positions are received before energies, use previously stored energies and move onto the next step.

Describe alternatives you've considered

Possible alternatives include matching energies by maintaining an array of previously stored energies. Doesn't come with an upside as these global energies are hardly useful for any analysis purposes.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions