Developer(s) | Johan Henriksson (Karolinska Institute) |
---|---|
Final release | 2.15 / 17 June 2009 (official release) |
Operating system | Any (Java-based) |
Type | Image processing & Image analysis |
License | New BSD License |
Website | www.endrov.net |
Endrov [1] is an open-source plugin architecture aimed for image analysis and data processing. [2] Being based on Java, it is portable and can both be run locally and as an applet. It grew out of the need for an advanced open source software that can cope with complex spatio-temporal image data, mainly obtained from microscopes in biological research. It lends much of the philosophy from ImageJ but aims to supersede it by having a more modern design.
Endrov grew out of the needs of a software to map the embryogenesis of C.elegans. [3]
The lead developer, Johan Henriksson, is a Ph.D. student at Karolinska Institute.
Endrov is both a library and an imaging program. The design has made strong emphasis on separating GUI code from data types, filters and other data processing plugins. The idea is that the program can be used for most daily use or prototyping, and for bigger batch processing or integration, the code is invoked as a library.
As a program, Endrov can do what you expect from normal image processing software. It is meant to be hackable; integrating new editing tools, windows and data types is meant to be simple. The main features that set it apart from other imaging software is that it can handle additional dimensions (XYZ, time, channel) which is needed for more serious microscopy. Filters can also be used without being directly applied, and can be composed into filter sequences. Data (for example derived from analysis) is stored together with the images.
The native image format is OST but most common formats are supported.
ImageJ is older and hence it is more mature and has more plugins. This limits how much of ImageJ can be changed without breaking backwards-compatibility, which has caused design flaws to accumulate over time. Endrov sacrifices all backwards-compatibility for a clean design. While ImageJ consists of a core and rather independent plugins, Endrov has few core functions and plenty of plugin-plugin dependencies. The goal is to tighten the integration and increase encapsulation, thus reduce code redundancy and ease maintenance. As an example, the GUI is separate from most algorithm plugins; algorithms merely provide descriptions of input and output.
Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are a sequence of numbers that represent samples of a continuous variable in a domain such as time, space, or frequency. In digital electronics, a digital signal is represented as a pulse train, which is typically generated by the switching of a transistor.
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing signals, such as sound, images, potential fields, seismic signals, altimetry processing, and scientific measurements. Signal processing techniques are used to optimize transmissions, digital storage efficiency, correcting distorted signals, improve subjective video quality, and to detect or pinpoint components of interest in a measured signal.
In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of low-code development platforms.
Quartz Composer is a node graph system provided as part of the Xcode development environment in macOS for processing and rendering graphical data. It is capable of making sophisticated animations for keynote or presentations and creating animated screensavers.
This is an alphabetical list of articles pertaining specifically to software engineering.
Demosaicing, also known as color reconstruction, is a digital image processing algorithm used to reconstruct a full color image from the incomplete color samples output from an image sensor overlaid with a color filter array (CFA) such as a Bayer filter. It is also known as CFA interpolation or debayering.
ITK is a cross-platform, open-source application development framework widely used for the development of image segmentation and image registration programs. Segmentation is the process of identifying and classifying data found in a digitally sampled representation. Typically the sampled representation is an image acquired from such medical instrumentation as CT or MRI scanners. Registration is the task of aligning or developing correspondences between data. For example, in the medical environment, a CT scan may be aligned with an MRI scan in order to combine the information contained in both.
ImageJ is a Java-based image processing program developed at the National Institutes of Health and the Laboratory for Optical and Computational Instrumentation. Its first version, ImageJ 1.x, is developed in the public domain, while ImageJ2 and the related projects SciJava, ImgLib2, and SCIFIO are licensed with a permissive BSD-2 license. ImageJ was designed with an open architecture that provides extensibility via Java plugins and recordable macros. Custom acquisition, analysis and processing plugins can be developed using ImageJ's built-in editor and a Java compiler. User-written plugins make it possible to solve many image processing and analysis problems, from three-dimensional live-cell imaging to radiological image processing, multiple imaging system data comparisons to automated hematology systems. ImageJ's plugin architecture and built-in development environment has made it a popular platform for teaching image processing.
CellProfiler is free, open-source software designed to enable biologists without training in computer vision or programming to quantitatively measure phenotypes from thousands of images automatically. Advanced algorithms for image analysis are available as individual modules that can be placed in sequential order together to form a pipeline; the pipeline is then used to identify and measure biological objects and features in images, particularly those obtained through fluorescence microscopy.
In fields employing interface design skills, slicing is the process of dividing a single 2D user interface composition layout (comp) into multiple image files of the graphical user interface (GUI) for one or more electronic pages. It is typically part of the client side development process of creating a web page and/or web site, but is also used in the user interface design process of software development and game development.
Bioimage informatics is a subfield of bioinformatics and computational biology. It focuses on the use of computational techniques to analyze bioimages, especially cellular and molecular images, at large scale and high throughput. The goal is to obtain useful knowledge out of complicated and heterogeneous image and related metadata.
In computer science, Orfeo Toolbox (OTB) is a software library for processing images from Earth observation satellites.
The LONI Pipeline is a free distributed system for designing, executing, monitoring and sharing scientific workflows on grid computing architectures. Pipeline allows users to connect and run any number of different software tools, and conveniently visualize and download the results.
KNIME, the Konstanz Information Miner, is a free and open-source data analytics, reporting and integration platform. KNIME integrates various components for machine learning and data mining through its modular data pipelining "Building Blocks of Analytics" concept. A graphical user interface and use of JDBC allows assembly of nodes blending different data sources, including preprocessing, for modeling, data analysis and visualization without, or with minimal, programming.
IMOD is an open-source, cross-platform suite of modeling, display and image processing programs used for 3D reconstruction and modeling of microscopy images with a special emphasis on electron microscopy data. IMOD has been used across a range of scales from macromolecule structures to organelles to whole cells and can also be used for optical sections. IMOD includes tools for image reconstruction, image segmentation, 3D mesh modeling and analysis of 2D and 3D data.
The Science of Science (Sci2) Tool is a modular toolset specifically designed for the study of science. It supports the temporal, geospatial, topical, and network analysis and visualization of datasets at the micro (individual), meso (local), and macro (global) levels. Users of the tool can:
OpenMDAO is an open-source high-performance computing platform for systems analysis and multidisciplinary optimization written in the Python programming language.
Vaa3D is an Open Source visualization and analysis software suite created mainly by Hanchuan Peng and his team at Janelia Research Campus, HHMI and Allen Institute for Brain Science. The software performs 3D, 4D and 5D rendering and analysis of very large image data sets, especially those generated using various modern microscopy methods, and associated 3D surface objects. This software has been used in several large neuroscience initiatives and a number of applications in other domains. In a recent Nature Methods review article, it has been viewed as one of the leading open-source software suites in the related research fields. In addition, research using this software was awarded the 2012 Cozzarelli Prize from the National Academy of Sciences.