Journal Un livre libre de tutoriels en traitement et analyse d'images

Posté par  . Licence CC By‑SA.
52
28
avr.
2020

Sommaire

Un livre libre de tutoriels en traitement et analyse d'images

Bonjour à tous.

L'objectif de ce texte est de présenter la démarche de publication libre, pour laisser une trace et donner envie à d'autres de suivre ce chemin (comme j'ai eu envie de le faire après la découverte du Frido, et de Pepper & Carrot ).

Je suis enseignant chercheur dans une grande école d'ingénieurs. Mes étudiants sont passés par les classes préparatoires, et ont réussi un concours difficile. Ils sont intéressés et motivés, nous sommes dans un environnement de travail idéal. J'ai de la chance, c'est clair.
Mon domaine de prédilection est le traitement des images. Auparavant (avant mon entrée dans le monde académique), j'étais développeur en SSII. Et pour mieux situer le contexte, je travaille avec linux depuis 1998, et je suis fortement attaché au modèle du libre.

E=mc2

Par la suite, je dirai souvent nous car nous sommes deux à publier ce livre, mais également je lorsque c'est moi qui ai imposé mes vues.

Contexte

Dans les cours que nous dispensons autour du traitement des images (au sens large, mathématiques appliquées, algorithmique, analyse, modélisation, géométrie…), nous essayons d'alterner la théorie et la pratique. Ainsi, une séance sur deux est dédiée à des travaux pratiques, principalement avec le logiciel de calcul scientifique: Matlab (en tous cas, pour l'instant). Ces TP ont été améliorés au fil des années (plus de 10 maintenant), et constituent une base intéressante de travail. Nous avons mis en forme (LaTeX) l'ensemble pour que les étudiants et nous ayons plus de facilités et de plaisir à le parcourir.

Contenu du livre

Le livre se présente sous la forme de tutoriels autour du traitement et de l'analyse des images, accompagné des corrections en langage python (ou matlab sur la version présente sur github). Il est destiné à un public post-bac n'ayant pas trop peur des mathématiques et de l'abstraction, tout en ayant les bases de la programmation scientifique (avec python notamment, mais l'idée n'est pas de faire l'apprentissage de la programmation). L'idée est d'attirer les gens vers l'approfondissement (la théorie) par les applications et par la pratique.

Segmentation de gel d'électrophorèse

L'idée de publication d'un livre

Avec une base conséquente de sujets, plutôt bien illustrée et agréable à lire (j'espère), l'idée de publication est assez vite apparue. Et plusieurs questions se sont posées:
1. Peut-on se contenter de diffuser un pdf?
2. Quelles sont les règles légales de diffusion d'un livre?
3. Peut-on vendre un livre dans l'ère du tout gratuit et du tout piraté?
4. Vendre le livre est-il réellement un objectif?

Objectif: la recherche de la notoriété

Je vais commencer par la dernière question: la vente n'est pas pour nous un objectif. Nous travaillons pour la gloire. Les livres se vendent assez mal, à part pour quelques best-seller. Les livres techniques probablement encore moins. Nous sommes conscients que cela ne nous rapportera pas d'argent.

De plus, il faut bien en être conscient, tous les livres scientifiques et techniques (comme tout le reste d'ailleurs), sont disponibles sur des sites web alternatifs (scihub et consorts), presque même avant la sortie officielle.

Enfin, si on s'adresse à un public d'étudiants, n'est-il pas plus intéressant de leur proposer une version gratuite et complète?

Conclusion: nous allons faciliter la vie de tout le monde, et diffuser le document gratuitement.

Quelle licence de diffusion?

Je lis beaucoup de BD. Je fréquente linuxfr depuis 20 ans. J'ai par cet intermédiaire découvert Pepper et Carrot. J'ai aimé les dessins. J'ai été impressionné par la démarche de diffuser en CC-By une oeuvre, alors que l'auteur est censé vivre de cette oeuvre. Pour rappel, cela signifie que la seule contrainte est de mentionner l'auteur, et que toute réutilisation, même commerciale, est autorisée! Et moi, je suis fonctionnaire, mon salaire est versé tous les mois, mon travail est donc déjà payé par la collectivité. Bref, il est temps pour moi de partager mon travail!

Licence CC-By
La licence sera donc CC-By. Merci David Revoy pour ce conseil indirect. En hommage à Pepper et Carrot, j'ai réutilisé une illustration pour ce livre. J'ai dit je dans ce paragraphe, car il faut bien dire que j'ai convaincu mon collègue, qui n'avait pas réellement d'avis sur la question.

Page de garde

Les hésitations

Lorsque j'en ai discuté avec d'autres collègues, surtout les plus anciens, la remarque a été: tu ne vas pas faire ça! Sous-entendu, tu peux faire un livre scientifique, tu trouves un éditeur scientifique, et tu le vends super-cher et tu vas gagner un peu d'argent dessus. Question de génération, probablement… Je ne les ai pas convaincus, mais au moins j'ai fait ce que j'ai voulu. C'est ce qui est chouette dans ce métier d'enseignant chercheur, on est assez libres :)

L'auto-édition: volonté d'imprimer le livre

Notre livre était déjà dans un état relativement abouti. Il était présentable. La première idée fut donc de générer un pdf et de le déposer sur notre page perso. Seulement, même si l'objectif est de partager le travail, nos contraintes d'enseignants et chercheurs nous imposent de publier. Ou plus particulièrement, d'être référencé. Et donc un document diffusé sur notre page perso institutionnelle n'est pas suffisante. Il faut le rendre plus officiel. Une autre raison de vouloir imprimer le livre est que j'ai du mal à lire des gros documents sur un écran, j'aime bien les livres en tant qu'objet, et je me dis que je ne suis pas le seul. Donc, nous avons cherché le moyen de permettre aux lecteurs potentiels d'obtenir le livre en version papier. Ils pourront l'imprimer chez eux, certes, mais à quel prix? Le livre est en couleur, il y a (dans la version proposée actuellement) 400 pages, cela risque de leur coûter un bras, pour une qualité d'impression médiocre.

A nouveau grâce à mes lectures sur linuxfr, l'idée de l'auto-édition est apparue. Pour résumer, on peut dire que c'est de l'impression à la demande. Des acteur puissants peuvent le faire (amazon), d'autres un peu moins connus (lulu.com). En plus, ils s'occupent de la vente et de la distribution, et du côté légal, des déclarations officielles à la BNF et du numéro ISBN.

La BNF

Pour diffuser une oeuvre hors de la sphère familiale, il faut faire un dépôt légal. Plus d'informations sont présentes sur le site de la Bibliothèque Nationale de France. Ce n'est pas très compliqué à faire.

Numéro ISBN

Pour obtenir un numéro ISBN, on peut passer par l'AFNIL. Les démarches sont également très simples, et le prix n'est pas élevé.

Editeur professionnel: avantages et inconvénients

Page de couverture

Finalement, au hasard des rencontres, un postdoctorant, mathématicien, est passé dans notre laboratoire. Avec quelques collègues, il travaille sur son temps libre à monter une (pour l'instant petite) maison d'édition. Il m'a convaincu de publier notre livre dans celle-ci. Quels arguments avait-il?

  • Il m'a proposé une impression et une reliure de bonne qualité, ce qui n'est pas simple à obtenir avec les systèmes d'impression à la demande, en tous cas pour un prix acceptable.
  • La maison d'édition s'occupe des contraintes légales, elle s'occupe également de la communication autour du livre (référencement dans les bases commerciales et les bases documentaires utilisées dans les bibliothèques universitaires, par exemple).
  • L'éditeur a revu la mise en page, même si le LaTeX permet de faire des choses précises, il y a toujours du texte qui a tendance à dépasser un peu du cadre.
  • Il fait l'avance des frais d'impression, pour avoir un peu de stock.
  • Il s'occupe de la commercialisation.
  • Enfin, il a accepté la contrainte de la diffusion en CC-By et de la version gratuite.

Quels inconvénients?

L'éditeur va se prendre une marge. Oui, c'est normal, mais cela augmente le prix du livre. Je ne dirais pas que c'est un inconvénient, car il rend un service. Par contre, il peut imposer certaines choses, le format notamment (si le livre s'inscrit dans une série), ou des illustrations (la couverture par exemple). Finalement, dans notre cas, il y avait très peu d'inconvénients et beaucoup d'avantages.

Le prix de la version papier

Pour un étudiant, le prix peut sembler trop cher. Pour une bibliothèque universitaire, ce n'est pas cher. La version vendue est en couleur, le prix d'impression est assez élevé, surtout si l'on veut un version de qualité. Il y a ensuite les marges pour l'imprimeur, l'éditeur, le libraire, les auteurs (oui, on touche un petit quelque chose), et les frais de livraison, principalement.

Conclusion, discussion et perspectives

Au final, nous avons un livre, plutôt joli et agréable à consulter, avec, je l'espère, un contenu scientifique et technique qui pourra intéresser du monde. La volonté de partager le savoir est mise en avant grâce à un accès gratuit au contenu finalisé et aux sources (codes python et latex). J'espère que cet ouvrage intéressera et motivera des étudiants à se plonger dans les domaines abordés. J'espère également que d'autres personnes apporteront leur pierre à l'édifice en corrigeant ou proposant de nouveaux contenus.

Nous avons choisi de réaliser ce travail en anglais car nous recevons souvent des étudiants étrangers. Et il semble important de pouvoir s'adresser à un public international. Eventuellement, cela permettra peut-être de motiver un certain nombres de contributeurs. Car, nous en sommes bien conscients, ce livre contient probablement beaucoup de coquilles, des choses imparfaitement décrites ou définies, et des erreurs dans le code (je sais déjà que le code de Freeman contient une erreur!). Mais si nous attendons qu'il n'y en ait plus, nous ne publierons jamais rien. De même, nous avons essayé de bien mentionner la provenance des fichiers, codes et images, notre anglais n'est pas parfait… bref, toute amélioration est bonne à prendre.

Si vous êtes intéressés pour figurer dans les contributeurs de la prochaine édition, le serveur github sera la porte d'entrée: iptutorials.science. Et vous trouverez facilement une manière de me contacter si vous le souhaitez.

Les tutos en préparation

Nous avons dans les cartons quelques sujets intéressants, notamment dans le domaine de la photographie computationnelle (computational photography):

  • Construction de photomosaique
  • Suppression de brouillard
  • Fusion d'exposition (HDR)
  • Inpainting
  • Construction de panorama
  • Seam carving (ou recadrage intelligent, basé sur le contenu - content aware rescaling, voir illustration)
Image originale Image après recadrage intelligent
Image avant seam carving Image après seam carving

Egalement, nous avons quelques exercices d'introduction au traitement du signal (échantillonnage, phénomène de Gibbs, manipulation de la transformée de Fourier discrète, filtres linéaires et convolution, reconnaissance de musique à la manière de Shazam) qui, même si ce n'est pas de l'image, pourraient parfaitement compléter cette première version. Et nous sommes preneur de toute contribution…

Et maintenant

Lorsqu'on fait les cours dans son coin, on essaie de les faire au mieux, mais il y a toujours des imperfections. Si on entreprend de les diffuser à grande échelle, il y a un cap psychologique à franchir pour accepter d'être jugé. Et finalement, tant mieux si nous sommes jugés, nous pourrons ainsi progresser.

Nous sommes au début de cette histoire, et avec un peu de chance quelques personnes vont nous rejoindre.

Crédits images

David Revoy, Pepper et Carrot
Newton2, Wikipedia, Broadway Tower

Liens utiles

  • # C'est bien dommage

    Posté par  . Évalué à 4.

    principalement avec le logiciel de calcul scientifique: Matlab (en tous cas, pour l'instant).

    C'est bien dommage ! Être attaché au libre et utiliser un soft non-libre laisse un arrière goût amère …

    Ce n'est pas les bibliothèques d'analyse d'images qui manquent sous python !
    On peut parler de la très didactique scikit-image, de l'ultra performante OpenCV, de la très riche SimpleITK, et certainement beaucoup d'autres !

    L'intérêt de toutes ces bibliothèques c'est qu'elles sont disponible dans PyPi, donc avec pip, elles s'installent donc chez n'importe qui en quelques minutes sous tout les OS …

    Toutes ces lib utilisent des array numpy que l'on peut grapher très simplement avec matplotlib !

    Matplotlib est compatible jupyter, ce qui donne une autre dimension aux tutoriaux et TPs !

    On peut faire ses propres kernels avec des boucles en python et les accélérer avec numba et pythran pour atteindre des performances très convaincantes avec très peu d'efforts !

    Touts les frameworks de deep learning avec les CNN pour l'image ont des modules python, et la majorité des publis en analyse d'image se sert des CNN en ce moment !

    Je trouve que vous êtes passez à coté d'une vraie révolution pédagogique.

    Python est substituable à MATLab en analyse d'image depuis au moins 10 ans, et cela fait bien 5 ans que le nombre de lib est bien supérieur …

    Tu vas me dire, c'est libre refait sous python … La vie est trop courte, et je n'ai pas besoin de gloire …

    • [^] # Re: C'est bien dommage

      Posté par  . Évalué à 10.

      C'est une très bonne remarque, mais une (notre) école d'ingénieur a un historique d'enseignements (cours/TP/TD), qui date de bien plus de 10 ans. Matlab était déjà utilisé avant 2000, et l'ensemble des maths numériques utilise matlab depuis le début.

      Il faut aussi bien comprendre qu'utiliser le même langage dans tous les cours facilite la manipulation des outils par les étudiants: ils se familiarisent et réutilisent la même syntaxe, donc deviennent plus performants. Je parle ici des cours qui ne sont pas des cours d'apprentissage de l'informatique, mais bien des cours utilisant du calcul scientifique. Cela va de la mécanique des fluides aux éléments finis en passant par les statistiques.

      Mais tout n'est pas perdu, puisque (un peu sous mon impulsion) nous avons décidé de migrer tous ces cours vers python. Et de ce que je sais d'autres universités ou écoles d'ingénieurs, la même volonté se fait entendre.

      Attention cependant, matlab est un très bon logiciel, complet et performant, avec une documentation exhaustive. Il permet de répondre à de nombreux besoins en un seul système, alors qu'il faut plusieurs dizaines de modules pythons équivalents. Par contre, ça coûte deux bras.

      • [^] # Re: C'est bien dommage

        Posté par  . Évalué à 7.

        Et sinon avez vous considéré Octave ? Il présente l'avantage d'avoir exactement la même syntaxe que MATLAB et la couverture des toolbox spécialisées est de plus en plus proche de MATLAB. Par exemple pour Image Processing : https://octave.sourceforge.io/image/overview.html

        aussi sur le salon xmpp:linuxfr@chat.jabberfr.org?join

        • [^] # Re: C'est bien dommage

          Posté par  . Évalué à 2.

          Octave a été considéré par certains pour leurs cours, mais ayant à disposition matlab, personne n'a réellement considéré cette solution.

      • [^] # Re: C'est bien dommage

        Posté par  . Évalué à 5.

        Je parle ici des cours qui ne sont pas des cours d'apprentissage de l'informatique, mais bien des cours utilisant du calcul scientifique. Cela va de la mécanique des fluides aux éléments finis en passant par les statistiques.

        Chez nous, ce n'est que de l'inertie des profs, je n'ai pas eu encore un seul argument technique autre que ma base de code recherche de ces x dernières années est sous MATLab, cela me fait chier d'avoir deux outils différents entre recherche et pédagogie.

        Les cas où les outils équivalents voir supérieurs n'existent pas, sont de plus en plus rare …

        Mais tout n'est pas perdu, puisque (un peu sous mon impulsion) nous avons décidé de migrer tous ces cours vers python. Et de ce que je sais d'autres universités ou écoles d'ingénieurs, la même volonté se fait entendre.

        Super nouvelle, ça va prendre du temps, mais c'est un investissement qui vaut le coup pour les étudiants. Sachant qu'ils apprennent le python en CPGE, ils peuvent être opérationnels plus vite. Python étant un langage généraliste, ils peuvent se servir des bases apprises dans les TPs dans plein d'autres matières (même en sys embarqué avec micropython !).

        Attention cependant, matlab est un très bon logiciel, complet et performant, avec une documentation exhaustive. Il permet de répondre à de nombreux besoins en un seul système, alors qu'il faut plusieurs dizaines de modules pythons équivalents.

        Il y a aussi plein de toolbox matlab qu'il faut rajouter, mais c'est vrai que le noyau de base fait beaucoup plus de choses.

        Mais si tu pars sur numpy+scipy+scikit-image+matplotlib, je pense que tu as déjà 90% des usages en sciences pour les ingé (non big data, là il faut rajouter panda+Dask+scikit-learn (ou alternatives)).

        Je trouve que c'est un problème pour l'enseignant qui doit choisir des toolbox, mais une fois celle-ci installées, c'est assez transparent pour l'étudiant, quelques imports en début de fichier et c'est fini.

        Pour moi ton environnement python, c'est un seul système. Sa conception en revanche peut prendre un peu de temps.

        • [^] # Re: C'est bien dommage

          Posté par  . Évalué à 1.

          Je suis bien d'accord avec tout ce que tu as dit, ce sont les arguments que j'ai avancés pour motiver un passage global à python pour les matières scientifiques utilisant le numérique. L'inertie des profs reste un frein particulièrement important, car ils fonctionnent presque en autonomie. Mais c'est aussi un avantage. Il faut arriver à leur montrer que c'est mieux pour eux et pour les étudiants, et pris indépendamment les uns des autres, ce n'est pas tout à fait vrai. Par exemple, un TP de 6h sur le calcul de transport de chaleur se fait de la même façon en python et matlab, donc quel est l'intérêt de changer ce qui fonctionne bien?

          cela me fait chier d'avoir deux outils différents entre recherche et pédagogie.

          Je ne te rejoins pas tout à fait, j'aime bien changer, parce que cela pose des questions de fond sur ton travail. Lorsque j'ai converti le code que j'avais de matlab à python, j'ai finalement amélioré le code des deux côtés, en utilisant des fonctions plus adaptées ou en trouvant des manières plus habiles de présenter les choses. Et aussi en corrigeant des bugs. J'aime aussi utiliser d'autres langages pour des soucis de performances, opencv en C++, cgal, itk…bref, la variété a du bon, même avec des langages propriétaires.

          Et il ne faut pas oublier que beaucoup d'entreprises utilisent matlab, ce qui peut aussi justifier un besoin de formation.

        • [^] # Re: C'est bien dommage

          Posté par  . Évalué à 5.

          Il y a plusieurs choses. "L'inertie" des profs peut avoir plusieurs raisons, et je vais essayer d'en expliquer une partie. Mais ça bouge aussi…

          Pour le calcul scientifique, Matlab est vraiment très, mais alors très très bien foutu : interface très agréable, debugger au top, très performant d'un point de vu vitesse d'exécution. Et je ne parle pas de simulink que je n'utilise pas.
          Et le langage est super lisible quand on vient des maths. Bref, pour faire du calcul scientifique et du prototypage rapide, je n'ai rien vu de mieux.

          Les deux seuls inconvénients de matlab (amha) sont qu'il n'est pas libre et qu'il est très très cher. Comme matlab existe depuis longtemps maintenant, beaucoup de chose se sont développé avec. Et surtout, en recherche, on a pris l'habitude de travailler avec. Parce que ça va vite.

          Ensuite, vient python. On me l'a "vendu" comme vraiment LA bonne alternative à matlab, que c'est même mieux etc. etc. Et en plus c'est libre.
          Alors oui, c'est libre. Oui, avec Numpy et scipy, on a quelque chose de très proche de matlab. Mais très franchement, je trouve le code matlab plus "fluide" que le code python (question d'habitude !). Jusque là, pour ma recherche, python ne m'apporte aucun "plus" que Matlab. Ce qui risque d'ailleurs de changer un peu, vu que python s'est imposé pour tout ce qui est deep learning.

          Pour l'enseignement c'est autre chose. En général, pour ce qui est proposé, octave suffit lorsque l'étudiant ne peut pas accéder à matlab. Et effectivement, le besoin de matlab arrive finalement assez tard dans le parcours (plutôt vers la L3), alors qu'ils ont déjà eu des cours d'informatique (souvent du C). Et puis Matlab étant utilisé dans l'industrie, ça se justifie aussi.
          Pour le coup, les choses évoluent (en tout cas dans mon université). Python présente l'avantage d'être un "vrai" langage (c'est d'ailleurs ce que je lui "reproche" quand je fais du prototypage: j'ai l'impression d'utiliser un truc pensé par des informaticiens, pas par des matheux). Python peut être alors utilisé pour enseigner l'informatique au lieu du C. Dans les formations, les étudiants commencent maintenant dès le départ avec python, alors autant continuer avec. Donc, lorsqu'on doit ensuite faire des TP plus orientés "calcul scientifique", autant utiliser ce que l'étudiant connait déjà, et passer à python.

          Utiliser les deux, ce n'est pas vraiment un problème. Tant que je peux utiliser matlab pour ma recherche, je continuerai (parce que je suis plus efficace comme ça). Pour l'enseignement, aujourd'hui je laisse les étudiants choisir ce qu'ils veulent: matlab ou python. Le jour où utiliser python me rendra plus efficace pour mon boulot de recherche, je ferai la bascule. Ou bien qu'on ne puisse plus me payer une licence matlab. Mais dans ce cas, je regarde plutôt du coté de Julia…

          • [^] # Re: C'est bien dommage

            Posté par  . Évalué à 8. Dernière modification le 30 avril 2020 à 09:10.

            Utiliser les deux, ce n'est pas vraiment un problème. Tant que je peux utiliser matlab pour ma recherche, je continuerai (parce que je suis plus efficace comme ça).

            C'est justement ce raisonnement qui fait que ça bloque. Il y a deux grand tropismes chez les profs, ceux que la recherche fait chier et que l'enseignement passionne, et ceux que la recherche passionnent et qui subissent l'enseignement. Il y a évidemment des dégradés entre ces deux nuances.

            Si tu es passionné par ta recherche, que tu fais ta recherche en MATLab et que l'on te force à faire du python pour des cours qui ne te passionnent pas, alors ton investissement risque d'être très limité, et du que tu auras un pb tu pesteras et diras que c'est nul python, avec MATLab je fais ça ne deux secondes …

            Tout n'est pas transférable si simplement en python, d'autres paradigmes sont arrivés, par exemple les dataframes de Pandas qui permettent de structurer beaucoup mieux tes données et éviter de tout transformer en tableau ou structures, et qui ont des méthodes hyper utiles d'interpolation de séries ou de tri, qui comparer au find() de MATLab sont un vrai plaisir.

            C'est sûr que si tu transpose ton workflow à python, sans rien remettre en cause, il ne va pas t'apporter grand chose …
            Mais si tu réfléchis à comment revoir ce que tu faisais pour profiter de Dask, Pandas, numba, tu n'auras aucun besoin d'aller vers Julia (en fait comme Julia est dédié, cela sera plus simple à mettre en place).

            L'intérêt de python est justement le fait de pouvoir être un langage généraliste. Franchement, je trouve que faire l'algo en L1, L2 voir L3 avec python, ensuite commencer à spécialiser avec des langages plus orienter machines ou métier permettrait d'avoir moins d'ingénieurs qui ne veulent plus jamais entendre parler de l'informatique !

            La ou je suis, il font C, C++, Labview, python, MATLab, java en fonction précisément de ce que leur profs font en recherche et imposent à leurs techniciens … Autant te dire que ceux qui ne sont pas fondus d'informatique fuient, et sont des gros nuls en programmation …

            Quand je les récupère en thèse, je commence avec 3 mois pour apprendre à utiliser un environnement numérique en python, charger ses données, faire des régressions, choisir les bonnes lib, et utiliser ça sur un cas qui leur sert pour leur étude. C'est le seul et unique moyen que j'ai trouvé pour avoir des doctorants autonomes. Du coup, il ne sont plus effrayés, et quand il faut aller faire un peu d'embarqué ou contrôler du matériel, il font leurs classes tout seuls et ne dépendent plus autant de moi pour leurs avancées, je peux ainsi me concentrer sur l'aspect scientifique.

            Les jeunes qui ont fait du MATLab ne sont pas trop dur à convertir, mais ils luttent, car il faut changer leurs habitudes … Lorsqu'ils voient tout ce qu'ils peuvent faire en interaction avec le monde réel par rapport à MATLab, ils sont super content, mais c'est 6 mois à un an plus tard …

            Donc je n'imagine même pas à quel point cela doit être dur pour un enseignant/chercheur qui doit monter des projets et faire des réformes pédagogiques. Je sais que c'est difficile de changer, mais si on change, il faut le faire bien.

            Il y a plein d'outils comme tutos comme DataCamp qui permettent de ne plus utiliser python comme MATLab, mais il faut accepter d'avoir un à deux mois de temps recherche à passer sur des tutos, ce n'est pas évident, c'est clair.

            • [^] # Re: C'est bien dommage

              Posté par  . Évalué à 2.

              Chaque langage a ses avantages et inconvénients. Pour ma recherche, python ne m'apporte pas grand chose, hormis que ça soit libre (ce qui est déjà beaucoup diront certains). Si je dois changer, alors Julia me semble beaucoup plus approprié pour ce que je fais.

              Et tout ça ne m'empêche vraiment pas de travailler avec python quand c'est nécessaire: parce que mes collègues l'utilise, parce que les étudiants connaissent déjà etc. Et loin de moi l'idée de faire du prosélytisme pour matlab dans ces cas là. Tout les articles "matlab VS python" sont pour moi totalement inutiles et biaisés.

              Passer 3 mois en début de thèse pour fixer l'environnement de travail est une bonne chose. Finalement, on est tous passé par là (ou presque). Et j'ai même des collègues qui au final préfèrent le C++ pour faire du calcul numérique…

              Bref le choix dépend des besoins, de l'environnement… Python a énormément d'avantage, je ne vais pas le nier. Enseigner ce que j'enseigne avec python ne me pose aucun problème, car au final je n'enseigne pas du python (même si le but est de faire les choses correctement en python bien entendu).

              Enfin, pour en venir aux choses sérieuses. FreeJeff, aurais-tu fais le génie mécanique à l'UTC dans les années 2002--2005 ?

              • [^] # Re: C'est bien dommage

                Posté par  . Évalué à 3.

                Non, j'ai fait génie des systèmes mécaniques, désolé tu dois confondre ;-p

  • # Merci

    Posté par  . Évalué à 3.

    Sans même avoir lu le livre, merci car le traitement du signal (et notamment un signal 2d) m'a toujours intéressé. J'ai un moteur commencé lorsque j'étais étudiant qui attend que je trouve du temps pour le finir.

    Bravo et super initiative.

  • # Merci

    Posté par  (site web personnel) . Évalué à 10.

    Merci pour ce remarquable journal, particulièrement agréable à lire.
    Merci pour cette initiative, absolument exemplaire.
    Merci pour ce sujet, tellement rare (me semble t il) des algo de traitements d'images, rassemblant théorie, cas pratiques et explications.

    j'en achète deux dès que possible : un pour moi et un cadeau à laisser trainer dans mon service au travail

    • [^] # Re: Merci

      Posté par  (site web personnel) . Évalué à 3.

      Oui, c'est une très belle dépêche… journal ;)

    • [^] # Re: Merci

      Posté par  . Évalué à 2. Dernière modification le 29 avril 2020 à 06:25.

      C'est vrai que l'explication de la démarche et la qualité de ce journal incitent à participer financièrement.

      Je n'achète que peu de livres (en tant qu'objet physique) car ça prend vraiment beaucoup de place, mais je fais des exceptions de temps à autres. J'ai acheté tout ce que je pouvais sur le Lisp dont un bouquin de Robert Strandh notamment pour les soutenir (et le livre était excellent).

  • # exo en ligne

    Posté par  (site web personnel) . Évalué à 3.

    J'ai découvert katacoda, il y a peu de temps. Peut être que vos labs peuvent y être mis, il est possible de créer des exercices gratuitement.

    https://katacoda.com/

    "La première sécurité est la liberté"

    • [^] # Re: exo en ligne

      Posté par  . Évalué à 2.

      Bonjour,
      je ne connaissais pas, merci. Pour ce livre, j'ai choisi d'utiliser mybinder pour lancer des notebooks jupyter… je ne sais pas si c'est une bonne solution, il faudrait que je me penche dessus (ou une autre personne).

  • # Latex

    Posté par  . Évalué à 2.

    Superbe démarche, bravo !

    Je note que les sources du livres sont en latex. L'éditeur a accepté du Latex ?
    Si oui c'est super mais ça me surprend. Le peu que je m'étais renseigné sur le sujet, les éditeurs demandaient plutôt du .doc (word), ou à la rigueur, pour les moins arriérés, du .odt (libreoffice)…

    • [^] # Re: Latex

      Posté par  . Évalué à 4.

      merci.

      Je connais plusieurs éditeurs scientifiques qui acceptent le latex, il faut insister un peu mais c'est possible. Et pour cette maison d'édition, ce sont à la base des scientifiques, donc ils préfèrent le latex.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.