Interoperability of Imaging Data File Formats: The MPScope Case
description
Transcript of Interoperability of Imaging Data File Formats: The MPScope Case
-
Interoperability of Imaging Data File Formats:The MPScope Case Quoc-Thang NGUYENPhysics Department, UCSD
-
Multiphoton laser fluorescence scanning microscopy. Multiphoton Laser Fluorescence Scanning Microscope (MPLFSM):
Focus high energy, femtosecond laser pulse to excite fluorescent dye:
2 photons @ 800 nm ~ 1 photon @ 400 nm
MPLFSM versus other Fluorescence Microscopes:
No out of focusz-sectioning, sharp contrast excitation
Longer l Better penetration in scattering tissue
Smaller excitation Less dye bleaching volumeBetter resolutionMore photons collected
-
Brightfield vs. MultiphotonTrigeminal Ganglion Neurons loaded with Calcium GreenZeiss Axioplan 2MicroscopeCooled CCD CameraFuzzy images, severe bleachingMultiphoton LaserScanning FluorescenceMicroscopez-sectioning500 mm40 xWaterImmersionObjective
- Custom-built multiphoton microscopesUsed in Neuroscience, Immunology, Developmental Biology... Commercial two-photon scopes: $750K Custom-made 2P scope:
-
The MPScope Software SuiteSoftware choice for custom multiphoton microscope was limited:
ScanImage (K. Svoboda's lab - Matlab)- LabView based software
MPScope:
Comprehensive suite of programs to control custom multiphotonmicroscopes and analyze results- Downloaded by ~ 50 laboratories worldwide (executable or source code)- Extensive community, now on NITRC- Commercial scopes using MPScope
Nguyen et al. (2006) MPScope: a versatile software suite for multiphoton microscopy. J. Neurosci. MethodsNguyen, Q.-T. and Kleinfeld, D. (2008) Book chapter in "In vivo optical imaging of brain function"
-
MPScope: DescriptionMPScope =
MPScan
+
MPView
+
MPFileMicrosoft Windows Platform
-
Important features of MPScopeHigh performance suite of software:
Very fast, compact (native compiled code) Symmetrical line scans for fast frame rate- Easy deployment: no need for run-time libraries- Professional looking GUI- Supports wide variety of microscope hardware- Multithreaded- Intel Integrated Performance Primitive Library
COM (Component Object Model) -based technologies:
ActiveX Automation client and server- ActiveX Scripting- Structured Storage
-
File Format ConsiderationsGoal of File Format :
Uncompromizing performance and seamless integration withWindows to allow different types of data (imaging, electrophys)to be stored
Native (i.e., binary with Intel byte ordering) Fast Opaque header
Text/XML-based data file: Bulky (storing binary data is convoluted) Slower
-
The MPScope File Format (I)Structured Storage: "A File System Inside a File"
- COM: Component Object Model (Windows)- Compound Files: Implementation of Structured Storage
Structured Storage
Hierarchical organizations of folders and data streams insidea data file Previously used as the Microsoft Office file format mechanism,CAD programs, etc...
-
The MPScope File Format (II)"A File System Inside a File" Extensible file structure (displacement deltas)
Allow e-phys, imaging + other info to be stored independently
Queriable, extensible, programmableProperty Information StreamSolves the opaque, non-extensible header problem!Data mining
-
Interoperability with other applications (I)Data Interchange Via Disk File
MPScan (acquisition):- Save asBMP fileMPView:- Save as:TIFFAVIBMP
Convenient, but ackward and slow!
-
Interoperability with other applications (II)Data Interchange from adressing space to adressing space
Faster, more accurate memory to memory transfer- ActiveX Automation + ActiveX Scripting
Possibilities:
- MPView -> Matlab (images to matrices automatically)One mouse click
MPFile.OCX -> Matlab, Visual Basic, C++ clientsA few lines of code (high-level component)
MPScan -> Header additions in near real-time
MPScan -> MySQL database for logging files
- MPScan -> whole frames to clients in near real-time
-
Interoperability with other applications (III)The MPFILE.OCX component
ActiveX Automation standard component
Opens MPScope files from any ActiveX Automation- enabledapplication (Matlab, C/C++, Visual Basic, Delphi)
High-level interface, no need to think about headers, file offsets
Backward and forward compatible
Easy to use (Matlab example):f = figure( [300, 300, 500, 500])mpfile = actxcontrol('MPFile.Data', [0, 0, 500, 500], f)openResult = invoke(mpfile, 'OpenMPFile', 'c:\MCC\050105_006.MPD')openResult =0frameCount = invoke(mpfile, 'ReadParameter', 'Frame Count')frameCount =150
-
ConclusionWhat we learned:
It's OK to have a proprietary file format as long as there aresoftware translators for major image formats and softwarebridges to other applications.
Future Directions:
- Enhanced Windows Integration.
Thumbnail images in Explorer, Windows 64-bit Cross-Platform Tools for Mac OSX and Linux.
Java libraries for reading Compound Files (Apache POIFS).
Compound File specs opened by Microsoft as part ofthe Microsoft Open Specification Promise (2007)