Skip to content

URML (open robot intent language): a validated acquisition instruction for a microscope (request for comment) #815

Description

@idoco2003

Hi Pycro-Manager maintainers,

URML (urml.dev) is a small, Apache-2.0 language for robot intent: a typed instruction validated against a declared capability manifest and a safety envelope, then dispatched. A microscope is an instrument with a well-defined set of capabilities and limits, which is the kind of thing a capability manifest describes, so Pycro-Manager seemed worth asking about. This is a request for comment.

Nothing here asks the project to adopt, host, or maintain anything.

The mapping: an acquisition is a declared intent (image this region, at these channels, within these stage and exposure limits). URML could express that as a typed instruction, validate it against the scope's declared capabilities and limits, then dispatch it through Pycro-Manager. Pycro-Manager stays the microscope interface; URML adds the typed pre-dispatch check and an optional natural-language path. The scope's available channels, stage travel, and objectives form the capability set an instruction would be checked against.

Two real questions: (1) is a typed, validated instruction layer (an acquisition checked against the scope's declared capabilities before dispatch) useful above Pycro-Manager? (2) Does a microscope's configuration map onto a capability manifest?

Full write-up: https://github.com/URML-MARS/URML/blob/main/docs/rfcs/0593-pycro-manager-outreach.md

Thanks for Pycro-Manager; reproducible scripted acquisition is exactly the setting where stating an instruction's limits up front and checking them might be worth something.

Ido Yahalomi (URML, greenvh@gmail.com)

AI-assisted prose, maintainer-reviewed before posting (see https://github.com/URML-MARS/URML/blob/main/VIBE.md). Human-only correspondence available on request.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions