czbiohub-sf / shrimPy

shrimPy: Smart High-throughput Robust Imaging & Measurement in Python
BSD 3-Clause "New" or "Revised" License
8 stars 1 forks source link

Manual "autoexposure": Apply per-well exposure time and laser power from file #98

Closed ieivanov closed 1 year ago

ieivanov commented 1 year ago

This PR adds infrastructure for autofocus on the mantis microscope, building on @edyoshikun work in #8 and borrowing a lot of concepts from the dragonfly automation script.

The PR also adds a manual autofocus algorithm where the user provides the desired exposure time and laser power per well in a CSV file. This will allow us to acquire data on 24 OpenCell targets as part of Figure 3.

An CSV example file is provided in doc/illumination.csv; the file must be placed in the acquisition root directory.

Work on automated iterative autofocus algorithms (see comment) will be done in another PR, but shouldn't take much effort.

TODO:

ieivanov commented 1 year ago

@edyoshikun @talonchandler let's merge this PR to avoid conflicts. I used this code to acquire the OpenCell data, it works well. Let me know if you see any "structural" issues we should resolve before merging.

edyoshikun commented 1 year ago

I agree with all the points @talonchandler made. We can create a separate issue and PR for fixing the truly 'auto' part of the exposure in the next iteration.

ieivanov commented 1 year ago

I agree with you, let me make these changes. I think we should still implement the full autoexposure before the paper is published, but there are currently no experiments that need that.

ieivanov commented 1 year ago

I think I've addressed your comments, please take another look. We'll keep the original issue #7 open until we finish the work on "auto" autoexposure.