8000 Releases · funkelab/gunpowder · GitHub
[go: up one dir, main page]

Skip to content

Releases: funkelab/gunpowder

v1.4.3

30 Dec 18:52

Choose a tag to compare

What's Changed

  • fix deprecation of z_section_wise in IntensityAugment by @neptunes5thmoon in #227
  • Improve DeformAugment - Faster processing, now uses zoom instead of map_coordinates for interpolating values to a new voxel size. Better documentation. Removed unused code.
  • Improved error messages for RandomLocation. No longer gives an incorrect "AssertionError: Can not pick a random location, intersection of upstream ROIs is unbounded." When the upstream roi's are not actually unbounded. Instead properly checks for the unbounded case and gives a more informative error including both the request and upstream spec.

Full Changelog: v1.4.2...v1.4.3

v1.4.2

16 Sep 15:23

Choose a tag to compare

v1.4.2

Changelog:

  • Bugfix, DeformAugment: No longer creates new dependency request, instead modifies dependencies in place. This is because creating a new dependency request results in it being unioned with the provided request instead of replacing it. I.e. if you request a 1x10 array, DeformAugment rotates it to 10x1, you could be requesting the union and fetching a 10x10 array.
  • Feature Expansion, DeformAugment: You can now rotate with non isotropic control point spacing. This throws a warning because it may result in large deformations.

v1.4.1

20 May 17:39

Choose a tag to compare

Features:

  • @pattonw (902afa9) intensity augment takes a "slabs" argument, allowing intensities to be augmented per slice.
  • @pattonw (1701741) add support for specifying rotation axes in DeformAugment.

Bug fixes:

  • @yajivunev (0e5aa79) snapshot nodes uses "voxel_size" instead of "resolution" to define the size of each pixel
  • @cmalinmayor (87cb530) "assert plain" in pytest. See scipy/scipy#22236
  • @cmalinmayor (ac31a15) fix missing import in GPGraphSource, expand test coverage for GPGraphSource
  • @cmalinmayor (9e1ac02) fix bug in DeformAugment that failed when all nodes were lost to interpolation. Expand test coverage for DeformAugment
  • @pattonw (ad893da) fix bug where loss function keyword arguments were requiring a "loss_" prefix. Expand test coverage for this case.

Quality of life:

v1.4.0

30 Aug 01:09
5b595e9

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

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

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

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

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

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

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
0