ELEKTRONN/elektronn3

Refactor augmentations

mdraw opened this issue · 0 comments

mdraw commented

This is a meta-issue that summarizes the planned data loading/augmentation (elektronn3.data) refactoring.

  • Image augmentation methods should live in their own module (maybe elektronn3.data.augmentations) and should be less entangled with data reading code.
  • We should cleanly separate a) geometric augmentations that work on source coordinates of inputs and targets (i.e. perspective/affine transforms and the upcoming elastic deformations) from b) "non-geometric" augmentations that work on the images themselves (histogram augmentations, random erasing etc.). a) and b) should be in different submodules.
  • We need a good, user-friendly interface for enabling/configuring augmentation methods in PatchCreator.
  • All augmentations should work with 3D and 2D images transparently.
  • Where possible, augmentation methods should be easily usable from external code (without PatchCreator and other elektronn3-specifics).
  • The coordinate based warping code (currently in elektronn3.data.transformations) needs more documentation, comments and more readable implementations - especially the numba-jitted functions.
  • Ensure that all augmentations that depend on random numbers can be run deterministically by providing a fixed random seed.
  • Tests would be nice