scholarly journals A new implementation of itk::ImageToImageFilter for efficient parallelization of image processing algorithms using Intel Threading Building Blocks

2016 ◽  
Author(s):  
Amir Jaberzadeh ◽  
Benoit Scherrer ◽  
Simon Warfield

Modern medical imaging makes use of high performance computing to accelerate image acquisition, image reconstruction, image visualization and image analysis. Software libraries that provide implementations of key medical imaging algorithms need to efficiently exploit modern CPU architectures. In particular, workstations with small numbers of cores are being replaced by very high core count architectures, and by many integrated core architectures, which offer acceleration by vectorization and multi-threading.The Insight Toolkit (ITK) is the premier open source implementation of medical imaging algorithms, with a generic design for image processing filters that allows for many developers to rapidly incorporate these algorithms in to new applications. While ITK filters benefit from a generic, platform independent multithreading capability, the current implementation is difficult to exploit to achieve very high performance. Specifically, ITK relies on a static decomposition of the image into subsets of equal size which can be highly inefficient. Threads that terminate early due to uneven work throughout the image finish early and do not contribute further to the processing of more complex regions, leading to idle computational resources and longer execution times. Performance is also difficult to coordinate across multiple algorithms, as the ITK filter assumes each filter operates independently but the global implementation has an impact across filters.In this work, we propose a novel, simple to use, high performance multithreading capability for ITK that accelerates the itk::ImageToImageFilter. We utilise a workpile data decomposition strategy, and leave the task of optimal job scheduling on CPU cores to the library called Threading Building Blocks (TBB). We demonstrate the efficacy of multi-threading with TBB in comparison to the itk::Multithreader class, through three simple example image analysis algorithms.Our implementation provides a new multi-threaded itk::ImageToImageFilter that can be conveniently reused to provide simple and efficient multi-threaded code across applications and algorithm libraries. Our new implementation is distributed as open-source software to the community and is straightforward to adopt.

2017 ◽  
Author(s):  
Etienne St-Onge ◽  
Benoit Scherrer ◽  
Simon Warfield

The Insight Toolkit (ITK) utilizes a generic design for image processing filters that allows many developers to rapidly implement new algorithms. While ITK filters benefit from a platform-independent and versatile multithreading capability, the current implementation does not easily achieve high performance. First, ITK relies on a static decomposition of the image into subsets of equal size which is highly inefficient when the computational complexity varies between subsets (unbalanced workloads). Second, the current domain decomposition is limited to subdivide the input domain along a single dimension (typically the slice dimension in a 3-D volume), which causes a multithreading under-utilization when the number of threads is larger than the size of this dimension when using massively parallel compute systems. We previously presented a new itk::TBBImageToImageFilter class that replaced the static task decomposition by a dynamic task decomposition for improved workload balancing, in which the job scheduling task was optimized using the Intel® Threading Building Blocks (TBB) library. In this work, we propose a new multidimensional dynamic image decomposition approach that allows decomposition over an arbitrary number of dimensions. This new generic multithreading capability, combined with the TBB dynamic task scheduler, substantially improves multithreading performance when using massively parallel processors.


2016 ◽  
Vol 22 (3) ◽  
pp. 238-249 ◽  
Author(s):  
Ioannis K. Moutsatsos ◽  
Imtiaz Hossain ◽  
Claudia Agarinis ◽  
Fred Harbinski ◽  
Yann Abraham ◽  
...  

High-throughput screening generates large volumes of heterogeneous data that require a diverse set of computational tools for management, processing, and analysis. Building integrated, scalable, and robust computational workflows for such applications is challenging but highly valuable. Scientific data integration and pipelining facilitate standardized data processing, collaboration, and reuse of best practices. We describe how Jenkins-CI, an “off-the-shelf,” open-source, continuous integration system, is used to build pipelines for processing images and associated data from high-content screening (HCS). Jenkins-CI provides numerous plugins for standard compute tasks, and its design allows the quick integration of external scientific applications. Using Jenkins-CI, we integrated CellProfiler, an open-source image-processing platform, with various HCS utilities and a high-performance Linux cluster. The platform is web-accessible, facilitates access and sharing of high-performance compute resources, and automates previously cumbersome data and image-processing tasks. Imaging pipelines developed using the desktop CellProfiler client can be managed and shared through a centralized Jenkins-CI repository. Pipelines and managed data are annotated to facilitate collaboration and reuse. Limitations with Jenkins-CI (primarily around the user interface) were addressed through the selection of helper plugins from the Jenkins-CI community.


2018 ◽  
Author(s):  
Romain F. Laine ◽  
Kalina L. Tosheva ◽  
Nils Gustafsson ◽  
Robert D. M. Gray ◽  
Pedro Almada ◽  
...  

Super-resolution microscopy has become essential for the study of nanoscale biological processes. This type of imaging often requires the use of specialised image analysis tools to process a large volume of recorded data and extract quantitative information. In recent years, our team has built an open-source image analysis framework for super-resolution microscopy designed to combine high performance and ease of use. We named it NanoJ - a reference to the popular ImageJ software it was de-veloped for. In this paper, we highlight the current capabilities of NanoJ for several essential processing steps: spatio-temporal alignment of raw data (NanoJ-Core), super-resolution image re-construction (NanoJ-SRRF), image quality assessment (NanoJ-SQUIRREL), structural modelling (NanoJ-VirusMapper) and control of the sample environment (NanoJ-Fluidics). We expect to expand NanoJ in the future through the development of new tools designed to improve quantitative data analysis and measure the reliability of fluorescent microscopy studies.


2010 ◽  
Author(s):  
David Gobbi ◽  
Parvin Mousavi ◽  
Karen Li ◽  
Jing Xiang ◽  
Adam Campigotto ◽  
...  

We have created open-source Simulink block libraries for ITK and VTK that allow pipelines for these toolkits to be built in a visual, drag-and-drop style within MATLAB. Each block contains an instance of an ITK or VTK class. Any block connections and parameters that the user makes within MATLAB’s Simulink visual environment are converted into connections and parameters for the ITK and VTK pipelines. In addition, we provide conversion of images to and from MATLAB arrays to allow MATLAB image processing blocks to be mixed with ITK and VTK blocks. The code for our block libraries is generated automatically from XML descriptions of the inputs, outputs, and parameters of the ITK and VTK classes. We have used these block libraries to build some example pipelines and believe that they will be useful for developing applications in image analysis and image-guided therapy.


2010 ◽  
Author(s):  
Matthew Mccormick

This document describes an open source, high performance ultrasound B-Mode implementation based on the Insight Toolkit (ITK). ITK extensions are presented to calculate the radio-frequency (RF) signal envelope. A variety of 1D Fast Fourier Transform options are introduced including VNL, FFTW, and an OpenCL solution. Scan conversion is implemented for phased array or curvilinear transducers. The entire image processing pipeline is streamable to limit memory consumption during multi-frame or 3D acquisitions with the introduction of an itk::StreamingResampleImageFilter.


Estrabão ◽  
2021 ◽  
Vol 2 ◽  
pp. 41-85
Author(s):  
Vinicius Gonçalves

O presente trabalho apresenta um método para o mapeamento de vegetação, por um processo de classificação por regiões geográficas, denominado GEOBIA (Geographic Object-Based Image Analysis) considerado adequado para classificar imagens de muito alta resolução (very high resolution – VHR). É possível executar o procedimento com qualquer equipamento que disponha de um sensor RGB de boa qualidade e permita execução de aplicativos para plano de voo. O método foi desenvolvido com base em softwares de código aberto (open source) para evitar custos com licenças, em todas as etapas, desde a captação das imagens, elaboração de produtos cartográficos, processamento da classificação por regiões e conclusão mediante cálculos de áreas. O estudo foi aplicado em quatro áreas de interesse, todas na região da Grande Florianópolis-SC, contendo porções do ecossistema de Formações Pioneiras - Vegetação com Influência Marinha, também denominadas áreas de restinga, cujo principal alvo da classificação foi o mapeamento das áreas invadidas por Pinus sp. O método demonstrou útil para classificação de imagens em geral, podendo ser utilizado no manejo de outras espécies vegetais exóticas, ou até em outras aplicações ambientais.


2006 ◽  
Author(s):  
Luis Ibanez ◽  
Lydia Ng ◽  
Josh Cates ◽  
Stephen Aylward ◽  
Bill Lorensen ◽  
...  

This course introduces attendees to select open-source efforts in the field of medical image analysis. Opportunities for users and developers are presented. The course particularly focuses on the open-source Insight Toolkit (ITK) for medical image segmentation and registration. The course describes the procedure for downloading and installing the toolkit and covers the use of its data representation and filtering classes. Attendees are shown how ITK can be used in their research, rapid prototyping, and application development.LEARNING OUTCOMES After completing this course, attendees will be able to: contribute to and benefit from open-source software for medical image analysis download and install the ITK toolkit start their own software project based on ITK design and construct an image processing pipeline combine ITK filters for medical image segmentation combine ITK components for medical image registrationINTENDED AUDIENCE This course is intended for anyone involved in medical image analysis. In particular it targets graduate students, researchers and professionals in the areas of computer science and medicine. Attendees should have an intermediate level on object oriented programming with C++ and must be familiar with the basics of medical image processing and analysis.


2010 ◽  
Vol 14 (3) ◽  
Author(s):  
Xin Bai ◽  
Michael B. Smith

Educational technology is developing rapidly, making education more accessible, affordable, adaptable, and equitable. Students now have the option to choose a campus that can provide excellent blended learning curriculum with minimal geographical restraints. We proactively explore ways to maximize the power of educational technologies to increase enrollment, reduce failure rates, improve teaching efficiency, and cut costs without sacrificing high quality or placing extra burden on faculty. This mission is accomplished through open source learning content design and development. We developed scalable, shareable, and sustainable e-learning modules as book chapters that can be distributed through both computers and mobile devices. The resulting e-learning building blocks can automate the assessment processes, provide just-in-time feedback, and adjust the teaching material dynamically based upon each student’s strengths and weaknesses. Once built, these self-contained learning modules can be easily maintained, shared, and re-purposed, thus cutting costs in the long run. This will encourage faculty from different disciplines to share their best teaching practices online. The end result of the project is a sustainable knowledge base that can grow over time, benefit all the discipline, and promote learning.


2012 ◽  
Vol 17 (4) ◽  
pp. 207-216 ◽  
Author(s):  
Magdalena Szymczyk ◽  
Piotr Szymczyk

Abstract The MATLAB is a technical computing language used in a variety of fields, such as control systems, image and signal processing, visualization, financial process simulations in an easy-to-use environment. MATLAB offers "toolboxes" which are specialized libraries for variety scientific domains, and a simplified interface to high-performance libraries (LAPACK, BLAS, FFTW too). Now MATLAB is enriched by the possibility of parallel computing with the Parallel Computing ToolboxTM and MATLAB Distributed Computing ServerTM. In this article we present some of the key features of MATLAB parallel applications focused on using GPU processors for image processing.


Author(s):  
Hiroshi Yamamoto ◽  
Yasufumi Nagai ◽  
Shinichi Kimura ◽  
Hiroshi Takahashi ◽  
Satoko Mizumoto ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document