mehta-lab / waveorder

Wave optical models and inverse algorithms for label-agnostic imaging of density & orientation.
BSD 3-Clause "New" or "Revised" License
12 stars 3 forks source link

Removing I/O module #112

Closed ziw-liu closed 1 year ago

ziw-liu commented 1 year ago

Moving the conversation over from https://github.com/czbiohub/iohub/issues/55#issuecomment-1483121289:

Remove WaveorderReader from waveorder and depend on the tagged version of iohub via github. After testing, release waveorder==1.0.0.

@talonchandler Does waveorder need to depend on iohub? I thought the plan was to turn waveorder into an array-in-array-out library and leave file I/O to downstream applications like recOrder.

talonchandler commented 1 year ago

Good point!

When I wrote that I had the waveorder/examples folder in mind. Many (all?) of the examples depend on WaveorderReader, so we'll need to handle those somehow.

Is it okay to keep iohub as a dependency so that we can demonstrate the library with the examples folder?

ziw-liu commented 1 year ago

I'm not too worried about not specifying the dependency for examples in the package setup. We are not doing it now: jupyter is not a dependency, and many examples are notebooks. Optional [examples] requirement or a line in the example's README file should be enough.

talonchandler commented 1 year ago

Okay sounds good, I'm happy with dropping the explicit iohub dependency in waveorder and having both an [examples] requirement and a line in examples/README.md.

napari and matplotlib(Edit: we need it for visual) might also live in the [examples] requirements.

ziw-liu commented 1 year ago

napari and matplotlib might also live in the [examples] requirements.

Matplotlib is used in the visual module though.

talonchandler commented 1 year ago

Closing this. I/O has been completely removed from waveorder, and (opposite of what I though above) none of the examples need to depend on iohub.

The small of amount of io is via .npz files and matplotlib.