Skip to content

Releases: funkelab/gunpowder

v1.4.0

30 Aug 01:09
5b595e9
Compare
Choose a tag to compare

changelog:
features

add probability for applying augmentation nodes via an overrideable can_skip method.
errors now print in reversed order
improve CSVReader to use built in python csv reader
torch predict supports arrays as position arguments
add funlib.persistence.Array source
add ScanCallback
bugfixes:

pytorch train: move hooks to being added in start method. This caused problems when trying to run the model in some multithreaded use cases.
Deform Augment subsampling fixed
avoid np.sctypes["float"] to work on numpy >= 2.0

v1.3.4

13 Jun 23:36
Compare
Choose a tag to compare

Bug fixes:

  • Snapshot node: removed depricated numpy function np.asscalar. Improved docstring to mention zarr storage options
  • Moved two sources from tests to gunpowder. GPArraySource and GPGraphSource which make it easy to provide data directly to your pipeline by providing a simple array or graph along with their associated key.
  • remove many references to depricated scipy.ndimage submodules (measurements, morphology, interpolation).
  • Simplify the RandomLocation provide method since it doesn't need the same features as the BatchFilter it inherits from.
  • Fix subsampling in the DeformAugment. Add tests to cover this behavior

v1.3.3

20 Apr 01:11
Compare
Choose a tag to compare
  1. Fix bugs in RasterizeGraph edge coloring
  2. Resample Node no longer results in volume shrinkage by 1 pixel
  3. SpecifiedLocation won't get stuck in an infinite loop if None of the points to choose from are valid, instead throws an error.
  4. removed references to np.float128 which may not be available on all platforms (mac). Tests now pass on mac.
  5. Removed code for python 2 compatibility
  6. padding falls back on 'constant' if mode provided is not supported

v1.3.2

03 Jan 05:32
52248e1
Compare
Choose a tag to compare

Merging patch branch into master and making new release

Change Log:
bugs fixed:

  • torch nodes forward hooks moved to start method of nodes to work better with the spawn_subprocess flag
  • torch train/predict work when setting multiprocessing start method = "spawn"
  • fixed bug in rasterize graph due to usage of the old api for accessing graph nodes

new features:

  • torch nodes support defining specific cuda devices via e.g. "cuda:0"
  • added support for "reflect" mode padding in the pad node
  • improved error printing.
    • Reversed the order of exceptions so the cause of the error is printed at the bottom, and you can scroll up to trace the requests and batches through the tree. Now we no longer need to scroll to the top to see the cause of the error,
    • PreCache and other multiprocessing nodes no print repeats of the same error, it is simply printed once
    • removed unhelpful tracebacks (and many repititions) for the try, except blocks in node superclasses

general improvements:

  • moved many tests from unittest to pytest, adding parametrization to simplify them and cover more cases
  • improved the dependency version bounds
  • improved docs, formatting, and pass more ci/cd workflows
  • removed unused imports and f-strings

V1.3.1

06 Oct 20:16
Compare
Choose a tag to compare

Bug fixes:

  • RandomLocation is more robust to rounding errors when selecting locations based on points
  • Request seeds have been updated to be less likely to accidentally repeat
  • Torch Predict can now take checkpoints that were saved directly instead of as dicts
  • zarr read/write now properly inverts voxel size for n5 containers

v1.3

18 Apr 17:36
Compare
Choose a tag to compare

Change log:
Features:

  • Added GraphSource with tests and added to docs
  • Added IterateLocations node with tests and added to docs
  • Added write_if helper function to Snapshot that can be overwritten for data dependent snapshot saving
  • Added Jax Train/Predict nodes
  • RandomLocation can save the chosen location to a nonspatial array.
  • support the spawn start method for gunpowder subprocesses
  • ZarrSource and ZarrWrite now match zarr.open convenience function
  • HDF5LikeSource and HDF5LikeWrite depricated
  • ElasticAugment depricated
  • DeformAugment replaces ElasticAugment and works in world units.

Dependencies:

  • Switched to funlib.geometry for Roi and Coordinate to make use with daisy and other similar libraries simpler
  • Update daisy version in dependencies

Bug Fixes:

  • avoid hanging teardown in generic predict if worker process dies
  • fix nonspatial array handling during training
  • up/downsampling arrays with channel dimensions works now
  • removed depricated numpy dtypes (np.int, np.bool, ...)

v1.1

17 Mar 21:47
c2007d8
Compare
Choose a tag to compare

Change log:

  • add PyTorch Train and Predict nodes
  • introduce gunpowder.Graph to replace gunpowder.Points
  • add support for non-spatial arrays (like one-hot classification vectors)
  • add Stack to create batches with multiple samples
  • add Upsample
  • improved logging/error messages
  • guarantee availability of requested dependencies, independent of other node's requests
  • several minor bugfixes

v1.0

30 May 16:24
Compare
Choose a tag to compare
Update docs