pymmcore-plus / napari-micromanager

GUI interface between napari and micromanager powered by pymmcore-plus and pymmcore-widgets
https://pymmcore-plus.github.io/napari-micromanager/
BSD 3-Clause "New" or "Revised" License
61 stars 21 forks source link

remove tifffile dependency #125

Open ianhi opened 2 years ago

ianhi commented 2 years ago

Update - we implemented option 1. Next steps are to go for option 3 and not need to use tiffffile here


If you check the save option in MDA then you can end up importing tiffffile: https://github.com/tlambert03/napari-micromanager/blob/157ec63eebb3d370d89f3fecef9025cd33e6333d/micromanager_gui/_saving.py#L7

even though this is not included in the dependencies:

https://github.com/tlambert03/napari-micromanager/blob/157ec63eebb3d370d89f3fecef9025cd33e6333d/setup.cfg#L30-L36

We should either:

  1. Add tifffile to deps
  2. Guard the import and raise an error to the user when the click save in the MDA dialog
  3. restructure the MDA widget to only be responsible for generating the mda sequence and displaying it in napari. Other libraries should be responsible for the saving (e.g. https://github.com/ianhi/pymmcore-MDA-writers) and the MDA widget could provide an interface to them.

My choice would be start with 1 as it's a quick fix to a potential bug and eventually do 3.

tlambert03 commented 2 years ago

Yeah, let's do 1. 3 is ideal longer term, and I like what you proposed at AICSimagio as well