Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin Standardization, Testing, and Bug-squashing #413

Closed
3 of 38 tasks
nishaq503 opened this issue Feb 10, 2023 · 1 comment
Closed
3 of 38 tasks

Plugin Standardization, Testing, and Bug-squashing #413

nishaq503 opened this issue Feb 10, 2023 · 1 comment
Assignees
Labels
bug Something isn't working dependencies Pull requests that update a dependency file feature New feature or request

Comments

@nishaq503
Copy link
Collaborator

nishaq503 commented Feb 10, 2023

General Notes

  • Add bump2version to every single plugin to manage plugin version numbers.
  • Make all plugins pip-installable and use poetry for dependency management. If at all possible, we need to remove exact pins of version numbers of packages for every python plugin. In general, use semver notation for all requirements.
  • If a plugin requires preadator, it needs to be updated when the newer version of preadator comes out with bug fixes.
  • If a plugin relies on filepattern, we should restrict version numbers to <2.0 in anticipation of the new release of filepattern. Once the update to filepattern lands, we can go back over our plugins and make the required updates.
  • If a plugin relies on a pre-1.0 version of a package, figure out how to properly handle versions of all involved packages to prevent breaks from updates in other packages like bfio.

Problematic Plugins

  • features
    • feature-evaluation
      • Update requirements.txt. Particularly, scikit-learn from 0.24.2 to 1.x
    • feature-extraction
      • update bfio from 2.0.4 to 2.1.9.
    • object-spectral-featurization
      • This used to rely on scikit-image==0.17.2 but I needed to change it to scikit-image>=0.17.2. Test the plugin to make sure that nothing broke.
  • formats
    • czi-extract
      • This relies on preadator.
    • imaris-parser
      • I had to update all packages in requirements.txt and to this should be tested for correctness.
      • The main update will be with pandas going from 0.24.2 to 1.x.
      • We should also take a look at the dependency on XlsxWriter.
    • multichannel-tiff
      • This used to use bfio==1.3.6 and will have bugs from breaking changes in 2.1.9.
    • ome-converter
      • This relies on preadator
    • tabular-to-feather
      • This relies on fcsparser==0.2.2 and blake3==0.2.1.
    • tiledtiff-converter
      • Container fails to build.
      • This is a java plugin. Is this an obsolete plugin with bfio in the picture?
  • regression
    • basic-flatfield-correction
      • Test this plugin because it was updated to use basicpy and needs to be able to run on a GPU.
      • Tests are underway (Najib)
    • bleed-through-estimation
      • Container fails to build. Investigate why. Probably because of inclusion of bfio in requirements.txt.
      • Update the plugin with new features from the Theia paper and associated code.
  • segmentation
    • aics-classic-seg
      • Container fails to build. Probably because of the reliance, in requirements.txt, on a git commit hash from the discontinued repo from the Allen Institute.
      • This used to use bfio==1.3.6 and will have bugs from breaking changes in 2.1.9.
    • cell-nuclei-segmentation
      • folder needs renaming to have the plugin postfix.
      • This used to use bfio==1.0.7 and will have bugs from breaking changes in 2.1.9.
      • This used to rely on a tensorflow wheel from a google repo. Test this plugin in the bfio:2.1.9-tensorflow container.
    • smp-training
      • Tests are underway.
      • Tests are underway (Najib)
    • zo1-segmentation
      • Get update from Ben about plugin status
  • transforms/images
    • autocropping
      • This plugin relies on filepattern.
    • binary-ops
      • Open PR to remove the duplicate of this plugin.
      • This plugin relies on filepattern.
    • ftl-label
      • Optimization is underway (Najib)
    • image-registration
      • The old container base image was labshare/polus-bfio-util:2.4.2-slim-buster. Test the plugin with the new bfio base container.
      • This plugin relies on filepattern.
    • intensity-projection
      • This used to use bfio==2.0.5 and will have probably bugs from breaking changes in 2.1.9.
    • roi-relabel
      • This plugin needs a VERSION file.
    • stack-z-slice
      • This used to use bfio==2.0.5 and will have probably bugs from breaking changes in 2.1.9.
      • This plugin relies on filepattern.
  • transforms/tabular
    • csv-merger
      • This plugin relies on filepattern.
      • This relies on blake3==0.2.1.
  • utils
    • filepattern-generator
      • folder needs renaming to have the polus prefix.
    • generic-to-image-collection
      • This plugin relies on filepattern.
    • imagej-macro
      • Testing is underway (Ben)
    • notebook
      • Container fails to build
    • subset-data
      • This plugin relies on filepattern.
  • visualization
    • color-pyramid-builder
      • The old container base image was labshare/polus-bfio-util:2.4.4-slim-buster. Test the plugin with the new bfio base container.
    • feature-heatmap-pyramid
      • This used to use bfio==1.3.6 and will have bugs from breaking changes in 2.1.9.
    • graph-pyramid-builder
      • This plugin relied on pandas==0.25.1 and the current version is 1.x.
    • precompute-slide
      • This relies on preadator and filepattern.
    • precompute-volume
      • There are lots of issues with the requirements listed.
@nishaq503 nishaq503 added bug Something isn't working feature New feature or request dependencies Pull requests that update a dependency file labels Feb 10, 2023
@nishaq503 nishaq503 self-assigned this Oct 6, 2023
@nishaq503 nishaq503 pinned this issue Oct 6, 2023
@nishaq503
Copy link
Collaborator Author

Closed in favor of this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working dependencies Pull requests that update a dependency file feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant