-
Notifications
You must be signed in to change notification settings - Fork 13
List of Rodan Jobs
Currently, Rodan jobs are divided into 3 groups: Base jobs, Python3 jobs, and GPU jobs. You can see more detailed information on required ports and authors at the source files or by opening the jobs in Rodan. To see how these jobs can be implemented in a workflow, see DDMAL's End-to-End OMR Workflow Documentation.
-
Resource Distributor: Specifies the eligible resource types for input.
-
Labeler: Add label to resources.
These jobs' sole functions are to test basic Rodan functionalities such as job queues, input/output ports, etc.
- Hello World: Output string "Hello World"
- Hello World - Python3: Output string "Hello World", using a different celery queue.
- Hello World Multiple Ports: Concatenate all input files and append "Hello World MultiPort"
A wrapper for the library to implement it as a Rodan Job
See the MEI2Volpiano repo.
- Mei2Volpiano: Converts MEI or XML files into volpiano strings.
Wrappers for PIL tasks in Rodan.
-
Red Filtering: Filters a spectrum of red color from image
-
Resize Image: Resize an image.
-
PNG (RGB): Convert image to png format
-
TIFF: Convert image to tiff format
See more information of the Gamera 4 Package here
-
Non-Interactive Classifier: Performs classification on a binarized staff-less image and outputs an xml file.
-
CC Analysis: Performs connected component analysis on the image.
-
Invert: Invert the image
-
-
Gatos Background: Estimates the background of an image according to Gatos et al.'s method.
Reference: Gatos, Basilios, Ioannis Pratikakis, and Stavros J. Perantonis. 2004. An adaptive binarization technique for low quality historical documents. *Lecture Notes in Computer Science* 3163: 102--113.
-
Gatos Threshold: Thresholds an image according to Gatos et al.'s method.
Reference: Gatos, Basilios, Ioannis Pratikakis, and Stavros J. Perantonis. 2004. An adaptive binarization technique for low quality historical documents. *Lecture Notes in Computer Science* 3163: 102--113.
-
Brink Threshold: Calculates threshold for image with Brink and Pendock's minimum-cross
entropy method and returns corrected image. It is best used for binarising images with dark, near-black foreground and significant bleed-through. To that end, it generally predicts lower thresholds than other thresholding algorithms.Reference: A.D. Brink, N.E. Pendock: Minimum cross-entropy threshold selection. Pattern Recognition 29 (1), 1996. 179-188.
-
Sauvola Threshold: Creates a binary image using Sauvola's adaptive algorithm.
Reference: Sauvola, J. and M. Pietikainen. 2000. Adaptive document image binarization. Pattern Recognition 33: 225--236.
-
Niblack Threshold: Creates a binary image using Niblack's adaptive algorithm.
Reference: Niblack, W. 1986. An Introduction to Digital Image Processing. Englewood Cliffs, NJ: Prentice Hall.
-
-
- Convert to RGB PNG
- Convert to greyscale PNG
- Convert to greyscale 16 PNG
- Convert to one-bit (black and white) PNG: Converts the given image to a ONEBIT image. First, the image is converted and then the otsu_threshold_ algorithm is applied. For other ways to convert to ONEBIT images, see the Binarization_ category.
-
-
Otsu Threshold: Creates a binary image by splitting along a threshold value determined using the Otsu algorithm.
Reference: N. Otsu: A Threshold Selection Method from Grey-Level Histograms. IEEE Transactions on Systems, Man, and Cybernetics (9), pp. 62-66 (1979)
-
Tsai Moment Preserving Threshold: Finds a threshold point using the Tsai Moment Preserving threshold algorithm.
Reference: W.H. Tsai: Moment-Preserving Thresholding: A New Approach. Computer Vision Graphics and Image Processing (29), pp. 377-393(1985)
-
Abutaleb locally-adaptive threshold: Creates a binary image by using the Abutaleb locally-adaptive thresholding algorithm.
-
Bernsen threshold: Creates a binary image by using the Bernsen algorithm.
Reference: J. Bernsen: Dynamic thresholding of grey-level images. Proc. 8th International Conference on Pattern Recognition (ICPR8), pp. 1251-1255, 1986.
-
DjVu threshold: Creates a binary image by using the DjVu thresholding algorithm.
Reference: Bottou, L., P. Haffner, P. G. Howard, P. Simard, Y. Bengio and Y. LeCun. 1998. High Quality Document Image Compression with DjVu. AT&T Labs, Lincroft, NJ. http://research.microsoft.com/~patrice/PDF/jei.pdf
-
-
MusicStaves Toolkit is a plugin for Gamera.
See Rodan-MusicStaves documentation here.
- Miyao Staff Finder: use Miyao staff finding algorithm to detect staff lines.
Heuristic Pitch Finding jobs utilize Gamera and the MusicStaves Toolkit but is presented as a separate category.
-
Miyao Staff Finding: Finds the location of staves in an image and returns them as a JSOMR file.
This job uses the same Gamera - MusicStaves function as the Miyao Staff Finder job but with differences in input types and output formats.
-
Heuristic Pitch Finding: Calculates pitch values for Classified Connected Componenets from a JSOMR containing staves, and returns the results as a JSOMR file
- MEI Encoding: Builds an MEI file from pitchfinding information and transcript alignment results.
- MEI Resizing: Scale the facsimile of an MEI file
- Diagonal Neume Slicing: A tool for splitting neumes into neume components based on diagonal projection.
- Dirty Layer Repair: A tool for 'repairing' broken layers by adding errors from a dirty layer. For example, using a text layer to repair its neume layer.
- Column Splitting: Takes a multi column image and number of columns as input, returns an image with all columns vertically stacked.
- Staff Distance Finding: Outputs the approximate distance in pixels between staff lines and the ratio between the ideal distance (64px) and the approximate distance.
Rodan contains 2 remote jobs that exist outside of the Rodan repository code base and are installed and built separately.
- Neon: Neume Editor Online. Neon is a browser-based music notation editor written in JavaScript using the Verovio music engraving library. The editor can be used to manipulate digitally encoded early musical scores in square-note notation.
- Pixel: Pixel.js is a drawing and layering plugin that works on top of Diva.js.
They are installed into Rodan through wrappers: Neon wrapper and Pixel_wrapper.
(currently not compatible with Apple Silicon chips for local deployment. See more here)
-
Text Alignment: Given a text layer image and a transcript of some text on that page, finds the positions of each syllable of text in the transcript on the image.
Reference: de Reuse and Fujinaga, "Robust Transcript Alignment on Medieval Chant Manuscripts," in Proceedings of the 2nd International Workshop on Reading Music Systems, 2019
-
Training model for Patchwise Analysis of Music Document, Training: The job performs the training of many Selection Auto-Encoder model for the pixelwise analysis of music document images.
-
Fast Pixelwise Analysis of Music Document, Classifying: Given a pre-trained Convolutional neural network, the job performs a (fast) pixelwise analysis of music document images.
- Background Removal: Use Sauvola threshold to remove background.
- SAE Binarization: Uses Neural Network Model to perform background removal.
- Repository Structure
- Working on Rodan
- Testing Production Locally
- Working on Interactive Classifier
- Job Queues
- Testing New Docker Images
- Set up Environment Variables
- Set up SSL with Certbot
- Set up SSH with GitHub
- Deploying on Staging
- Deploying on Production
- Import Previous Data