Skip to content

chore: build ISI instrument example#1833

Merged
dbirman merged 9 commits into
devfrom
1794-isi-instrumentjson
May 19, 2026
Merged

chore: build ISI instrument example#1833
dbirman merged 9 commits into
devfrom
1794-isi-instrumentjson

Conversation

@dbirman

@dbirman dbirman commented May 15, 2026

Copy link
Copy Markdown
Member

Adds an ISI instrument example, this will be used to backfill all existing ISI records. There are three ISI rigs, "ISIV.1" "ISIV.2" and "ISIV.3" that show up in existing data assets, unfortunately variations between them aren't captured here but I'm told they are basically identical.

Small note: the existing session metadata has a device listed "ISI LED" but since the actual rig has two LEDs I think the simplest thing is as part of the migration we will rename the field in the device configuration. This way we can have more informative names in the instrument metadata.

@dbirman dbirman linked an issue May 15, 2026 that may be closed by this pull request
3 tasks
@dbirman dbirman requested a review from saskiad May 15, 2026 23:11
Comment thread examples/isi_instrument.py Outdated
)

isi_lens_35mm = Lens(
name="Nikon NIKKOR 35mm f/1.4",

@saskiad saskiad May 18, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a nice to have: I think having the name contain the full model number isn't best practice. It's not really bad, but it sets a precedent of doing this, and we want to avoid people cramming metadata into names instead of using other fields. I know if this case, we need to distinguish the two nikon lens, but we don't need the full manufacturer/model in the device name. Could be "lens 35mm" or something.
Kind of the same with the camera above too.

Comment thread examples/isi_instrument.py Outdated
)

isi_bandpass_filter = Filter(
name="Semrock FF01-630/92-50 Bandpass Filter",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is prime example of above. We already have the bandapass and center wavelength in real fields. Make this simpler.

eye_tracking_camera_assembly = CameraAssembly(
name="Eye Tracking Camera Assembly",
target=CameraTarget.EYE,
relative_position=[AnatomicalRelative.ANTERIOR],

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

usually eye tracking isn't done from the anterior...

Comment thread examples/isi_instrument.py Outdated
)

led_ring_green = LightEmittingDiode(
name="LED Ring Green 527nm",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

keep the color, remvoe the wavelength from the name.

Comment thread examples/isi_instrument.py Outdated
)

stimulus_monitor = Monitor(
name="ASUS PA248Q Stimulus Monitor",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just "Stimulus Monitor" works fine here

@saskiad saskiad left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll allow it, but I'd love to make the device names simpler so that people don't see this as how this should be done. Also makes it harder to work with during acqusition when the device names are long and detailed.

@dbirman dbirman added this pull request to the merge queue May 19, 2026
Merged via the queue into dev with commit a5ad22d May 19, 2026
6 checks passed
@dbirman dbirman deleted the 1794-isi-instrumentjson branch May 19, 2026 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ISI instrument.json

2 participants