soft-matter / pims

Python Image Sequence: Load video and sequential images in many formats with a simple, consistent interface.
http://soft-matter.github.io/pims/
Other
263 stars 67 forks source link

Update/fix CI setup. #437

Closed anntzer closed 1 year ago

anntzer commented 1 year ago

I went for the big omnibus PR...

Unless there's strong reasons to do otherwise, I would also suggest dropping support for pylibtiff (and perhaps also just pick a side between pillow's tiff and tifffile); and likewise pick one movie reader (pyav seems favored by skimage https://scikit-image.org/docs/stable/user_guide/video.html#pyav, and has wheels so installation should be easy in practice).

codecov-commenter commented 1 year ago

Codecov Report

Base: 61.64% // Head: 77.96% // Increases project coverage by +16.31% :tada:

Coverage data is based on head (f525608) compared to base (5ec734d). Patch coverage: 81.63% of modified lines in pull request are covered.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #437 +/- ## =========================================== + Coverage 61.64% 77.96% +16.31% =========================================== Files 31 31 Lines 4391 4516 +125 =========================================== + Hits 2707 3521 +814 + Misses 1684 995 -689 ``` | [Impacted Files](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter) | Coverage Δ | | |---|---|---| | [pims/pyav\_reader.py](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter#diff-cGltcy9weWF2X3JlYWRlci5weQ==) | `89.25% <ø> (+68.17%)` | :arrow_up: | | [pims/image\_reader.py](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter#diff-cGltcy9pbWFnZV9yZWFkZXIucHk=) | `87.93% <60.00%> (+6.29%)` | :arrow_up: | | [pims/bioformats.py](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter#diff-cGltcy9iaW9mb3JtYXRzLnB5) | `71.86% <69.23%> (+59.54%)` | :arrow_up: | | [pims/tests/test\_display.py](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter#diff-cGltcy90ZXN0cy90ZXN0X2Rpc3BsYXkucHk=) | `99.33% <75.00%> (+36.67%)` | :arrow_up: | | [pims/display.py](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter#diff-cGltcy9kaXNwbGF5LnB5) | `64.41% <90.90%> (+31.17%)` | :arrow_up: | | [pims/tests/test\_bioformats.py](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter#diff-cGltcy90ZXN0cy90ZXN0X2Jpb2Zvcm1hdHMucHk=) | `73.29% <100.00%> (+34.04%)` | :arrow_up: | | [pims/tests/test\_imseq.py](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter#diff-cGltcy90ZXN0cy90ZXN0X2ltc2VxLnB5) | `100.00% <100.00%> (ø)` | | | [pims/tests/test\_multidimensional.py](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter#diff-cGltcy90ZXN0cy90ZXN0X211bHRpZGltZW5zaW9uYWwucHk=) | `99.28% <0.00%> (+0.01%)` | :arrow_up: | | [pims/tests/test\_process.py](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter#diff-cGltcy90ZXN0cy90ZXN0X3Byb2Nlc3MucHk=) | `97.72% <0.00%> (+0.10%)` | :arrow_up: | | [pims/process.py](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter#diff-cGltcy9wcm9jZXNzLnB5) | `97.22% <0.00%> (+0.16%)` | :arrow_up: | | ... and [18 more](https://codecov.io/gh/soft-matter/pims/pull/437?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter) | | Help us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=soft-matter)

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

nkeim commented 1 year ago

Wow!!! What a gift for pims! Thanks @anntzer !!

I see no reason not to merge now, especially since this PR has had some time to season, and because we really could use working CI again.

I see that you are in support of some further changes, which I summarize as

  1. dropping pylibtiff
  2. dropping moviepy
  3. switching to bioformats_package.jar instead of loci_tools.jar

I see no problem with any of those given how much the package ecosystem has evolved since pims was first written, but I agree that those should be done in separate PRs since they would require some careful changes to the code, and of course there could be some users out there for whom these would be big problems. We already have #426 to discuss the bioformats change; should we open additional issues to discuss the first two?

anntzer commented 1 year ago

I would also drop imageio-ffmpeg (per https://imageio.readthedocs.io/en/v2.25.1/_autosummary/imageio.plugins.ffmpeg.html#module-imageio.plugins.ffmpeg).

While I appreciate that this may be disruptive for some users, I simply notice that maintaining working CI for pims seems to have been challenging recently, and e.g. in the PR above I had to make various fixes for a number of readers, but I have no idea of whether the pylibtiff reader works as even installing that package properly is challenging (and I had limited interest in fixing that when the package README itself suggests that other tiff libraries may be better suited). Also note that my interest in getting CI fixed is actually to help the review of my other PRs (right now only #434; I could perhaps also give a try at fixing #436 now that CI is fixed).

You can open separate issues to keep track of the decision process but I don't really have much to add on top of that.