Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.7.1 - Qt Creator : 4.2.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Ingénieur Développeur C++/Qt pour visualisation de données spatiales

Annonce actualisée sur : https://goo.gl/FOOKGy

L'équipe plasmas spatiaux du Laboratoire de Physique des Plasmas (LPP) recrute un(e) ingénieur(e) de recherche en CDD pour une durée de 1 an, dans le cadre du développement du logiciel graphique SciQLOP, de recherche et visualisation de données plasmas mesurées par des satellites dans le milieu interplanétaire et magnétosphérique. Alliant des méthodes d'apprentissage statistiques à une interface intuitive, efficace et moderne, SciQLOP sera un logiciel unique en son genre au niveau mondial.

Contexte

Depuis des dizaines d'années, des missions satellitaires sont envoyées dans l'espace afin de mesurer les propriétés plasmas et électromagnétiques de notre environnement proche et interplanétaire. Ces données sont actuellement stockées dans de grandes bases publiques et décrites dans des formats standards. Leur exploration et l'extraction d'intervalles présentant des signatures d'intérêt physique est cependant encore difficile. La grande variabilité des signatures observationnelles liée au caractère très dynamique des systèmes mesurés rend les méthodes de recherches basées sur des règles fixes très peu efficaces. L'exploration visuelle est donc aujourd'hui quasi incontournable mais présente évidemment les inconvénients d'être peu reproductible, longue et fastidieuse. Ceci provient, en grande partie, du manque d'outils graphiques permettant de l'exploration de bases de données et manière intuitive, efficace et indépendante de la mission d'origine. Ce projet a pour but le développement d'un logiciel graphique permettant une telle exploration, et possédant en son coeur des méthodes d'apprentissage statistique, pour l'établissement intelligent et reproductible de catalogues de signatures d'intérêt scientifique. Un prototype open-source a déjà été élaboré au sein du laboratoire et s'appuie sur l'API C++ Qt. L'aspect "machine learning" du projet est réalisé dans le cadre d'une collaboration avec le laboratoire de mathématiques appliquées de l'école Polytechnique.

Descriptif du poste et mission

Vous serez intégré à l'équipe Plasmas Spatiaux du LPP en tant qu'ingénieur de recherche. Vous aurez pour mission le développement de l'application SciQLOP. Outre l'interface graphique permettant de visualiser et cataloguer les données de manière intuitive et efficace, vous serez amené à chercher et proposer des solutions quant aux méthodes de machine learning permettant à SciQLOP d'apprendre à reconnaitre des signatures intéressantes et les proposer à l'utilisateur. Ce travail de recherche et développement sera le fruit de votre interaction avec les scientifiques du laboratoire, experts en analyse de ces données et des instruments qui les produisent, ainsi qu'avec les experts en machine learning du laboratoire de mathématique appliquée. Les points clés du développement sont :

Gérer les fichiers de données au format CDF issus de missions diverses
Visualisation de données au format différents (séries temporelles, images, 2D, 3D)
Passage du terminal python intégré vers l'intégration d'iPython
Module de gestion de catalogues virtuels de données
Module d'apprentissage statistique et création de catalogues
Création collaborative/réseau de catalogues
portabilité Linux/WIndows/Mac
Documentation


Rémunération
2700€ brut mensuel, à préciser selon expérience.


Emplacement
Vous serez basé au Laboratoire de Physique des Plasmas, sur le campus de l'école Polytechnique, à Palaiseau.


Votre profil
Vous êtes motivés par le développement graphique et sensible à l'ergonomie de vos interfaces. Vous êtes très enthousiasmé à l'idée de développer un logiciel scientifique unique au monde et d'être l'un des précurseurs de l'utilisation du machine learning pour l'analyse des données spatiales in situ. Vous êtes une personne curieuse, avez un esprit d'initiative et faites preuve d'une grande autonomie. Vous aimez partager et le travail de groupe.


Niveau de recrutement et expérience

Master 2 ou école d'ingénieur
Pas d'expérience professionnelle requise, mais justifier d'une expérience de travail en équipe, au travers de stages par ex. sera un plus.


Compétences et expériences exigées

Très bon niveau C++
Bon niveau Python
Développement GUI
API Qt
Anglais technique/scientifique


Compétences souhaitées

Posséder les compétences suivantes est un grand atout :

Goût pour le logiciel libre open source
Développement en équipe, maitrise GIT etc.
Scikit Learn
connaissances en statistiques
Connaissances ou curiosité pour Machine learning et Big Data

Réponses

  • Bonjour (la convivialité fait toujours plaisir :) )

    Votre annonce est très intéressante, j'y aurais répondu moi même si je n'avais pas déjà un boulot aussi passionnant.
    Je m’interroge juste sur le diplôme que vous demandez, je suis ingénieur mais j'avais la même curiosité et encore plus l'envie de tout réinventer quand j'avais une License. Qt est assez bien fait pour être à la portée du programmeur qui se débrouille en C++. À mon humble avis, vous auriez tout intérêt à chercher quelqu’un qui a une expérience en traitement de données (même minime) : faire une interface en imbriquant des layouts et des labels, c'est facile, proposer une analyse des données, c'est une autre paire de manches et je n'ai pas pas appris ça au cours de ma formation d'ingénieur mais sur un projet qui demandait ce genre de compétences.
    Pourrions nous en savoir plus sur votre équipe ? Le mélange de compétences est formidable mais pour que ça profite à tous, il faut soit un gourou de l'informatique, soit un cahier des charges strict. Je suis rassuré pour vous que vos premières expériences aient donné des résultats positifs mais comme votre annonce le suggère, l'informatique peut vous apporter beaucoup plus.
    Je suis curieux mais ça pourrait surtout intéresser un éventuel postulant, quel est la donnée en entrée et que voulez vous en sortie ? À mon avis, CUDA en OpenCL sont vos amis, cherchez par là également si les calculs sont complexes.
  • A priori, c'est plus sur la visualisation des données que sur l'analyse pure. Donc plutôt OpenGL que CUDA ou OpenCL (ou des outils dédiés à la visualisation scientifique, comme VTK).
    Et a priori, c'est un profil relativement débutant qui est demandé, donc la maîtrise de ces libs ne semble pas être une obligation. La motivation semble compter plus
  • Bonjour,

    Merci de votre intérêt pour notre projet !

    Vous avez parfaitement raison, quelqu'un n'ayant pas le "niveau" ingénieur peut sans doute très bien se débrouiller avec Qt.

    Le projet nécessite cependant un peu "d'expérience", que l'on a généralement peu encore au niveau licence, et qu'on acquiert lors de stages et projets successifs. Expérience en terme de conception du code, en terme d'ergonomie de l'interface graphique à réaliser. Le candidat devra interagir avec les scientifiques afin de bien comprendre leurs besoins et les regrouper sous forme d'une interface graphique intuitive.


    D'autre part, le projet nécessite également une certaine aisance en ce qui concerne la manipulation de données. Nous n'avons pas précisé de compétences requises pour ce qui est "traitement de signal". La plupart se fera via des bibliothèques existantes, et ne demande pas de compétences poussées, et nous ne souhaitons pas que des candidats intéressés ne s'auto-censurent.

    En revanche, avoir certains reflexes comme appliquer des filtres de lissage, des transformées de Fourier, calculer des dérivées/intégrales etc. sera nécessaire. Être autonome de ce point de vue est assez rare au niveau licence. De plus, une partie du travail consistera à déterminer les méthodes d'apprentissage statistiques s'appliquant le mieux à la reconnaissance de signatures observationnelles dans les données satellites (essentiellement des séries temporelles), ceci aussi semble ardu pour un niveau licence.

    Il s'agit ici d'un projet assez ambitieux dans le temps imparti (12 mois) !


    Concernant notre équipe :

    Le noyau dur est constitué :

    - d'un scientifique en physique des plasmas spatiaux (moi même)
    - d'un ingénieur expert en C++/Qt traitement du signal, qui a déjà commencé le développement de SciQLOP
    - d'un mathématicien expert en apprentissage statistique

    Cette équipe est localisée dans le même bâtiment et très dynamique. Elle s'insère plus largement dans l'équipe "plasmas spatiaux" du laboratoire de physique des plasmas, dont le personnel possède une expérience très poussée en ce qui concerne :

    - l'analyse des données satellites (signatures, méthodes, interprétation physique)
    - l'instrumentation spatiale, à l'origine des données

    Voici un exemple de données satellites :

    image


    On y voit des données mesurée en fonction du temps à la position du satellite, dans la magnétosphère terrestre :


    1/ La densité (noir) et la température des électrons (bleu et rouge) en fonction du temps
    2/ La densité (couleur) d'ions en fonction du temps (axe horizontal) et de leur énergie (axe vertical)
    3/ une série temporelle des trois composantes x,y,z de la vitesse moyenne des ions
    4/ une série temporelle des trois composantes x,y,z du champ magnétique
    5/ L'énergie magnétique (couleur) en fonction du temps (horizontal) et de la fréquence des ondes (vertical).


    Dans ce genre de données, les experts sont capables d'identifier des intervalles de temps au cours desquels les satellites mesures des propriétés différentes, correspondant au passage du satellite dans des régions différentes (intervalles BL, MP, SH). Aujourd'hui ce genre d'identification se fait à l'oeil, elle est fastidieuse et peu reproductible, l'établissement de catalogue est difficile.

    SciQLOP a deux buts principaux

    - explorer et visualiser "facilement" ces données (issues de plusieurs missions chacune possédant plusieurs instruments)
    - apprendre à reconnaitre des structures dans les données et les proposer à l'utilisateur en vue d'établir des catalogues.


    Je reste à votre disposition pour tout renseignement supplémentaire !
Connectez-vous ou Inscrivez-vous pour répondre.