SAPPHIRE: A toolkit for building efficient stream programs for medical video analysis

This paper describes the design and implementation of SAPPHIRE--a novel middleware and software development kit for stream programing on a heterogeneous system of multi-core multi-CPUs with optional hardware accelerators such as graphics processing unit (GPU). A stream program consists of a set of tasks where the same tasks are repeated over multiple iterations of data (e.g., video frames). Examples of such programs are video analysis applications for computer-aided diagnosis and computer-assisted surgeries. Our design goal is to reduce the implementation efforts and ease collaborative software development of stream programs while supporting efficient execution of the programs on the target hardware. To validate the toolkit, we implemented EM-Automated-RT software with the toolkit and reported our experience. EM-Automated-RT performs real-time video analysis for quality of a colonoscopy procedure and provides visual feedback to assist the endoscopist to achieve optimal inspection of the colon during the procedure. The software has been deployed in a hospital setting to conduct a clinical trial.

[1]  Wallapak Tavanapong,et al.  SAPPHIRE middleware and software development kit for medical video analysis , 2011, 2011 24th International Symposium on Computer-Based Medical Systems (CBMS).

[2]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[3]  Nicolas Bruno,et al.  SCOPE: parallel databases meet MapReduce , 2012, The VLDB Journal.

[4]  Gregor von Laszewski,et al.  Swift: Fast, Reliable, Loosely Coupled Parallel Computation , 2007, 2007 IEEE Congress on Services (Services 2007).

[5]  Forum Mpi MPI: A Message-Passing Interface , 1994 .

[6]  William Thies,et al.  StreamIt: A Language for Streaming Applications , 2002, CC.

[7]  Nathan Bell,et al.  Thrust: A Productivity-Oriented Library for CUDA , 2012 .

[8]  Mark Pesce Programming Microsoft DirectShow for Digital Video and Television , 2003 .

[9]  Amitabh Chak,et al.  Quality Indicators for Colonoscopy , 2006, Gastrointestinal endoscopy.

[10]  Teodor Gabriel Crainic,et al.  Benchmark-problem instances for static scheduling of task graphs with communication delays on homogeneous multiprocessor systems , 2006, Comput. Oper. Res..

[11]  Jung-Hwan Oh,et al.  Color Based Stool Region Detection in Colonoscopy Videos for Quality Measurements , 2011, PSIVT.

[12]  Michael J. Quinn,et al.  Parallel programming in C with MPI and OpenMP , 2003 .

[13]  Sean Stanek,et al.  Semi-automated parallel programming in heterogeneous intelligent reconfigurable environments (SAPPHIRE) , 2012 .

[14]  Ishfaq Ahmad,et al.  Benchmarking and Comparison of the Task Graph Scheduling Algorithms , 1999, J. Parallel Distributed Comput..

[15]  Sanjeev Baskiyar,et al.  Scheduling directed a-cyclic task graphs on a bounded set of heterogeneous processors using task duplication , 2005, J. Parallel Distributed Comput..

[16]  Jung-Hwan Oh,et al.  Effective and Accelerated Informative Frame Filtering in Colonoscopy Videos using Graphics Processing Unit , 2010, BIOSIGNALS.

[17]  Jung-Hwan Oh,et al.  Automatic real-time detection of endoscopic procedures using temporal features , 2012, Comput. Methods Programs Biomed..

[18]  Pawel Rzazewski,et al.  Thrust and CUDA in Data Intensive Algorithms , 2012, ADBIS Workshops.