Wiki
Clone wikianima / Presentation
#!bash # Introduction to Anima ▀██████░███░▄ ▀██████░███░██████▄ ███████░██░█████░░▄ ███████░░░███░░████ ▀█████████░█░██████ ██████████░███████ ███████░░█░████▀ ▀████░░████░██▀ ▀██░███████░▀▄ ▀▀▀▀ ▀█ ▀▄ █ ▄▀▄ █▄ █ █ █▄ ▄█ ▄▀▄ ▄▀ █ ▀▀█ █ ▀█ █ █ ▀ █ █▀▀ █ █ █ ▄▀ █ █ ▀ == Image Analysis platform built on top == == of pipeline workflow engine Anduril == == INTENDED FOR DEVELOPERS! == http://anduril.org/anima # Why a new platform (for the developers) * Increase Usability following http://dx.doi.org/10.1038/nmeth.2073 * API for several languages directly * Software integration: reuse code * No reimplementation errors due to using original implementation * API forces to document inputs, outputs and parameters * Published with source code, 3rd party involvement possible * http://code.google.com/p/anduril-imaging/ * Automated testing of components * Run at our concurrent testing site * "anduril test" command # Integration ┌─────────────────────────────────────────────────────────┐ │Anima/Anduril runs components as separate processes │ │ │ │ * Automated parallelization/cluster run │ │ * Fast reruns by saving all intermediate phases │ │ * Rapid development │ │ * Components in any language │ │ * Direct APIs for: Fiji, CellProfiler, Matlab, Python,│ │ ImageMagick, Bash, Perl, Java, R │ │ * Basically anything scriptable │ ├─────────────────────────────────────────────────────────┤ │Ease of analysis │ │ * Integrate analysis with other fields │ │ Statistics, Machine Learning, Visualization.. etc │ │ * Abstracts algorithms and methods from analysis flow │ │ * Does not reinvent the wheel: │ │ * Standard image formats, CSV files for data, │ │ PDF, HTML+js for complex visualization │ │ * Easy to include in publications, web pages │ └─────────────────────────────────────────────────────────┘ # Typical use * Develop new algorithm in your favorite language * Use existing tools already in any platform * Flow the data with Anima * Reuse parts of scripts later! # Example pipeline ------------------ #!/usr/bin/env anduril-runner import anduril.builtin._ import anduril.tools._ import anduril.anima._ import org.anduril.runtime._ object Tutorial { // refer to a directory with images, names prefixed either "case" or "ctrl" val source_images=INPUT(path="folder") // Extract 3rd channel as grayscale PNG val gray_dapi=BFConvert(source_images, switches="-channel 0", gray=true) // Use GraphCut algorithm to create nucleus mask val cells=SegmentGraphCut(gray_dapi,minScale=2,maxScale=10) // Read morphological features from mask val features=MorphologyFeatures(cells.mask) // Split morphological data table to 2 CSV files, by // 4 first characters of the image file name val split_data=CSVSplit(features.out, labelCol="File", regexp="(....)") // Here, we assume that the 4 first characters were either // 'ctrl' or 'case'. Then calculate the t-test on the nucleus areas. val t_test=StatisticalTest(matrix=split_data.out("ctrl").force(), matrix2=split_data.out("case").force(), byRow=false, referenceColumns="Area", targetColumns="Area") // Create a visualization of segmentation. Note that this component is // independent of many previous ones, and would be run in parallel. val visualization=MergeImage(in=makeArray(gray_dapi.out, cells.perimeter), colors="B,Y") // Create an HTML web gallery of the visualizations val gallery=ImageGallery(inRoot=visualization) } # Example with C. Elegans * BBBC 10, benchmark data set of 100 images, mostly dead / alive worms in an image. Annotation at image level. * Extract features * Calculate Length / end-to-end distance ratio * Create classifier * 6 minutes on 2-core laptop * Pipeline in the supplementary of http://journal.frontiersin.org/Journal/10.3389/fbioe.2014.00025/ # Anima Published ▀██████░███░▄ ▀██████░███░██████▄ ███████░██░█████░░▄ ███████░░░███░░████ ▀█████████░█░██████ ██████████░███████ ███████░░█░████▀ ▀████░░████░██▀ ▀██░███████░▀▄ ▀▀▀▀ ▀█ ▀▄ █ ▄▀▄ █▄ █ █ █▄ ▄█ ▄▀▄ ▄▀ █ ▀▀█ █ ▀█ █ █ ▀ █ █▀▀ █ █ █ ▄▀ █ █ ▀ http://journal.frontiersin.org/Journal/10.3389/fbioe.2014.00025/ Anima: Modular workflow system for comprehensive image data analysis. Ville Rantanen, Miko Valori and Sampsa Hautaniemi Front. Bioeng. Biotechnol. doi: 10.3389/fbioe.2014.00025
Updated