English
 
Help Privacy Policy Disclaimer
  Advanced SearchBrowse

Item

ITEM ACTIONSEXPORT

Released

Conference Paper

Into ImgLib - Generic Image Processing in Java

MPS-Authors
/persons/resource/persons219549

Preibisch,  Stephan W.
Max Planck Institute of Molecular Cell Biology and Genetics, Max Planck Society;

/persons/resource/persons219742

Tomancák,  Pavel
Max Planck Institute of Molecular Cell Biology and Genetics, Max Planck Society;

/persons/resource/persons219601

Saalfeld,  Stephan
Max Planck Institute of Molecular Cell Biology and Genetics, Max Planck Society;

External Resource
No external resources are shared
Fulltext (restricted access)
There are currently no full texts shared for your IP range.
Fulltext (public)
There are no public fulltexts stored in PuRe
Supplementary Material (public)
There is no public supplementary material available
Citation

Preibisch, S. W., Tomancák, P., & Saalfeld, S. (2010). Into ImgLib - Generic Image Processing in Java.


Cite as: https://hdl.handle.net/21.11116/0000-0001-0B9A-6
Abstract
The purpose of ImgLib, a Generic Java Image Processing Library, is to provide an abstract framework enabling Java developers to design and implement data processing algorithms without having to consider dimensionality, type of data (e. g. byte, float, complex float), or strategies for data access (e. g. linear arrays, cells, paged cells). This kind of programming has significant advantages over the classical way. An algorithm written once for a certain class of Type will potentially run on any compatible Type, even if it does not exist yet. Same applies for data access strategies and the number of dimensions. We achieve this abstraction by accessing data through Iterators and Type interfaces. Iterators guarantee efficient traversal through pixels depending on whether random coordinate access is required or just all pixels have to be visited once, whether real or integer coordinates are accessed, whether coordinates outside of image boundaries are accessed or not. Type interfaces define the supported operators on pixel values (like basic algebra) and hide the underlying basic type from algorithm implementation.