280 likes | 430 Views
FrIDA: An open source framework for image dataset analysis Toby Cornish, MD, PhD Department of Pathology Johns Hopkins Medical Institutions Baltimore, MD. FrIDA. Fr amework for I mage D ataset A nalysis Framework provides tools that allow users to create their own analysis methods
E N D
FrIDA: An open source framework for image dataset analysis Toby Cornish, MD, PhD Department of Pathology Johns Hopkins Medical Institutions Baltimore, MD
FrIDA Framework for Image Dataset Analysis • Framework provides tools that allow users to create their own analysis methods • Image Dataset iterates over a set of images, applying the same methods to each image • Analysis returns per image statistics about area and intensity in a given region of interest
FrIDA specs • Written in Java • Uses libraries from the popular Image J program (Wayne Rasband, NIH) • Programmed by James Morgan • Design by Toby Cornish, James Morgan and Angelo DeMarzo
FrIDA specs, cont. • Licensed under MPL and currently available at sourceforge: • http://sourceforge.net/projects/fridajhu/ • Requirements: • Java 6 runtime environment (JRE) • Optional: • MySQL database
FrIDA • Operates on 24 bit color image files, including TIFF, JPEG, etc. • Currently supports analysis of: • Area (total, ROI) • Intensity (mean, median, min, max) • Saves all analysis settings to either an XML file or a MySQL database • Results are saved to an XML file or plain text file • Central concept: Masking…
Masking • Mask: • a binary image that defines certain pixels as included (foreground) or excluded (background) Foreground = white Background = black Color Image “Tissue” Mask
Masking, cont. • Grayscale segmentation is an example of a process that produces a mask Grayscale segmentation Color Image “Tissue” Mask
Masking, cont. • FrIDA currently supports these masking methods: • Color mask: uses HSB color space segmentation to select pixels within a color range • Lasso mask: freehand selection of pixels using bounding polygons • Metamask: combination of two masks using boolean logic
Masking • Color mask • Lasso mask • Metamask
Color space segmentation • Segmentation assigning the pixels in an image to a particular category, i.e. classifying them • Color segmentation grouping of pixels of similar color • The first step in any analysis of staining, i.e. which pixels are brown and which are blue?
HSB/HSV color space • More intuitive for human interaction • 1 pixel = 3 values • Hue, Saturation, Brightness (Value) • H x S circle (chromaticity) • Hue defines a color; saturation the amount of color present • B (V) z-axis • Defines the “brightness” H S H B 0o S
Color space segmentation 35o H = 0 to 35 degrees S = 0 to 100% I = 0 to 100% 0o S
HSB segmentation in FrIDA • “Color Mask” • Select colors by either: • An eyedropper-style tool, and/or • Three pairs of sliders that define bandpass ranges for Hue, Saturation and Brightness
Color masking, cont. Brown HSB Segmentation
Masking • Color mask • Lasso mask • Metamask
“Lasso” masking Freehand polygon tool for drawing regions of interest to be masked (red line)
“Lasso” masking, cont. Any number of lasso can be defined; multiple selections possible by holding down “shift”
“Lasso” masking Red lasso defines a mask Include Exclude
Masking • Color mask • Lasso mask • Metamask
Meta masking • Metamasks combine two or more masks using boolean logic: • AND: the intersection of two masks • “all pixels in both mask1 AND mask2” • OR: the union of two masks • “all pixels either in mask1 OR mask2” • NOT: uses the inverse of a mask • “all pixels NOT in mask1”
Meta masking, cont. • Metamasks combine two or more masks using boolean logic:
Meta masking, cont. • Metamasks bring all the elements together for analysis…
NOT Exclude Exclude Include Brown Include AND (NOT Exclude) Include AND (NOT Exclude) AND Brown NOT AND AND
Original Include AND (NOT Exclude) AND Brown The mask is applied to the original image, selecting the pixels of interest and resultant image is analyzed MASK Masked Original ANALYSIS
Future directions • Preprocessing of images • Additional masks: • e.g., binary operations • Erosion, dilation, watershed segmentation, size exclusion, shape descriptor exclusion • Additional results: • Particle counting • Integration with TMAJ: • Display of masks while browsing TMAs
Acknowledgements • James Morgan, B.S. • Bora Gurel, M.D. • Angelo DeMarzo, M.D., Ph.D. • Source for FrIDA can be obtained at sourceforge.net • Anyone interested in a live demo may request one during the meeting