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

Add Mesoscope rig example #901

Open
wants to merge 42 commits into
base: dev
Choose a base branch
from
Open

Conversation

arielleleon
Copy link
Collaborator

No description provided.

@arielleleon arielleleon requested a review from saskiad April 24, 2024 23:36
@arielleleon arielleleon linked an issue Apr 24, 2024 that may be closed by this pull request
@arielleleon
Copy link
Collaborator Author

Adding mesosocpe_ophys_rig.py and mesoscope_ophys_rig.json to repository

@arielleleon arielleleon changed the title testing on runner Add Mesoscope rig example Apr 25, 2024
Copy link
Collaborator Author

@arielleleon arielleleon left a comment

Choose a reason for hiding this comment

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

Identified fields that need to be updated. Please let me know if I missed anything.

In addition to the missing items, we will also need to know from Alex (or inform on) the following items:

  • Automatic uploads will be happening soon. Can we use this as the current rig for now; that said, what are the plans for logging the current rig state?
  • Need to know when the face camera was added. The earlier rig json did not come with a date (afaict)

ephys_assemblies=[],
fiber_assemblies=[],
stick_microscopes=[],
laser_assemblies=[],
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Needs Laser class

Copy link
Collaborator

Choose a reason for hiding this comment

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

For 2P, the laser should go in the light_sources, not in laser_assemblies. (and yes, this is confusing. These are lasers on manipulators used on the ephysdome)

Copy link

Choose a reason for hiding this comment

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

This is something that Natalia handled in the past, she was not in Engineering and thus I do not know. I believe Manni He is now responsible for this.

examples/mesoscope_ophys_rig.py Outdated Show resolved Hide resolved
laser_assemblies=[],
patch_cords=[],
light_sources=[],
detectors=[],
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Epi camera and PMTs

Copy link

Choose a reason for hiding this comment

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

This is something that Natalia handled in the past, she was not in Engineering and thus I do not know. I believe Manni He is now responsible for this.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I have these added

patch_cords=[],
light_sources=[],
detectors=[],
objectives=[],
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Needs to be defined

Copy link

Choose a reason for hiding this comment

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

This is something that Natalia handled in the past, she was not in Engineering and thus I do not know. I believe Manni He is now responsible for this.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done

lenses=[],
digital_micromirror_devices=[],
polygonal_scanners=[],
pockels_cells=[],
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Needs to be defined

Copy link

Choose a reason for hiding this comment

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

Same as the others.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done

hardware_version=None,
),
],
calibrations=[],
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

stimulus screen calibrations

Copy link

Choose a reason for hiding this comment

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

I need advice on how to enter this information. The screen calibration is a file with a bunch of information encoded inside of it.

Copy link
Collaborator

Choose a reason for hiding this comment

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

@axlec if you want to send me an example of the calibration file, I can help. I expect for gamma calibration there are some input values and some readout values, which is what I would put in here, but I'm happy to demo an example if you send me a file

Copy link
Collaborator

Choose a reason for hiding this comment

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

Gamma calibration would be valuable. was this resolved?

data_interface=DataInterface.PCIE,
)
],
objectives=[],
Copy link
Collaborator

Choose a reason for hiding this comment

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

still missing objective!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The objective is one part that I could not get from Keith. I can ask Manni but she is out of town

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@axlec I need your help with this. I have no clue where to find this

Copy link
Collaborator

Choose a reason for hiding this comment

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

We can check the order. Those are custom from an optic company in Florida. I know at some point, there was some effort to switch to a thorlabs slimmer design.

Detector(
name="PMT",
detector_type="Photomultiplier Tube",
manufacturer=Hamamatsu(name="Hamamatsu"),
Copy link
Collaborator

Choose a reason for hiding this comment

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

can we get a model number/serial number for this?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Manni could not find one

Copy link
Collaborator

Choose a reason for hiding this comment

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

I can get this. Those are standard and I think I have the record of it. It is possible Natalia changed them. Usually there is a sticker on the back end face of the PMT.

name="Pockels Cell 1",
polygonal_scanner="something",
on_time=12.0,
off_time=13.0,
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm guessing on and off need to add to 100. But let me check on that.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

These were bogus ints :/ until it's an optional parameter

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This has been added in the latest version of aind-data-schema

),
Axis(name="Y", direction="defined by the right hand rule and the other two axis"),
],
modalities=set(),
Copy link
Collaborator

Choose a reason for hiding this comment

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

missing modalities!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done

@mekhlakapoor
Copy link
Contributor

Is this PR still being worked on?

@arielleleon
Copy link
Collaborator Author

@saskiad I have added what I believe to be all the missing parts I was able to define and track. For the parts missing, I would ask Alex and team to help fill in the gaps especially with respect to how items (e.g. calibrations) get updated and tracked.

Detector(
name="PMT",
detector_type="Photomultiplier Tube",
manufacturer=Hamamatsu(name="Hamamatsu"),
Copy link
Collaborator

Choose a reason for hiding this comment

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

I can get this. Those are standard and I think I have the record of it. It is possible Natalia changed them. Usually there is a sticker on the back end face of the PMT.

data_interface=DataInterface.PCIE,
)
],
objectives=[],
Copy link
Collaborator

Choose a reason for hiding this comment

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

We can check the order. Those are custom from an optic company in Florida. I know at some point, there was some effort to switch to a thorlabs slimmer design.

examples/multiplane_ophys_rig.py Show resolved Hide resolved
hardware_version=None,
),
],
calibrations=[],
Copy link
Collaborator

Choose a reason for hiding this comment

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

Gamma calibration would be valuable. was this resolved?

examples/multiplane_ophys_rig.json Show resolved Hide resolved
examples/multiplane_ophys_rig.json Show resolved Hide resolved
examples/multiplane_ophys_rig.json Show resolved Hide resolved
@jeromelecoq
Copy link
Collaborator

jeromelecoq commented Nov 20, 2024

its 6mm according to the thorlabs website.
________________________________ From: arielleleon @.> Sent: Wednesday, November 20, 2024 3:08 PM To: AllenNeuralDynamics/aind-data-schema @.> Cc: Alex Cahoon @.>; Mention @.> Subject: Re: [AllenNeuralDynamics/aind-data-schema] Add Mesoscope rig example (PR #901) @arielleleon commented on this pull request.
________________________________ In examples/multiplane_ophys_rig.json<#901 (comment)>:

I think we should remove any metadata for off the shelf parts. It is endless otherwise. I would recommend just storing the part numbers and manufacturer, this is sufficient information. This is the practice in methods of papers.

@axlec
Copy link

axlec commented Nov 20, 2024 via email

@arielleleon
Copy link
Collaborator Author

Latest fixes should contain all that we spoke about. In case I didn't this somewhere else: I could not get an updated wiring diagram from SIPE. They will need to add relevant DAQ connections. The wiring diagram they passed me was out of date

@saskiad saskiad self-requested a review January 23, 2025 21:48
Modality.POPHYS,
Modality.BEHAVIOR_VIDEOS,
],
daq_names=["NI PCIe-6612", "NI PCIe-6321", "NI USB-6001", "NI OEM-6001"],
Copy link
Collaborator

Choose a reason for hiding this comment

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

These names don't match the ones in the rig file. Those were STIM DAQ, SYNC DAQ, VBEB DAQ. The names have to match between the rig and the session

Copy link
Collaborator

@saskiad saskiad left a comment

Choose a reason for hiding this comment

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

fix the daq names in the session file.
We can address the daq channels when we have a full wiring diagram.

@arielleleon
Copy link
Collaborator Author

@saskiad - those names should be synchronized now

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.

Add Mesoscope rig example
5 participants