ChromosomeK is an interactive tool to extract quantitative measurements from bioimages featuring chromosomes or other ridge-like objects (see Figure 1A) in a fast and reproducible way. The method implements an open variant of parametric active contours and is therefore interactive. It allows the user to quantify the length of chromosomes and to annotate the relative position of the centromere to the chromosome extremes (see Figure 1B). ChromosomeK is implemented as a plug-in for ImageJ, which is a free open-source multiplatform Java image-processing software. The plug-in is independent of any imaging hardware and, thanks to ImageJ, any common file format may be used as input. The output of the annotation program is provided in a standard format to allow for further data processing.
Figure 1. Outline of ChromosomeK capabilities.
The software provided here is a plugin for ImageJ, a general purpose image-processing and image-analysis package. ImageJ has a public domain licence; it runs on several plateforms: Unix, Linux, Windows, Mac OS 9 and Mac OS X. It doesn't take more than a couple of minutes to install.
To install the plugin download the ChromosomeK.jar file and put it in the plugins folder of ImageJ (ImageJ/plugins/). ChromosomeK also requires some external libraries that have been regrouped in the following archive file. The archive should be uncompressed, and the elements it contains should be placed into the jars folder of the plugins folder of ImageJ (ImageJ/plugins/jars/).
The plugin can be started from the Plugins tab of the ImageJ menu (see Figure 2).
Figure 2. ImageJ plugin menu featuring ChromosomeK.
The plug-in requires at least one open image at launch. All image types are accepted, but the processing will be performed on the luminance channel in the case of RGB Color images. In the case of a RGB Stack or a HSB Stack, the processing will be performed on the current channel instead. In the case of 8-bit Color images, the underlying color indices will be treated as intensity value.
At launch, the menu window will appear (see Figure 3) and a new icon will be added to the ImageJ toolbar (see Figure 4). The ChromosomeK tool has to be selected to use ChromosomeK. While annotating the chromosomes, the user can hence play with all available ImageJ tools available on the toolbar and then simply return to ChromosomeK by clicking the plugin's icon. The menu windows informs the user on the image that ChromosomeK is working on (Image name), and contains informations on how to annotate the chromosomes.
Figure 3. ChromosomeK menu.
Figure 4. ImageJ toolbar upon launching ChromosomeK.
The annotation process can either be started from scratch, or ChromosomeK results from a previous annotation can be loaded. In the latter case, the Load data button can be clicked (see Figure 5A) in order to open a dialog window (see Figure 5B) from which existing annotation (XML file) can be loaded. As a result, traces contained in the annotation file are automatically traced on the active image (see Figure 5C). These existing annotations can be further modified or deleted, and new ones can be added.
Figure 5. Loading existing data.
To annotate a chromosome, its two extremities must be selected by the user. In order to add a marker to a chromosome extremity, the user must press the SHIFT key and left click. A cross which color matches ImageJ's currently selected color in the point tool will be added at the click's location (see Figure 6). The marker can be deleted by pressing the ALT key and left-clicking on it.
Figure 6. Adding a marker.
Once a marker has been placed, upon the addition of a second one a trace will automatically be drawn between the two markers (see Figure 7) and a new toolbar will appear instead of the ImageJ tooldbar (see Figure 8). The trace is composed of three points: the two extremities defined by the user, and a third one in the middle of the curve. While the two extreme points are fixed, the middle one can be dragged by selecting the move tool (see Figure 9 and toolbar description below). As a result, the curve joining the point can be adapted to coarsely fit the chromosome's shape.
Figure 7. Trace joining two user-defined markers.
Figure 8. Trace editing toolbar.
Figure 9. Modifying the trace by dragging the middle marker.
The trace editing toolbar is composed of several buttons that allow modifying the curve between the two extreme points.
Upon clicking on the validate tool of the trace editing toolbar, the curve will be optimized to fit better the chromosome. A numeric label will be assigned to the annotated chromosome (see Figure 10).
Figure 10. Annotated chromosome.
Using chromosome traces, ChromosomeK can export the length of each annotated chromosome. In order to get more information, it is possible to add a marker to specify the location of the centromere of each chromosome. To do so, a marker can be added on an existing trace following the same procedure as if a new chromosome's extremity was marked (i.e. using SHIFT+left click, see Figure 11). The chromosome label will move to be displayed close to the centromere.
Figure 11. Chromosome with annotated centromere.
The three-steps annotation procedure (clicking on extremities, optimizing curve and clicking on centromere location) can be repeated for an arbitrarily large number of chromosomes. Chromosome labels are updated according to chromosome length, 1 being the largest (see Figure 12).
Figure 12. Chromosome renumbering according to length.
Chromosomes that have been already fully annotated can be modified by simply left-clicking on the chromosome trace. The selected trace will then appear in another color with five markers: the two extremities, and three control points (see Figure 13). Please note that the control points are not related in any way to the centromere location.
Figure 13. Chromosome trace edition.
The three control points appearing on the curve can be moved in order to change the shape of the chromosome trace (see Figure 14). During the trace editing process, the trace editing toolbar (see Figure 8) will again appear. This edition is purely manual, and the trace is therefeore saved as it is with no further optimization when the validate tool is clicked.
Figure 14. Modifying chromosome trace by dragging control points.
At any time of the annotation process, annotated centromeres and existing chromosomes can be deleted. In order to do so, the user can simply press the ALT key and left-click on the centromere (to delete only this marker) or elsewhere on the trace (to delete the full chromosome). Chromosome labels will once again asutomatically be updated according to remaining annotated chromosome's length.
Figure 15. Annotation deletion and subsequent renumbering of the remaining chromosomes.
Two buttons from the menu can be used in order to return to ImageJ: cancel and save (see Figure 16A). The cancel button will simply close ChromosomeK without saving any data. The save button however will open a dialog box (see Figure 16B). The user can select a folder in which ChromosomeK annotation data will be saved. By default, saved data will be named chromosome[MeasurementType]_[Date]_[Time0]. Three files will be written on selected folder, namely chromsomeTraces (an XML file containing traces coordinated, that can be re-loaded in ChromosomeK for further edits), chromsomeMeasurements (a CSV file containing numerical measurements on the annotations) and chromosomeAnnotations (a TIFF image displaying the annotated chromosomes).
Figure 16. Saving ChromosomeK annotations.
Upon saving and closing, ChromosomeK outputs two sort of data for further analysis: a CSV file containing various shape measurements (see Figure 17), and a TIFF image displaying the annotations and chromosome labels (see Figuire 18).
Figure 17. Sample ChromosomeK CSV output.
Figure 18. Sample ChromosomeK annotated image output.
You'll be free to use this software for research purposes, but you must not transmit and distribute it without our consent. In addition, you undertake to include a citation to the associated papers whenever you present or publish results that are based on it. EPFL makes no warranties of any kind on this software and shall in no event be liable for damages of any kind in connection with the use and exploitation of this technology.