FIJI (software)
   HOME

TheInfoList



OR:

Fiji (''Fiji Is Just ImageJ'') is an open source image processing package based on ImageJ2. Fiji's main purpose is to provide a distribution of ImageJ2 with many bundled plugins. Fiji features an integrated updating system and aims to provide users with a coherent menu structure, extensive documentation in the form of detailed algorithm descriptions and tutorials, and the ability to avoid the need to install multiple components from different sources. Fiji is also targeted at developers, through the use of a
version control system In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
, an issue tracker, dedicated development channels, and a rapid-prototyping infrastructure in the form of a script editor which supports
BeanShell BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. It runs in the Java Runtime Environment (JRE), dynamically executes standard Java syntax and extends it with common scripting c ...
,
Jython Jython is an implementation of the Python programming language designed to run on the Java platform. The implementation was formerly known as JPython until 1999. Overview Jython programs can import and use any Java class. Except for some standa ...
,
JRuby JRuby is an implementation of the Ruby programming language atop the Java Virtual Machine, written largely in Java. It is free software released under a three-way EPL/GPL/LGPL license. JRuby is tightly integrated with Java to allow the embedding ...
,
Clojure Clojure (, like ''closure'') is a dynamic and functional dialect of the Lisp programming language on the Java platform. Like other Lisp dialects, Clojure treats code as data and has a Lisp macro system. The current development process is comm ...
,
Groovy ''Groovy'' (or, less commonly, ''groovie'' or ''groovey'') is a slang colloquialism popular during the 1950s, '60s and '70s. It is roughly synonymous with words such as "excellent", "fashionable", or "amazing", depending on context. History The ...
,
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
, and other scripting languages, as well as just-in-time Java development.


Plugins

Many plugins exist for ImageJ, that have a wide range of applications, but also a wide range of quality. Further, some plugins require specific versions of ImageJ, specific versions of third-party libraries, or additional Java components such as the Java compiler or
Java 3D Java 3D is a scene graph-based 3D application programming interface (API) for the Java platform. It runs on top of either OpenGL or Direct3D until version 1.6.0, which runs on top of Java OpenGL (JOGL). Since version 1.2, Java 3D has been deve ...
. One of Fiji's principal aims is to make the installation of ImageJ, Java, Java 3D, the plugins, and further convenient components, as easy as possible. As a consequence, Fiji enjoys more and more active users.


Audience

While Fiji was originally intended for neuroscientists (and continues to be so), it accumulated enough functionality to attract scientists from a variety of fields, such as cell biology, parasitology, genetics, life sciences in general, materials science, etc. As stated on the official website, the primary focus is "life sciences", although Fiji provides many tools helping with scientific image analysis in general. Fiji is most popular in the
life sciences This list of life sciences comprises the branches of science that involve the scientific study of life – such as microorganisms, plants, and animals including human beings. This science is one of the two major branches of natural science, the ...
community, where the 3D Viewer helps visualizing data obtained through
light microscopy Microscopy is the technical field of using microscopes to view objects and areas of objects that cannot be seen with the naked eye (objects that are not within the resolution range of the normal eye). There are three well-known branches of micr ...
, and for which Fiji provides
registration Register or registration may refer to: Arts entertainment, and media Music * Register (music), the relative "height" or range of a note, melody, part, instrument, etc. * ''Register'', a 2017 album by Travis Miller * Registration (organ), th ...
, segmentation, and other advanced image processing algorithms. The Fiji component TrakEM2 was successfully used and enhanced to analyze
neuron A neuron, neurone, or nerve cell is an electrically excitable cell that communicates with other cells via specialized connections called synapses. The neuron is the main component of nervous tissue in all animals except sponges and placozoa. N ...
al lineages in larval ''Drosophila'' brains. Fiji was prominently featured in Nature Methods review supplement on visualization.


Development

Fiji is fully
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
. Its sources live in a public
Git Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data in ...
repository. Fiji was accepted as organization into the
Google Summer of Code The Google Summer of Code, often abbreviated to GSoC, is an international annual program in which Google awards stipends to contributors who successfully complete a free and open-source software coding project during the summer. , the program is ...
2009, and completed two projects. The scripting framework, which supports
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
,
Jython Jython is an implementation of the Python programming language designed to run on the Java platform. The implementation was formerly known as JPython until 1999. Overview Jython programs can import and use any Java class. Except for some standa ...
,
JRuby JRuby is an implementation of the Ruby programming language atop the Java Virtual Machine, written largely in Java. It is free software released under a three-way EPL/GPL/LGPL license. JRuby is tightly integrated with Java to allow the embedding ...
,
Clojure Clojure (, like ''closure'') is a dynamic and functional dialect of the Lisp programming language on the Java platform. Like other Lisp dialects, Clojure treats code as data and has a Lisp macro system. The current development process is comm ...
,
BeanShell BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. It runs in the Java Runtime Environment (JRE), dynamically executes standard Java syntax and extends it with common scripting c ...
, and other languages, is an integral part of the development of Fiji; many developers prototype their plugins in one of the mentioned scripting languages, and gradually turn the prototypes into proper
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
code. To this end, as one of the aforementioned Google Summer of Code projects, a script editor was added with
syntax highlighting Syntax highlighting is a feature of text editors that are used for programming, scripting, or markup languages, such as HTML. The feature displays text, especially source code, in different colours and fonts according to the category of terms ...
and in-place code execution. The scripting framework is included in the Fiji releases, so that advanced users can use such scripts in their common workflow. The development benefits from occasional
hackathon A hackathon (also known as a hack day, hackfest, datathon or codefest; a portmanteau of hacking and marathon) is an event where people engage in rapid and collaborative engineering over a relatively short period of time such as 24 or 48 hours. Th ...
s, where life scientists with computational background meet and improve their respective plugins of interest.


Script editor

The script editor in Fiji supports rapid prototyping of scripts and ImageJ plugins, making Fiji a powerful tool to develop new image processing algorithms and explore new image processing techniques with ImageJ.Albert Cardona's crash cours
''Jython scripting with Fiji''


Supported platforms

Fiji runs on Windows, Linux, and Mac OS X, Intel 32-bit or 64-bit, with limited support for MacOSX/PPC.


References


External links

* *
ImageJ2
the version of
ImageJ ImageJ is a Java-based image processing program developed at the National Institutes of Health and the Laboratory for Optical and Computational Instrumentation (LOCI, University of Wisconsin). Its first version, ImageJ 1.x, is developed in the pub ...
upon which Fiji is built {{Image processing software Computer vision software Neuroimaging software Java (programming language) software