Quoc-Thang Nguyen`s presentation PPT

Download Report

Transcript Quoc-Thang Nguyen`s presentation PPT

Interoperability of Imaging Data File Formats:
The MPScope Case
Quoc-Thang NGUYEN
Physics 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 focus
excitation
Longer l
Smaller excitation
volume
z-sectioning, sharp contrast
Better penetration in scattering tissue
Less dye bleaching
Better resolution
More photons collected
Brightfield vs. Multiphoton
500 mm
Trigeminal Ganglion Neurons loaded with Calcium Green
40 x
Water
Immersion
Objective
Zeiss Axioplan 2
Microscope
Cooled CCD Camera
Fuzzy images, severe bleaching
Multiphoton Laser
Scanning Fluorescence
Microscope
z-sectioning
Custom-built multiphoton microscopes
Used in Neuroscience, Immunology,
Developmental Biology...
 Commercial two-photon scopes: $750K
 Custom-made 2P scope: <$250K
Better optics, detectors and layout for in vivo/in
vitro experiments. Extensive customization
(bringing other laser lines etc...)
The MPScope Software Suite
Software choice for custom multiphoton microscope was limited:
- ScanImage (K. Svoboda's lab - Matlab)
- LabView based software
MPScope:
- Comprehensive suite of programs to control custom multiphoton
microscopes 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. Methods
Nguyen, Q.-T. and Kleinfeld, D. (2008) Book chapter in "In vivo optical imaging of brain function"
MPScope: Description
MPScope =
MPScan
+
MPView
+
MPFile
Microsoft Windows Platform
Important features of MPScope
High 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 Considerations
Goal of File Format :
Uncompromizing performance and seamless integration with
Windows 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 inside
a 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, programmable
Property Information Stream
Solves the opaque, non-extensible header problem!
Data mining
Interoperability with other applications (I)
Data Interchange Via Disk File
MPScan (acquisition):
- Save as
MPView:
- Save as:
BMP file
TIFF
AVI
BMP
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++ clients
A 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- enabled
application (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 =
0
frameCount = invoke(mpfile, 'ReadParameter', 'Frame Count')
frameCount =
150
Conclusion
What we learned:
It's OK to have a proprietary file format as long as there are
software translators for major image formats and software
bridges 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 of
the Microsoft Open Specification Promise (2007)