Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
developpement:productions:logiciels:levelsetmethod [2014/12/05 10:48]
cicaluga
developpement:productions:logiciels:levelsetmethod [2015/01/07 10:04] (Version actuelle)
Ligne 44: Ligne 44:
 {{ :​developpement:​productions:​logiciels:​lsm.png?​nolink&​650 |}} {{ :​developpement:​productions:​logiciels:​lsm.png?​nolink&​650 |}}
  
 +  * **Program optimization**
  
 +**//​Translation and shortcuts//​**
 +
 +The codes were first translate from Python to C++, without major modifications. The python codes use the OpenAlea library whereas the C++ translation use the CImg library.
 +The computation time was divided by 4.5 from Python to C++ in the LSM detect contour. The amount of memory used was also slightly diminish.
 +
 +Some part of the code were then optimize by changing the way to loop over images and by removing unnecessary computation. Those modifications divided the computation time by 2.5. We try to implement a narrow-band method but it wasn't conclusive.
 +
 +For the LSM detect contour, the final C++ code is approximately 11 time faster than the original Python code. It also use thrice as less memory.
 +
 +**//​Parallelization//​**
 +
 +The LSM detect contour was parallelized but it wasn't successful, so we keep the sequential version.
 +
 +The original Python for LSM cell was already parallelized,​ but only on the step 1 on 2 when the cells evolve independently. After a sequential translation and optimization in C++, the code was fully parallelized,​ including step 3. With the same number of threads, the C++ parallel version is 10 time faster than the Python version.
 +
 +  * **New features and script**
 +
 +Several versions were implement in order to :
 +  * change more parameters (LSM cells)
 +  * change the stop criteria (LSM contour)
 +  * initialize with a given contour (LSM contour)
 +  * segment only a list of cells (LSM cells)
 +  * restart at the third step (LSM cells)
 +
 +<note important>​This project has been performed during the stage of Master of **Typhaine Moreau** at ENS Lyon (Reproduction et Developpement des Plantes and Centre Blaise Pascal) coordinated by **Annamaria Kiss and Cerasela Calugaru**
 +</​note>​
developpement/productions/logiciels/levelsetmethod.1417772915.txt.gz · Dernière modification: 2015/01/07 10:04 (modification externe)