Interoperability of Imaging Data File Formats: The MPScope Case Quoc-Thang NGUYEN Physics Department, UCSD.

Slides:



Advertisements
Similar presentations
Voice Server. Aspiration Provide a unique service to the members of CCSU. Provide a unique service to the members of CCSU. Provide a Streaming Voice Server.
Advertisements

Session 13 Active Server Pages (ASP) Matakuliah: M0114/Web Based Programming Tahun: 2005 Versi: 5.
MCITP Guide to Microsoft Windows Server 2008 Server Administration (Exam #70-646) Chapter 11 Windows Server 2008 Virtualization.
Innovating Test Technologies Microvue 1 Cascade Microtech’s Wavevue Measurement Application Software September 19, 2003.
ISYS 512 Business Application Design and Development with.Net David Chao.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
B-1 Appendix B Information System Software Robert Riordan, Carleton University.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Programming A Historic Perspective on Code Reuse Yingcai Xiao.
1 Alternate Title Slide: Presentation Name Goes Here Presenter’s Name Infrastructure Solutions Division Date GIS Perfct Ltd. Autodesk Value Added Reseller.
Installing Windows XP Professional Using Attended Installation Slide 1 of 41Session 2 Ver. 1.0 CompTIA A+ Certification: A Comprehensive Approach for all.
Types of software. Sonam Dema..
Object Oriented Software Development 1. Introduction to C# and Visual Studio.
Python Introduction.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
TC2-Computer Literacy Mr. Sencer February 8, 2010.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Computer Systems Week 10: File Organisation Alma Whitfield.
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Visual Basic: An Object Oriented Approach 12 – Creating and using ActiveX objects.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
How to Configure Informix Connect and ODBC James Edmiston Informix DBA Consultant/Quest Information Systems, Inc. Informix User Forum 2005 Moving Forward.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
4 1 Operating System Activities  An operating system is a type of system software that acts as the master controller for all activities that take place.
DIFFERENCE BETWEEN ORCAD AND LABVIEW
02/2008 MATRIX VISION GmbH 1 Presentation The intelligent camera and Image processing sensor.
Implementation - Deployment Methods of deployment –User PC –Network shared (workstation install) –Terminal server –Web Deployment (ActiveX) (Note: this.
C# Overview and Features. Content I.History of C# II.Architecture III.How to install IV.Features V.Code Sample VI.Microsoft.NET Platform VII.Why use C#
Microsoft Application Virtualization 5.0: Introduction Mohnish Chaturvedi & Ian Bartlett Premier Field Engineer WCL312.
MySQL. Dept. of Computing Science, University of Aberdeen2 In this lecture you will learn The main subsystems in MySQL architecture The different storage.
2. Introduction to the Visual Studio.NET IDE. Chapter Outline Overview of the Visual Studio.NET IDE Overview of the Visual Studio.NET IDE Menu Bar and.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
VirtualBox What you need to know to build a Virtual Machine.
C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
OME-TIFF and Bio-Formats K. Eliceiri, E. Hathaway, M. Linkert, and C. Rueden
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
Liang, Introduction to C++ Programming, (c) Chapter 1 Introduction to Computers, Programs, and C++
Optical Neuroimaging: Investigating Plasticity Multi-Modal Neuroimaging Program Presenter: Santresda Johnson B.A., M.S. Neuropsychology, Howard University.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
What’s New in Windows Forms 2.0 Stephen Turner Software Design Engineer
A Remote Collaboration Environment for Protein Crystallography HEPiX-HEPNT Conference, 8 Oct 1999 Nicholas Sauter, Stanford Synchrotron Radiation Laboratory.
Unit 1: Computing Fundamentals. Computer Tour-There are 7 major components inside a computer  Write down each major component as it is discussed.  Watch.
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
Introduction to Programming 1 1 2Introduction to Java.
Microsoft Visual Basic 2015 CHAPTER ONE Introduction to Visual Basic 2015 Programming.
CITA 171 Section 1 DOS/Windows Introduction. DOS Disk operating system (DOS) –Term most often associated with MS-DOS –Single-tasking operating system.
Axio Scan.Z1. 2 Agenda 1. Why do we need to Whole slide scanning? 2. What can you do with a virtual slide? 3. Axioscan. Z1 system.
Basic Computer Hardware and Software.
Component Object Model(COM)
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Topics Introduction Hardware and Software How Computers Store Data
Introduction to Visual Basic 2008 Programming
Basic Computer Hardware and Software.
Basic Computer Hardware & Software
Basic Computer Hardware and Software.
Computer Science I CSC 135.
Web Development Using ASP .NET
CIS16 Application Development – Programming with Visual Basic
Introduction to .NET By : Mr. V. D. Panchal Content :
C++/Java/COM Interoperability
Presentation transcript:

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: nm ~ nm MPLFSM versus other Fluorescence Microscopes: No out of focusz-sectioning, sharp contrast excitation Longer Better penetration in scattering tissue Smaller excitation Less dye bleaching volumeBetter resolution More photons collected

Brightfield vs. Multiphoton Trigeminal Ganglion Neurons loaded with Calcium Green Zeiss Axioplan 2 Microscope Cooled CCD Camera Fuzzy images, severe bleaching Multiphoton Laser Scanning Fluorescence Microscope z-sectioning 500  m 40 x Water Immersion Objective

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 asBMP file MPView: - Save as: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)