bioimage-io / core-bioimage-io-python

Python libraries for loading, running and packaging bioimage.io models
https://bioimage-io.github.io/core-bioimage-io-python/
MIT License
28 stars 21 forks source link

Do we still need this repository? #72

Closed constantinpape closed 3 years ago

constantinpape commented 3 years ago

@FynnBe as far as I can see the functionality left here is only needed for deprecated things (the old transformations, dataset and model runner ideas). Do we still need it for anything? If not, we should consider either removing or at least archiving it.

FynnBe commented 3 years ago

There is not much left here, but

constantinpape commented 3 years ago
  • the runner should live here (still in tiktorch atm)

What exactly do you mean by runner? This: https://github.com/ilastik/tiktorch/tree/master/tiktorch/server/prediction_pipeline/_model_adapters?

For these, I thought that the spec repo would also be the better place, because they could serve as reference implementations.

FynnBe commented 3 years ago

yes, tiktorch's model adapters, or even the PredictionPipeline with pre- and postprocessing. But each such adapter/pipeline/runner potentially goes together with it's own set of transformation implementations... We could merge it all, but then we should have kept everything in python-bioimage-io. I think some splitting makes sense and the spec just happens to live in python, but I see that more like a coincidence. we could scratch the whole validator and go json schema, who knows?^^

Example use cases could live there though, but not full implementations for several frameworks (and languages!?). Maybe merging pytorch-bioimage-io into python-bioimage-io (but keeping the separate modules bioimageio.core and bioimageio.torch as it is now) would make sense.

constantinpape commented 3 years ago

yes, tiktorch's model adapters, or even the PredictionPipeline with pre- and postprocessing. But each such adapter/pipeline/runner potentially goes together with it's own set of transformation implementations... We could merge it all, but then we should have kept everything in python-bioimage-io. I think some splitting makes sense and the spec just happens to live in python, but I see that more like a coincidence. we could scratch the whole validator and go json schema, who knows?^^

I agree that some separation makes sense, but I don't think having separate repositories for python-bioimage-io, pytorch-bioimage-io and tf-bioimage-io make sense, especially since the prediction pipelines depend on having the frameworks available, so I very much like this idea:

  • bioimageio.spec: -> spec-bioimage-io
  • bioimageio.core: python-bioimage-io
  • bioimageio.torch: pytorch-bioimage-io -> python-bioimage-io?
  • bioimageio.tf: -> python-bioimage-io?

I still think that the the pure numpy implementations of pre-and-postprocessings should go into the spec repository and serve as the reference implementation. Then, the spec repo is self-contained and python-bioimage-io depends on it anyways, so can use these transformations.

constantinpape commented 3 years ago

(Also, if we keep this repository and move pytorch-bioimage-io and stuff from tiktorch here, we should remove the outdated stuff in https://github.com/bioimage-io/python-bioimage-io/tree/master/bioimageio).