Programmation logiciel pour les applications biologiques

Lorsque les outils informatiques disponibles sur le marché ne correspondent pas aux attentes, il est possible de créer un nouvel outil, un nouveau logiciel, un nouveau script, un nouveau programme. Nous présentons ici les logiciels d’imagerie hautement  configurables ainsi que les langages de programmation adaptés aux domaines de l’imagerie, de l’analyse de données et à la visualisation.

Les logiciels d’imagerie pour la microscopie

ImageJ et Icy

Logiciels gratuits d’imagerie pour l’analyse d’image. Permet de créer des macros ou des plugins sur mesure.

application biologique imageJ
software programmation Icy imaging

Avantages : permet de s’intégrer dans un logiciel offrant de nombreuses fonctions.

Cell Profiler (and Cell Profiler Analyst)

CellProfiler est un logiciel gratuit et open source conçu pour permettre de mesurer automatiquement les phénotypes à partir de milliers d’images.

cellprofiler_quantacell

Avantages : permet de développer des pipeline avancées et de les appliquer sur de grands lots d’images

 

Ilastik

Ilastik est un logiciel open source gratuit et convivial pour la classification et la segmentation d’images. Aucune expérience préalable en traitement d’image n’est requise pour exécuter le logiciel.

Ilastik

Avantages : permet de faire de la segmentation 3D basée sur le deeplearning

 

 

Langages de programmation adaptés à l’analyse des données biomédicales

Python 3

Python est un langage de programmation interprété et multi-plateformes. Il permet de développer rapidement des outils de Data sciences, d’analyse d’image et d’intelligence artificielle

python_data_sciences

Avantages : pour l’intelligence artificielle (machine learning et deep learning) il existe énormément de ressources disponible sur internet 

Matlab (MathWorks)

Langage de programmation scientifique très complet.

matlab analyse de données biomédicales

Avantages : grâce aux nombreuses fonctions scientifiques proposées, le temps de programmation est très faible. Particulièrement adapté à l’écriture de scripts sans interface graphique riche. 

Langage « R »

Langage de programmation dédié aux statistiques.

r software programmation

Avantages : environnement 100% gratuit adapté à l’analyse de données. Utilisé pour les publications scientifiques.

Java et .Net

Frameworks les plus utilisés au monde en informatique généraliste.

java programmation
C++ language

Avantages : très adapté pour les applications graphiques génériques. Une communauté d’utilisateurs énorme. Beaucoup d’outils pour les interfaces graphiques, le réseau, les bases de données.

 C/C++

Langage vieux et performant. Bibliothèques additionnelles

  • QT : utilisé pour faire des interfaces graphiques riches. Multiplateforme et gratuit
  • OpenCV : librairie dédiée à l’analyse d’images et au Data Mining. Multiplateforme et gratuit

Avantages : très rapide, très fiable, multiplateforme.

CUDA

Programmation des cartes graphiques pour des exécutions extrêmement rapides.

data treatment

Avantages : adapté aux algorithmes de traitement d’images lourds. Permet d’avoir un gain de temps jusqu’à 30x par rapport à un algorithme C++ équivalant sur processeur.

ITK 

ITK est une bibliothèque multiplateforme open source qui fournit aux développeurs une suite complète d’outils logiciels pour l’analyse d’images. ITK est notament utilisé pour le recalage des images en 2D et 3D

OpenCV

OpenCV est une bibliothèque graphique libre, spécialisée dans le traitement d’images en temps réel.

OpenCV

Avantages : Langage extrêmement rapide compatible avec le C++ et le Python

SQL et MyPhP/MySQL

bases de données

Avantages : Langage dédié aux bases de données avec son interface d’administration simple et gratuite.