Short Description

Automatically segment the boundary of a nucleus or cell starting from an approximate ROI. It supports 2D and 3D processing and tracking of slowly moving cells. Ideal to study cell morphodynamics.

This book chapter proposes a step-by-step tutorial for the Active Contours plugin with video tutorials (see tutorial 3 to 5). Images used in the tutorial are available on this Zenodo repository.

If you use this plugin in your work, please cite the following reference: “Dufour et al., IEEE Transactions on Image Processing, 2011”. This reference describes the 3D version of the algorithm, but the 2D version works exactly the same.

Team: Bio Image Analysis Unit
Institution: Institut Pasteur
Website: https://icy.bioimageanalysis.org

Documentation

The “Active Contours” plugin is a segmentation and tracking tool that is able to extract the outline of objects in 2D or 3D images and track these outlines over time in a 2D or 3D time-lapse sequence. In a nutshell, an initial contour is drawn (or generated) around an object of interest and then snapped on the object’s border automatically. In a tracking scenario, the final object border is taken as the initial position to segment the following frame, and so forth. Note that the initial contour need to be in 3D to do 3D processing. Note also that tracking use cases require a good time resolution, such that an overlap exists between successive positions of the tracked object.

This documentation is divided in 3 main parts: it begins with a short step-by-step guide and an example to get quickly started. Then, it continues with a description of the plugin parameters, including the choice of implementation and the available parameters. The last part contains explanations about the method, its principle and its numerous implementations and is worth reading to get an in-depth understanding of the plugin.

Step-by-step guide for segmentation and tracking with the Active Contours plugin

1) Open an image or video sequence

2) Draw one (or more) region(s) of interest around or across the object(s) of interest. Draw a 3D ROI for 3D processing. You can generate one or more ROI automatically using other plugins such as the “Thresholder” or the “HK-Means”. This should be the preferred way of initialising the method in 3D, until a good 3D ROI editor is implemented in Icy. And this is a good step towards full automation of the workflow.

3) Adjust the various parameters of the method (see the example and explanations below). A small tooltip message will appear under the mouse as you hover each parameter, indicating how to adjust the parameters for each scenario.

4) Select the desired output (no output, export of ROIs on input image, copy of original sequence with detected objects as ROI or labeled sequence)

5) For tracking: first leave the tracking option unchecked; adjust the parameters on the first image; only then check the “tracking” option to process the entire sequence.

6) To display the advanced parameters, check “Show advanced options” at the top of the plugin window

Example of segmentation and tracking of an amoeba

To run this example, download the following video sequence of a moving cell (cell_bleach.tif) and open it in Icy.

Open the active contours plugin, follow the instructions above and use the same parameters as in the video below. You can load the cell_bleach.params file to use exactly the same parameters. You should obtain the exact same results as in the video.

Description of active contours parameters

Some parameters are visible only when ticking “Track objects over time” or “Show advanced options”.

Note also that the Active Contours plugin has a block counterpart.

 

This plugin implements Multiple Coupled Active Contours in 2D and 3D, according to an energy-minimizing framework with a discrete explicit representation of the contours (polygons in 2D, and triangular meshes in 3D, both with self-parametrisation and topology control). In a nutshell: this plugin works in 2D & 3D, tracks objects over time, handles multiple contours simultaneously, detects divisions, and is pretty damn fast! For more details, read the Method section below.

The contour evolution exploits multiple cues to achieve optimal segmentation (both based on the image and on semantic information). Just like you would improve a cooking recipe by adjusting the nature and quantity of ingredients, the best segmentation is achieved by carefully adjusting the different parameters.

Edge- and region-based information

The most important parameters are the Edge weight and Region weigth. Many markers used in microscopy are specific to membrane structures ie “edges”. Edges can also be present without specific markers, in phase contrast microscopy images for instance. The contour can exploit this edge information to “look” for bright (or dark) edges of a structure, and stop when these structures are reached. The caveat here is that the contour must be already close to its target in order to “snap” to the border correctly (otherwise the contour won’t “see” it). Other types of fluorescent markers highlight non-membrane structures such as the cytoplasm, the nucleus, or other organelles, and delineate regions. Region-based information is a very powerful asset for segmentation and tracking. The Active contours plugin exploits the Mumford-Shah functional to estimate the optimal frontier that segments the regions of interest by maximising the difference between their average intensity and that of the background. Here this also works with multiple regions that do not share the same average intensity (convenient if the staining is not constant from cell to cell). The advantage here is that the contour does not need to be very close to the target to segment it (although being close makes the whole process faster!), and there is no need to have “sharp” edges to find the boundary.

  • Edge weight: a value between -1 and 1. Set the edge weight to 0 to not take in account edges in the calculation. Set it to a value different from 0 to take into account edges. The closest this values is from -1 or 1, the more importance you give to edges. Use a negative value for dark edges (low intensities) and a positive value for bright edges.
  • Region weight: a value between 0 and 1. Set to 0 to not take region information into account for the evolution of the contour. The closest the value is to 1, the more importance you give to region information.
  • Region sensitivity (advanced options): a value between 0 and 3 with default set to 1. Increase sensitivity if the region of interest is weakly stained (for instance, weak DAPI signal) and there is little contrast between the structure of interest and the background.

Contour properties

  • Multi-contour coupling (advanced options): each region of interest is segmented (and tracked) by its own contour. This offers a considerable advantage when dealing with objects in contact. When ticked, the algorithm will exploit semantic information and prevent contours from overlapping or fusing when they come into contact, allowing to segregate touching objects, even during prolonged contacts over time. Caveat: extensive prolonged contacts (twisting, swirling) may not be handled properly, as the actual boundary between objects is not necessarily clear, even for the human eye!
  • Contour smoothness: as the image data may be quite noisy (especially in low-light condition), a geometrical constraint is usually imposed to maintain a certain level of smoothness to the deforming contour. You can use less smoothness on clean data, more on noisy data. Note that pushed to the extreme, this smoothness constraint will cause the contour to progressively shrink and eventually disappear, so use wisely!
  • Contour inflation (a.k.a. “balloon force”): should you opt for edge information, and if your contour is too far away from the target, an arbitrary inflation force can be applied to the contour such that it will permanently shrink (if <1) or inflate (if >1) with a certain speed. This should be used minimally and with care, as this should only help the contour find real edges, and not prevent it from staying there.
  • Axis constraint: default value to 0 (no axis constraint). This parameters helps to further assist in separating objects in contact by imposing that contours preferentially deform along their major axis (if there is one). Use axis constraint with caution.
  • Division sensitivity (advanced options): default value is 0. Increasing this value will help detecting object division / separation when they are close to each other.

Evolution parameters

Finally, the evolution of the contour itself (i.e. the minimization of the underlying mathematical functional) also has its set of parameters which can be adjusted. These have more to do with the total execution speed of the segmentation / tracking process, here again with pros & cons:

  • Bound field to ROI of (advanced options): constraints to keep the contour within the boundary of specified ROI
  • Contour sampling: default value to 2 (each point on the contour is 2 pixels away from its neighbor). Contours used in this plugin are represented as a set of geometrical primitives (segments in 2D, triangles in 3D) connecting so-called “control points”. The average separation between these control points can be adjusted, noting that a smaller distance results in more precise (but slower) computations, while a larger distance results in faster computation, with the risk of losing structures smaller than this sampling step.
  • Evolution time-step: although the contour may seem to move magically and smoothly, it actually is advancing by very small jumps in the image. The size of this jump can be adjusted to move faster to the solution (from default value of 0.1 to 1 if signal is sharp enough), with the immediate caveat that moving too fast may cause instabilities to the contour (it may oscillate around the optimal solution, and sometimes it will have issues when dealing with other touching objects)
  • Convergence window size (advanced options): number of iterations on which the algorithm checks if convergence operation (for instance the variance) is below a certain criterion (convergence criterion) or not. Modify with caution.
  • Convergence operation (advanced options): the operation used to determine the convergence of the contour. Possible operations are:
    • NONE: no convergence computation (will use Max. iterations setting to stop contour evolution)
    • MIN: minimum contour size
    • MAX: maximum contour size
    • MEAN: mean contour size
    • SUM: sum of contour size
    • VARIANCE: variance of contour size
    • VAR_COEFF: coefficient of variance (variance / mean) of contour size (default)
  • Convergence criterion: once the contours have found their target, in most cases they will (or rather, seem to) naturally stop moving. Mathematically speaking, this means that a steady-state solution to the problem has been found, but this state is only steady “in theory”. In practice, there are always minor oscillations around this solution, and they are detected by measuring the overall movement of each contour, stopping them if they fall under a reasonably low value. Modify with caution.
  • Max. Iterations: maximum iteration number for the contour evolution. Useful if you don’t want to rely only on the convergence criterion to stop the contour evolution. Default value is 100000.

Tracking options

When ticking “Track objects over time”, two more parameters appear: Watch entering objects and Volume constraint.

  • Volume constraint: in some cases (particularly in contact situations, as described above), the separation between touching objects is challenging. This plugin has the option to enforce that each tracked object preserves a “roughly” constant volume over time (fluctuations are allowed though), in order to improve tracking (this assumption is highly debatable from a biological perspective, and definitely wrong in 2D, but might solve tricky situations in 3D). This parameter is weighted between 0 and 1. A value of 0 means no control over the volume of the contours. A value of 1 means that between two time points of the sequence the contours should keep the same volume. Note: Use with caution. This parameter is highly sensitive and should only be used when contours disappear or get reduced due to contour contact. It is disabled by default.
  • Watch entering objects (advanced options): enabling this option allow to detect new objects entering the field of view when tracking is used. Internally the plugin will process HK-Means segmentation and retains new detected objects with similar size than current actives contours. Note that you can put initial ROI(s) on a specific time point so the contour tracking will start at this position.
  • Send to track manager: when the tracking process completed, you have the opportunity to click on this button to send the tracking data to the Track Manager and so perform your tracking analysis.

Export options

When contours evolution is done, the plugin can export the results in different format depending what suit better.

  • Export ROI: export format of the contours. Possible values are:
    • NONE: no export – contour(s) remains visible as a layer (default)
    • ON_INPUT: contour(s) are exported as ROI(s) on the original image.
    • ON_NEW_IMAGE: contour(s) are exported as ROI(s) on a image copy.
    • AS_LABELS: contour(s) are exported as a labeled image.
  • Type of ROI (only when Export ROI = ON_INPUT or ON_NEW_IMAGE):
    • AREA: contours are exported as Area (boolean mask) ROI(s).
    • POLYGON: contours are exported as Polygon (geometric shape) ROI(s)

Method

The principle of deformable models is to define an initial curve (2D or 3D, opened or closed) in the vicinity of an object of interest, and let this curve deform until it reaches a steady-state when it fits the boundary of the target. Although this looks like black magic at times, there are sound underlying mathematics involved. The curve and its deformation can be expressed in many different ways, which I describe below.

Curve representations

Curve representations are presented here in (more or less) chronological order (rather than by group) to give a coherent view of the evolution in the field over the last decades. This review is however not exhaustive and only gives the main lines of research for the general reader, directed toward the purpose of the plugin (cell segmentation and tracking).

  • Explicit parametric representation The original scheme (originally developed by Kass & Terzopoulos in 1987) is to represent the curve by a parametric equation. The parameters of this curve are adjusted during the deformation, and the curve is regularly reparameterized to ensure global smoothness. This model is known as the “Snake” model, since the evolution of an opened curve may mimic the undulations of a snake. Such model is fast and computationally efficient, although usually criticized for two main reasons: 1) their lack of topological flexibility (a parametric curve cannot be split), therefore a single curve must be created for each object of interest to detect; 2) the extension to 3D is quite delicate in terms of curve manipulation and reparameterization.
  • Implicit level set representation Almost coincidentally, other researchers from the field of fluid dynamics (namely S. Osher and J. Sethian in 1988) derived an alternative representation of the curve, by defining it as the zero-level of a higher-dimensional Lipschitz function. One metaphor of this representation is a flame (the fluid) burning a hole through a piece of paper. The boundary (2D) of the hole is the zero-level of the flame function (3D), and the deformation of the hole’s boundary is implicitely controlled by the motion of the flame. For this reason this model is usually termed “implicit model”. This model has received extensive attention from the community, since it solves most of the drawbacks of the Snake model: 1) the model is topology-independent (the fluid function may evolve such that the zero-level actually appears as two distinct contours), hence a single level set function may be used to detect multiple non-touching objects in the image; 2) the formalism naturally works in any dimension. Yet, these advantages also come at a significant computational cost (notably in 3D, where the level set function is 4D). Moreover, for the purpose of cell segmentation and tracking, the topological flexibility can become a drawback: indeed, since topology is uncontrolled by nature, objects moving and eventually touching over time will see their zero-level merged together, such that their identity is lost. Many methods have therefore focused on re-inserting topology control in these approaches.
  • Explicit discrete representation With the improvement in computer graphics technology and in the Computer Aided Design (CAD) industry, extensive development has been conducted on discrete curve representations. The goal of these representations is to take the best of both worlds with 3 key features: 1) inherit the speed and computational efficiency of the parametric representation; 2) incorporate the topological flexibility of implicit representation; 3) rely on a discrete data structure in order to benefit from the power of graphics processing units for computation and/or rendering purposes. As a result, the computational cost in both time and memory load can be decreased by up to several orders of magnitude as compared to an equivalent level set representation.
  • Graph-cut representation Graph-cut representations rely on the theory of minimal path finding in a connected graph, and has only recently been applied in the context of deformable model-based segmentation. This representation is usually compared to the level-set approach, but considers the curve as the minimum cut of a flow that connects all image pixels to either an imaginary sink or target source. The major difference with the level set models lies in the mathematical description of the curve evolution, which is discussed later below.

Curve evolution

Once the contour representation is fixed, one must choose a mathematical framework to actually drive the deformation of the curve from its initial position toward the boundary of the object of interest. Here again, several solutions are available, the most popular ones cited below in arbitrary order.

  • Dynamic mass-spring systems. Such systems consider the curve to be discretized into a set of physical nodes connected with springs, and that the entire evolution of this physical system follows the Newton laws of motion. By applying attracting and repulsing forces on the various nodes of the system (using the image data to guide them in the correct direction), the curve deforms until it reaches a physical steady-state, assumed to correspond to the solution, although there is no guarantee on its exactness.
  • Energy-minimizing frameworks. These frameworks rely on the definition of an energy functional that combines terms related either to the image data (usually referred to as “data attachment” terms), to geometrical properties of the curve (usually termed “regularization” terms), or to prior estimates of the solution when available. The key idea is to define the functional such that the solution of the segmentation problem (i.e. the optimal position of the curve) is a minimizer of this functional. These frameworks are particularly popular thanks to their flexibility, while minimization per se can be conducted using a wide variety of numerical schemes, one of the most popular being the Euler-Lagrange steepest gradient descent, which guarantees convergence to at least a local minimum of the functional.
  • Statistical frameworks. These frameworks are very similar to the energy-minimizing ones, however the the optimal solution is defined by maximizing the probability of a given gain function, which is formed of terms analogous to those of the previous case. The advantage here is that the incorporation of shape priors is facilitated by the statistical formulation of the problem. The notion of convergence to a local minimum is complemented by a statistical measure of the correctness of fit of the original terms.
  • Energy-minimizing graph-cuts. The use of graph-cuts for deformable models has mostly been motivated by the high computational cost and convergence time of energy-minimizing (ot statistical) frameworks, based on the observation that steepest gradient descent approaches may take a very high number of iterations to converge, yielding substantial computational costs, notably in the case of level set approaches. The idea here is to minimize an energy functional defined on a graph constructed from the image grid, such that each image pixel (or voxel in 3D) is connected to its neighbors by an edge with a cost, while one set of nodes are connected to an additional imaginary “source” node, and the remaining nodes to a “target” node. This graph is then cut with minimal cost using a principle of maximal flow algorithm. The advantage is a substantial gain in convergence time (the number of iterations is up to several order of magnitude lower than in Euler-Lagrange minimization), at the cost of a more complex incorporation of energy terms, which need to be expressed in terms of graph edge costs.

 

Resources needing this

6 reviews on “Active Contours

  1. t
    Thomas Provoost
    Amazing tool, but very complicated to use when you use it for first time. Some doc and 5 stars!
  2. l
    louiselaure
    Great plugin! And now also works in 3D and with entering objects! And has a protocol version. Just great nothing else to say! On the doc side, would be great if each parameter could be explained on icy website (more than just the arrow explaination) to increase its user-friendly aspect.
  3. IcyLyd
    Probably the most impressive plugin I saw. In combination with 3D and track painter it is just awesome. I'm looking forward a version working on neurons ! ;)
  4. J
    JL
    The very best GUI-available plugin I've used so far for 2D and 3D segmentation - runs fast and finds cell boundaries quite accurately!
  5. Anonymous
    Thank you for the fast update, it works perfect! This is a great help!

Leave a Review

Leave a review
Cancel review
View full changelog
Close changelog

Changelog

  • Version 4.4.11.0 • Released on: 2021-09-29 17:00:00
    Download
    Description:

    Force contour to stay into bounds field (we were just reducing forces, we know cancel them)

  • Version 4.4.10.0 • Released on: 2020-05-05 15:00:00
    Download
    Description:

    Fixed detection of early completion when doing tracking and there is no more object to track.

  • Version 4.4.9.0 • Released on: 2020-04-08 15:30:00
    Download
    Description:

    - Added detection of early complete operation when doing tracking and there is no more object to track.
    - Fixed an issue which was causing the double of maximum allowed number of iteration to be processed on contours (not really hurting but it was slower because of that).

  • Version 4.4.8.0 • Released on: 2020-03-24 18:30:00
    Download
    Description:

    Rebuild to take changes of Fill Holes in ROI plugin in account.

  • Version 4.4.7.3 • Released on: 2020-02-04 16:26:00
    Download
    Description:

    Fix: possible NoSuchElementException (ActiveContours.java:1474)

  • Version 4.4.7.2 • Released on: 2020-01-29 15:30:00
    Download
    Description:

    Re-introduced fix lost in merge

  • Version 4.4.7.1 • Released on: 2020-01-29 14:54:00
    Download
    Description:

    Fixed saveToXLS NPE

  • Version 4.4.7.0 • Released on: 2020-01-29 12:00:00
    Download
    Description:

    Fixed others possible NPE and bugs (Stephane)

  • Version 4.4.6.3 • Released on: 2020-01-29 10:40:00
    Download
    Description:

    Added volume weight to GUI

  • Version 4.4.6.2 • Released on: 2020-01-29 10:31:00
    Download
    Description:

    Activating Volume constrained on GUI

  • Version 4.4.6.1 • Released on: 2020-01-29 10:25:00
    Download
    Description:

    Revision on Possible NPE (Daniel)

  • Version 4.4.6.0 • Released on: 2020-01-16 10:15:00
    Download
    Description:

    Fixed possible NPE (Stephane)

  • Version 4.4.5.4 • Released on: 2020-01-14 10:09:00
    Download
    Description:

    Added protocol compatibility for volume constraint

  • Version 4.4.5.3 • Released on: 2020-01-13 17:20:00
    Download
    Description:

    Enabled "Volume constraint" parameter now managed with a weight to conserve the volume of the contours across multiple frames. Note: Only working for 2D contours

  • Version 4.4.5.2 • Released on: 2020-01-06 14:30:00
    Download
    Description:

    Re-disable "Volume constraint" parameter which is not working properly (definitely not) (Stephane)

  • Version 4.4.5.1 • Released on: 2019-12-19 21:00:00
    Download
    Description:

    Re-enable "Volume constraint" parameter which is not working properly but may be useful sometime. Use it at your own risk ! (Stephane - fix)

  • Version 4.4.5.0 • Released on: 2019-12-19 20:00:00
    Download
    Description:

    Re-enable "Volume constraint" parameter which is not working properly but may be useful sometime. Use it at your own risk ! (Stephane)

  • Version 4.4.4.0 • Released on: 2019-09-17 16:30:00
    Download
    Description:

    Fixed contour naming for easier identification when using tracking (Stephane)
    WARNING: Contour naming strategy changed so be sure to be aware of that with your previous scripts based on contour naming.

  • Version 4.4.3.0 • Released on: 2019-09-03 17:00:00
    Download
    Description:

    Disabled "Volume constraint" parameter which was not working and could introduce issues in contour evolution (Stephane).

  • Version 4.4.2.0 • Released on: 2019-09-02 17:00:00
    Download
    Description:

    Fixed / tweaked forces calculation when getting out of bounds so contours should stick inside them (Stephane).

  • Version 4.4.1.0 • Released on: 2019-07-17 18:00:00
    Download
    Description:

    WARNING: refer to changelog of previous version.
    - tweaked feedback force calculation to avoid too much oscillation
    (Stephane)

  • Version 4.4.0.0 • Released on: 2019-07-17 15:00:00
    Download
    Description:

    WARNING: this version bring important changes for 2D active contour, report any regression if you find some on the forum please.
    Here're the changes :
    - added support for "entering" ROI (ROI with specific T position)
    - fixed several bugs with 2D contour resampling leading to possible contour breakage / explosion..
    - several tweaks / fixes in 2D active contour code in general
    (Stephane)

  • Version 4.3.4.0 • Released on: 2019-05-22 18:00:00
    Download
    Description:

    - fixed memory leak from Track Manager / TrackSegment.
    - other tweaks
    (Stephane)

  • Version 4.3.3.1 • Released on: 2018-10-11 17:21:29
    Download
    Description:

    new try for previous NPE fix :p

  • Version 4.3.3.0 • Released on: 2018-10-11 16:56:45
    Download
    Description:

    fixed possible NPE in 2D contour (Stephane).

  • Version 4.3.2.0 • Released on: 2018-10-02 16:54:00
    Download
    Description:

    fixed 3D contour splitting (Stephane).

  • Version 4.3.1.0 • Released on: 2018-09-28 17:03:42
    Download
    Description:

    better memory management for 3D active contour (Stephane).

  • Version 4.3.0.0 • Released on: 2018-09-25 18:16:02
    Download
    Description:

    Many changes to the 3D Active Mesh (some fixes and optimizations - Stephane)

  • Version 4.2.1.1 • Released on: 2018-09-25 18:15:30
    Download
    Description:

    Regression from version 4.2.0.0

  • Version 4.2.1.0 • Released on: 2018-09-25 18:12:04
    Download
    Description:

    Many changes to the 3D Active Mesh (some fixes and optimizations - Stephane)

  • Version 4.2.0.0 • Released on: 2017-09-21 16:05:11
    Download
    Description:

    * Re-privatise access to the track group (rollback from previous commit)
    * (Hopefully) better cleaning of the track group at startup, allows keeping the track group alive after analysis without causing (too large) memory leaks
    * The overlay remains visible after analysis if no export is required (wasnt the case in headless/protocol mode)

  • Version 4.1.21.1 • Released on: 2017-09-15 09:33:35
    Download
    Description:

    Re-uploaded jar file

  • Version 4.1.21.0 • Released on: 2017-08-29 17:00:46
    Download
    Description:

    Fixed the export to area-type ROI

  • Version 4.1.20.0 • Released on: 2017-02-10 16:14:17
    Download
    Description:

    Added label export in standalone interface

  • Version 4.1.19.1 • Released on: 2017-02-10 13:14:48
    Download
    Description:

    Re-uploaded invalid jar file

  • Version 4.1.19.0 • Released on: 2017-02-10 10:58:46
    Download
    Description:

    * Fixed a display issue in 3D
    * Added a block to save 3D tracks as VTK files (experimental)

  • Version 4.1.18.1 • Released on: 2017-01-16 14:18:36
    Download
    Description:

    Re-uploaded JAR file

  • Version 4.1.18.0 • Released on: 2017-01-13 16:32:14
    Download
    Description:

    * Fixed an issue with counter-clockwise defined contours
    * Added the "axis constraint" parameter in the block version
    * Code optimisation and cleaning

  • Version 4.1.17.0 • Released on: 2016-12-11 16:38:56
    Download
    Description:

    Fixed an issue when computing the average image intensity for contours located outside the image bounds

  • Version 4.1.16.0 • Released on: 2016-11-30 23:25:33
    Download
    Description:

    Fixed an issue where the local image statistics inside a newly created contour could be missing

  • Version 4.1.15.1 • Released on: 2016-09-20 18:10:40
    Download
    Description:

    Re-uploaded invalid jar file

  • Version 4.1.15.0 • Released on: 2016-09-20 15:18:45
    Download
    Description:

    Improved the safeguard that prevents infinite contour resampling

  • Version 4.1.14.0 • Released on: 2016-09-12 11:27:14
    Download
    Description:

    Added a safeguard to prevent an issue where contours would resample indefinitely

  • Version 4.1.13.1 • Released on: 2016-08-30 17:23:25
    Download
    Description:

    Regression from version 4.1.12.0

  • Version 4.1.13.0 • Released on: 2016-08-30 17:11:31
    Download
    Description:

    Attempting to fix a dead lock during contour resampling

  • Version 4.1.12.0 • Released on: 2016-08-24 14:47:28
    Download
    Description:

    Fixed the swimming pool export for Protocols

  • Version 4.1.11.0 • Released on: 2016-06-23 21:30:42
    Download
    Description:

    Fixed a substantial memory leak occurring during batch processing

  • Version 4.1.10.1 • Released on: 2016-03-08 21:44:27
    Download
    Description:

    Fixed a silly copy-paste

  • Version 4.1.10.0 • Released on: 2016-03-08 21:38:59
    Download
    Description:

    Quick fix on the contour naming

  • Version 4.1.9.0 • Released on: 2016-03-08 21:34:23
    Download
    Description:

    Updated the deformation profiler to include box width, height and depth, and calculate perimeter and surface in 2D

  • Version 4.1.8.0 • Released on: 2016-03-08 16:42:33
    Download
    Description:

    Add an identifier to each contour (to identify their starting point post-analysis)

  • Version 4.1.7.0 • Released on: 2016-02-11 15:03:24
    Download
    Description:

    Investigating strange errors in the calculation of average intensity

  • Version 4.1.6.0 • Released on: 2015-10-27 10:31:35
    Download
    Description:

    Fixed the behaviour of the progress bar and stop button

  • Version 4.1.5.0 • Released on: 2015-05-29 18:29:05
    Download
    Description:

    * Code refactoring
    * Fixed intensity calculations (again)

  • Version 4.1.4.0 • Released on: 2015-05-20 23:56:08
    Download
    Description:

    Minor fix on the intensity statistics calculation

  • Version 4.1.3.0 • Released on: 2015-03-18 19:04:55
    Download
    Description:

    * Added TemporalROI (was missing from the .jar file)
    * Fixed initialisation of a contour from a 2D Polygon

  • Version 4.1.2.0 • Released on: 2015-03-18 15:04:45
    Download
    Description:

    Results are stored (and displayed) in GUI mode even when clicking on the "stop" button

  • Version 4.1.1.0 • Released on: 2015-03-17 21:04:52
    Download
    Description:

    * New: division sensitivity parameter
    * Minor tweaking on the division detection
    * Minor interface re-arrangement
    * TemporalROI reworked into a single class

  • Version 4.1.0.0 • Released on: 2015-01-23 17:31:46
    Download
    Description:

    * Ability to output the result as temporal ROIs (experimental)
    * Several bug fixes

  • Version 4.0.4.0 • Released on: 2014-12-02 17:30:04
    Download
    Description:

    * Fixed null pointers in the overlay
    * Applied same 3D volume constraint in 2D

  • Version 4.0.3.0 • Released on: 2014-12-02 15:47:08
    Download
    Description:

    * Fixed edge data calculation
    * Improved pixel sampling
    * Improved performance in 3D

  • Version 4.0.2.0 • Released on: 2014-12-01 19:34:23
    Download
    Description:

    Fixed various multi-threading issues

  • Version 4.0.1.0 • Released on: 2014-11-27 11:04:25
    Download
    Description:

    * Fixed issue in VTK export (Deformation Profiler)
    * Improved overlay management

  • Version 4.0.0.0 • Released on: 2014-11-24 15:19:36
    Download
    Description:

    Major plugin update:
    * 3D analysis now uses the new "3D mesh ROI" SDK (rendering much improved)
    * Dramatically improved the volume conservation constraint (especially in 3D)
    * Deformation profiler (Track Manager plugin) now remembers the last used folder
    * Other minor tweaks and fixes

  • Version 3.2.2.0 • Released on: 2014-08-21 19:59:45
    Download
    Description:

    * Fixed an issue on 2D image segmentation
    * Added more descriptors in 3D for the track manager (REMINDER: this is an experimental feature and will be moved into a standalone plugin upon completion)

  • Version 3.2.1.0 • Released on: 2014-08-11 15:56:06
    Download
    Description:

    Reduced sensitivity to cell division (should me more robust for thin line segmentation)

  • Version 3.2.0.0 • Released on: 2014-08-11 15:29:28
    Download
    Description:

    * Fixed issue where tracks were no longer sent to the track manager
    * Added new shape measures
    * Cleaned up code

  • Version 3.1.5.0 • Released on: 2014-08-07 19:15:30
    Download
    Description:

    Update to the previous commit (missing file)

  • Version 3.1.4.0 • Released on: 2014-08-06 19:46:09
    Download
    Description:

    New track processor to measure 3D shape descriptors (EXPERIMENTAL)

  • Version 3.1.3.0 • Released on: 2014-08-04 19:03:15
    Download
    Description:

    Fixed issue caused by vanishing contours

  • Version 3.1.2.0 • Released on: 2014-08-04 17:26:51
    Download
    Description:

    * Fixed issues caused by using 2D contours on 3D data
    * Tracking data can be exported within protocols

  • Version 3.1.1.0 • Released on: 2014-08-04 12:35:41
    Download
    Description:

    * Added safeguards to troubleshoot code (notably when running 2D contours on 3D data)
    * "Evolution bounds" set to "no sequence" by default in protocols mode

  • Version 3.1.0.0 • Released on: 2014-08-01 18:00:36
    Download
    Description:

    Multiple bug fixes and improvements, including:
    * Fix ROI2DRectangle not initialising properly => replaced by ellipse
    * Fixed 2D & 3D contour evolution on 3D data
    * Improved error handling
    * Print surface area for each mesh to the console (Icy's values in metric units are not correct in 3D)

  • Version 3.0.1.0 • Released on: 2014-07-15 18:17:08
    Download
    Description:

    Fixed several issues related to error handling in a multi-threaded context

  • Version 3.0.0.0 • Released on: 2014-07-10 16:31:22
    Download
    Description:

    Major update: plugin works on 3D data!
    NB: the 3D Active Meshes plugin is now superseded by this new version. Your now-way solution to active contours for 2D/3D cell segmentation and tracking.

  • Version 2.7.0.1 • Released on: 2014-05-17 12:53:05
    Download
    Description:

    Fixed jar file

  • Version 2.7.0.0 • Released on: 2014-05-16 21:06:09
    Download
    Description:

    * Added optional parameter to limit the number of iterations
    * Tracking: ability to monitor new objects entering the field
    * Multiple performance improvements

  • Version 2.6.0.1 • Released on: 2014-02-21 13:10:11
    Download
    Description:

    Minor fix due to a missing method after the latest Protocols SDK update

  • Version 2.6.0.0 • Released on: 2014-02-17 23:06:20
    Download
    Description:

    First major upgrade towards a 3.0 release:
    * Major code restructuring
    * Higher stability
    * General performance improvements
    * New volume conservation constraint
    * Output ROI as area or polygons
    * Improved edge detection

  • Version 2.5.14.0 • Released on: 2013-11-07 14:57:58
    Download
    Description:

    * Updated to Icy 1.4
    * Return of a sensitivity parameter (for very specific uses)

  • Version 2.5.13.0 • Released on: 2013-10-14 18:01:21
    Download
    Description:

    Fixed minor display issues

  • Version 2.5.12.0 • Released on: 2013-10-03 15:57:23
    Download
    Description:

    Don't show the track manager in headless mode

  • Version 2.5.11.0 • Released on: 2013-09-27 16:23:10
    Download
    Description:

    handle single contour evolution in a single thread (but *NOT* the last converging one in a multi-contour case)

  • Version 2.5.10.0 • Released on: 2013-08-12 10:46:24
    Download
    Description:

    * removed unnecessary parameter in ActiveContour.move()
    * fixed issue with null structures in dividing contours
    * fixed mass center computation
    * Minor display adjustment

  • Version 2.5.9.0 • Released on: 2013-07-24 19:15:38
    Download
    Description:

    * Fixed an issue causing contours not to move in some cases
    * Fixed issue causing the graphical interface to freeze in standalone mode

  • Version 2.5.8.0 • Released on: 2013-07-24 14:55:39
    Download
    Description:

    * Fixed an issue in the resampling routine
    * Reworked and improved multi-threaded behavior

  • Version 2.5.7.0 • Released on: 2013-07-12 09:56:56
    Download
    Description:

    Fixed an issue with the overlay (probably due to concurrent modifications in the track manager)

  • Version 2.5.6.0 • Released on: 2013-07-11 18:17:29
    Download
    Description:

    Throw an error message in block mode when no ROI is given as input

  • Version 2.5.5.0 • Released on: 2013-06-24 18:55:01
    Download
    Description:

    * Improve the overlay (font changed to MS type, color always bright)
    * make sure the ROI output exists before filling it

  • Version 2.5.4.0 • Released on: 2013-06-19 23:52:16
    Download
    Description:

    Region-based information is now rescaled properly depending on the data type

  • Version 2.5.3.0 • Released on: 2013-06-15 13:03:57
    Download
    Description:

    Many fixes with the tracking results

  • Version 2.5.2.0 • Released on: 2013-06-14 01:32:01
    Download
    Description:

    * Fixed headless behaviour as well as threading issue with the Track Manager
    * Fixed issue in region force computation (incorrect normalisation)
    * Fixed issue when encountering freshly divide contour with empty data structure

  • Version 2.5.1.0 • Released on: 2013-06-10 22:11:58
    Download
    Description:

    Fixed an issue causing tracked contours to have an incorrect position (thx to Timothée Lecomte)

  • Version 2.5.0.0 • Released on: 2013-06-08 23:44:57
    Download
    Description:

    Major interface update and code optimization. In a nutshell:
    - less parameters are visible (new "advanced" option)
    - new balloon force
    - bound evolution to a field or ROI
    - improved block implementation
    - automatic adjustment of some parameters

  • Version 2.4.1.0 • Released on: 2013-05-29 12:50:10
    Download
    Description:

    Removed sensitivity parameter (it is now autmatically computed from the data)

  • Version 2.4.0.0 • Released on: 2013-03-12 20:40:20
    Download
    Description:

    * Deal with any type of input
    * Block support (BETA)
    * Performance adjustments

  • Version 2.3.10.0 • Released on: 2012-10-30 18:40:52
    Download
    Description:

    * Fixed null pointer issue when storing results
    * Removed some deprecated calls

  • Version 2.3.9.0 • Released on: 2012-07-17 19:30:44
    Download
    Description:

    Fixed issue causing plugin to crash when loading a new sequence while plugin is running in tracking mode

  • Version 2.3.8.1 • Released on: 2012-07-06 14:16:21
    Download
    Description:

    Display the Tracking Manager only when the tracking option is checked

  • Version 2.3.8.0 • Released on: 2012-07-06 14:15:54
    Download
    Description:

    Display the Tracking Manager only when the tracking option is checked

  • Version 2.3.7.1 • Released on: 2012-06-15 15:12:33
    Download
    Description:

    Track manager was not showing in tracking mode

  • Version 2.3.7.0 • Released on: 2012-04-12 13:56:28
    Download
    Description:

    Updated to Filter toolbox 2.1.0.0

  • Version 2.3.6.1 • Released on: 2012-03-05 18:18:31
    Download
    Description:

    Re-updated Jar file (strange bug reports seem to be one line off)

  • Version 2.3.6.0 • Released on: 2012-02-29 19:22:59
    Download
    Description:

    * Adjusted required input parameters (error messages if no input sequence)
    * updated to EzPlug 1.6.4.1

  • Version 2.3.5.0 • Released on: 2012-02-17 20:07:00
    Download
    Description:

    * Removed references to deprecated EzMessage API
    * fixed progress bar update
    * show error message when no ROI on the image

  • Version 2.3.4.0 • Released on: 2012-02-07 15:38:58
    Download
    Description:

    minor updates to comply with EzPlug 1.6+

  • Version 2.3.3.0 • Released on: 2012-01-24 10:04:09
    Download
    Description:

    fixed handling of objects too small to initialize to a contour

  • Version 2.3.2.0 • Released on: 2012-01-23 14:30:11
    Download
    Description:

    fixed initialization based on ROIs

  • Version 2.3.1.0 • Released on: 2012-01-13 15:16:24
    Download
    Description:

    * fixed two issues regarding contour self-intersection
    ** fixed bug in self-intersection detection (loop and divisions were not correctly distinguished)
    ** fixed handling of contour creation and deletion in the main plug-in code

  • Version 2.3.0.0 • Released on: 2012-01-11 15:26:02
    Download
    Description:

    Added internal plug-in to fill holes in 2D masks (needed for correct contour initialization via masks).
    NOTE: the plug-in is accessible via the "Other plugins" menu, but should soon move to an independent plug-in (or join an existing one)

  • Version 2.2.1.0 • Released on: 2011-12-14 17:58:12
    Download
    Description:

    * major speed increase (2 orders of magnitude !!)
    ** deformation process is now multi-thread and optimized in case no contour coupling is needed
    ** for region-based evolution: the region means are updated only every 10 iterations, which is sufficient in all tested cases
    * fixed result storing method (doing additional loops for no reason)
    * fixed output of detections for use with the track manager

  • Version 2.1.2.0 • Released on: 2011-12-13 16:13:50
    Download
    Description:

    reworked output functionality:
    - possibility to output a labeled sequence (each object id is labeled using its id as gray value)
    - possibility to output a clone of the input with colored+named ROI2DArea objects

  • Version 2.1.1.0 • Released on: 2011-12-12 15:00:41
    Download
    Description:

    * core code:
    - improved pixel bilinear sampling speed
    - (re)inserted discretization time step
    - bound contour evolution within a given rectangle (avoids out-of-image leaking)
    - edge information measured on smoothed image (in the Catte-Lions sense)
    - reworked axis constraint (more efficient and intuitive)

    * interface:
    - numerous comments via tooltips
    - bounded most parameters to [0,1] or [-1,+1] for mathematical reasons
    - added time step parameters
    - merged "contour" and "convergence" groups

  • Version 2.1.0.0b • Released on: 2011-12-09 15:31:13
    Download
    Description:

    * major upgrade: implemented axis contraint, allowing to keep the contour shape close to its major (long) axis
    * fixed bug for ROI-area and isovalue initializations with multiple connected components
    * various performance fixes

  • Version 2.0.5.1 • Released on: 2011-12-07 16:19:45
    Download
    Description:

    new build to reflect Detection API changes

  • Version 2.0.5.0 • Released on: 2011-11-30 13:17:04
    Download
    Description:

    fixed bug causing contour to move in opposite direction if points are ordered counter-clockwise

  • Version 2.0.4.0 • Released on: 2011-11-29 13:40:17
    Download
    Description:

    * fixed bug occurring when closing the input image while the plug-in runs
    * adjusted default parameters

  • Version 2.0.3.0 • Released on: 2011-11-29 08:11:42
    Download
    Description:

    * updated to icy.type.DataType
    * contour is stored as a double-precision path instead of an int-precision polygon (smoother rendering)
    * added Timer to refresh screen only every X millisec (avoids stalling the interface on fast executions)

  • Version 2.0.2.0 • Released on: 2011-04-28 16:59:52
    Download
    Description:

    Fixed issue causing the plugin to crash if called via code without any graphical interface (batch mode).

  • Version 2.0.1.0 • Released on: 2011-04-26 14:18:48
    Download
    Description:

    - fixed bug causing wrong polygon ROI initialization (first ROI point missing)
    - added channel and slice parameters to the region-based input term, in order to process a specific slice and channel in 3D color images (feature request on the user forum by Will)

  • Version 2.0.0.0 • Released on: 2011-03-25 17:36:50
    Download
    Description:

    Major update: implemented tracking.

  • Version 1.1.0.2 • Released on: 2011-02-18 14:55:19
    Download
    Description:

    same as 1.1.0.1

  • Version 1.1.0.1 • Released on: 2011-02-18 10:55:46
    Download
    Description:

    adjusted buildpath to point to ICY's ArrayMath utility class

  • Version 1.1.0.0 • Released on: 2011-01-31 12:57:25
    Download
    Description:

    Implemented contour creation by triangulation of binary masks.
    A contour may now be initialized also using a ROI2DArea and by specifying a given iso-value.
    NOTE: in both cases the mask must be a single topological component (i.e. triangulating multiple disjoint areas will not work for the moment)

  • Version 1.0.0.0 • Released on: 2011-01-26 21:02:35
    Download