Image Augmentation API - Proposal #91
Replies: 2 comments 1 reply
-
Hi public class AugmentationPipelineBuilder {
public AugmentationPipelineBuilder addAugmentation(AbstractAugmentationClass augmentation){};
public AugmentationPipeline build(){};
}
public interface AugmentationPipeline {
BufferedImage applyTo(BufferedImage image);
}
public class AbstractAugmentationClass {
// have not figured out yet
} This way we wouldn't need to modify the AugmentationPipeline if we want to add some new augmentation in the future. What do you think ? |
Beta Was this translation helpful? Give feedback.
-
One comment for consideration. I think we should name the interface something like AugmentationSeries/Sequence/Pipeline etc... |
Beta Was this translation helpful? Give feedback.
-
Augmentation Builder Concept
This concept utilizes the builder pattern to create a more modular and flexible approach to constructing an image augmentation sequence.
Example Usage
Augmentation Sequence Builder Concept
This concept utilizes the builder pattern to create a more modular and flexible approach to constructing an image augmentation sequence.
Example Usage
Augmentation Interface and Abstract Class
Below are the interface and abstract class definitions for the image augmentation pipeline. These provide a framework for implementing various image augmentations.
AugmentationSequence Interface
The
AugmentationSequence
interface defines the methods that must be implemented for an augmentation sequence to be applied to single images or a batch of images.Structure Draft for Image Augmentation API
The draft below outlines the proposed structure for the image augmentation API, detailing the organization of packages and their respective roles.
Packages:
org.edux.core
:org.edux.augmentation
:org.edux.augmentation.transforms
:org.edux.augmentation.effects
:org.edux.augmentation.io
:org.edux.augmentation.utils
:Each package is designed to encapsulate a specific aspect of the image augmentation process, which promotes a modular design and ease of maintenance.
Enums for Different Augmentation Settings
These enums are designed to provide standardized options for various augmentation operations that can be applied to images in the augmentation pipeline.
Beta Was this translation helpful? Give feedback.
All reactions