Kst, outil de tracés graphiques convivial et puissant

Posté par . Édité par Davy Defaud, Nils Ratusznik, ZeroHeure et Benoît Sibaud. Modéré par ZeroHeure. Licence CC by-sa
44
19
nov.
2014
Science

Kst est un outil de tracés graphiques et d’analyse de données très rapide et convivial, libre (Qt) et multi‐plate‐forme : Windows, Mac OS X et GNU/Linux. Kst est comparable à LabPlot, Veusz, QtiPlot ou encore SciDAVis.

La version 1, plus maintenue à l’heure actuelle, était une application KDE à laquelle ont contribué des grands noms du projet KDE comme George Staikos, gage d’une bonne qualité de code. Lors du portage en Qt4, les dépendances aux bibliothèques KDE ont été supprimées pour faciliter la distribution sur toutes les plates‐formes.

Des versions de Kst2 stables et pleinement fonctionnelles sont disponibles depuis assez longtemps, mais cet outil reste malheureusement trop peu connu. Pour remédier à cela, des tutoriels vidéo ont été préparés en utilisant la version 2.0.8 sortie en juillet dernier. Ces tutoriels sont disponibles sur la chaîne Kst plot sur YouTube, pour vous faire (re)découvrir les principales fonctionnalités de cet outil.

N. D. M. : l’auteur de la dépêche est l’un des développeurs de Kst, profitez‐en si vous avez des questions !

Les principaux points forts de Kst sont :

  • la performance (les fichiers ASCII de plusieurs centaines de mébioctets et les courbes à plusieurs millions de points sont de la routine) ;
  • la possibilité de faire des courbes « temps réel », c’est‐à‐dire sur des données en flux continu ;
  • la convivialité et l’efficacité ;
  • la maturité et une offre complète en termes d’analyse de données : FFT, filtres, régressions, histogrammes, etc. ;
  • le panel de formats pris en charge : ASCII (totalement configurable), netCDF y compris les méta‐données, Dirfile/GetData, les fichiers .mat de MATLAB, CFITSIO ou encore les images compatibles QImage.
  • # Format des données

    Posté par . Évalué à 3.

    Je cherchais cet outil depuis longtemps! Merci!
    Mais est il possible de lire des fichiers non ascii comme des floats ou des fichiers audio au format wav?

    • [^] # Re: Format des données

      Posté par . Évalué à 3.

      Certains fichiers non ASCII sont supportés, et il est possible d'en ajouter d'autres via une architecture de plugins. Cf la liste des formats supportés sur le site de Kst. Tous ces formats disposent de librairies open-source pour les écrire et les lire.
      Par contre à ce jour il n'est pas possible de lire des formats binaires quelconques, ni de fichiers .WAV. Quelques pistes cependant :
      - .wav: cf cette discussion sur la mailing list : en utilisant sox c'est possible
      - formats binaires : j'avais approché la personne qui a écrit l'outil "structures" pour okteta pour voir si on pourrait combiner les deux et il avait l'air intéressé. Ce n'est pas encore fait, mais le potentiel existe

      • [^] # Re: Format des données

        Posté par . Évalué à 3. Dernière modification le 20/11/14 à 00:11.

        Est-ce que ça prend en charge le format HDF5, qui semble assez standard au travers des plateformes/logiciels ?

        • [^] # Re: Format des données

          Posté par . Évalué à 2.

          Je n'ai pas de fichiers HDF5 sous la main pour faire des tests, mais c'est un sujet d'actualité : c'est évoqué dans la liste des choses envisagées pour la prochaine version.
          Si la librairie netCDF est compilée avec le support HDF5 et Kst compilé avec le support netCDF, les fichiers HDF5 devraient déjà être reconnus.

  • # format de sortie

    Posté par (page perso) . Évalué à 4.

    Quelle est le format de sortie ?

    Possibilité de sortir des images vectorielles en pdf ?
    Possibilité de garder nos images dans des fichiers textes ?

    La réalité, c'est ce qui continue d'exister quand on cesse d'y croire - Philip K. Dick

    • [^] # Re: format de sortie

      Posté par . Évalué à 3.

      Comme c'est expliqué dans la vidéo "Kst presentation #6: Advanced layout and export functions", Kst supporte des formats bitmap et vectoriels, en particulier PDF, SVG et EPS (pour Latex). Cf les démos vers la fin de la vidéo.

      Par contre je ne comprends pas la deuxième question : comment mettre des images dans des fichiers texte ?

      • [^] # Re: format de sortie

        Posté par . Évalué à 2. Dernière modification le 20/11/14 à 00:10.

        C’est expliqué dans une vidéo, mais où est la documentation HTML ou PDF en ligne ? Ça semble dur à trouver sur le site pas très clair.

        Par exemple, je cherche si on peut extraire des données 1D à partir de données 2D sur des segments arbitraires (pas parallèles aux axes) comme sous ImageJ.

        • [^] # Re: format de sortie

          Posté par . Évalué à 2.

          • Pour la documentation : une grosse mise à jour à faire, malheureusement la version 1 était pas mal documentée mais la version 2 est très en retard de ce point de vue. Mais c'est un sujet qui va revenir, il y a déjà eu des discussions avec l'équipe de documentation de KDE.
          • Pour l'extraction de données 1D sur des segments arbitraires : non, ce n'est pas disponible. Ça pourrait probablement être ajouté comme plugin.
  • # KDE 5

    Posté par (page perso) . Évalué à 6.

    les dépendances aux bibliothèques KDE ont été supprimées pour faciliter la distribution sur toutes les plateformes.

    Et maintenant, avec Frameworks 5, il n'y a pas des bouts de KDE qui peuvent revenir tout en gardant la facilité de portage ? Il me semble que c'est pour ce genre d'application que le split en différents modules a été fait.

    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: KDE 5

      Posté par . Évalué à 2.

      Exact, et réintégrer certaines bonnes fonctionnalités de KDE fait toujours partie des plans, même si ce n'est pas la première priorité. Mais d'autres programmes le font (marble par exemple) et c'est possible et de plus en plus facile avec KF5, qui n'est peut-être pas encore tout à fait mature mais ça viendra.

  • # nimage

    Posté par (page perso) . Évalué à 4. Dernière modification le 19/11/14 à 19:40.

    Même s'il y a le lien vers des nimages et vers les vidéos (visibles avec la balise HTML5 et en webM je suppose), une nimage pour illustrer la dépêche donnerait envie de cliquer sur les captures d'écran :

    vue globale de kst

    Bravo pour les tutos, l'anglais me semble compréhensible ;-)

    • [^] # Re: nimage

      Posté par . Évalué à 2.

      Merci pour l'image… et l'anglais. Entre français on se comprend mieux :-)

  • # Temps réel

    Posté par (page perso) . Évalué à 3.

    données en flux continu

    Quels sont les moyens de communication vers Kst dans un cadre de graphiques temps réel, et les moyens de contrôle dynamique des courbes à afficher (création / suppression d'affichages) ?

    Ça m'intéresserait pour éviter de recoder certains outils de visu dans un projet.

    Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

    • [^] # Re: Temps réel

      Posté par . Évalué à 2.

      Je te recommande de regarder les vidéos, en particulier "Kst presentation #3: Range tools and live plots with streaming data". Comme on peut le voir, l'interface reste pleinement fonctionnelle et on peut ajouter ou enlever des courbes comme on le souhaite pendant que les données continuent à vivre.
      Ensuite et au-delà de ce qui est montré dans les vidéos, il existe la possibilité d'interagir avec Kst2 depuis python. Cette partie a été reprise en profondeur récemment et n'était pas vraiment prête pour la version 2.0.8, mais c'est un des gros points de la version à venir. C'est le moment ou jamais de tester : cf ce post tout frais de Barth Netterfield, le "père" de Kst. Les commentaires sont les bienvenus sur la mailing list !

  • # Cassé sur le site

    Posté par (page perso) . Évalué à 2.

    https://kst-plot.kde.org/Ressources

    Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

    • [^] # Re: Cassé sur le site

      Posté par . Évalué à 2.

      Merci ! J'ai corrigé le lien erroné. Ce répertoire n'existe toujours pas, mais au moins plus rien ne pointe dessus.

  • # Quelques questions pour une utilisation en lycée

    Posté par . Évalué à 5. Dernière modification le 20/11/14 à 12:50.

    Bonjour,

    Je suis prof de Physique-Chimie en lycée et ce logiciel m'intéresse beaucoup pour disposer d'une alternative libre à Regressi et autres outils non-libres dont on dispose.

    J'ai testé -sous Linux seulement- Scidavis, Labplot et QTIPlot, sans grand succès, trouvant leur interface assez lourde d'utilisation. D'autre part ces outils sont, soit peu maintenus soit pas à jour dans ma distribution (Fedora).

    Vous ne faites que de la visualisation ou y a-t-il possibilité de créer de nouvelles variables à partir des données existantes?

    En gros, notre besoin tel que je le perçois est le suivant:
    - disponible sous Fedora et Windows dans une version récente (KST l'est);
    - un outil souple dans la gestion et création des variables, à la LO Calc / Excel, (KST l'est-il?);
    - la suppression aisée de données aberrantes ou l'ajout de données (KST a l'air de le faire avec la commande "Change data sample range");
    - un outil capable d'importer du csv ou txt aisément, que les interfaces de nos cartes d'acquisition peuvent nous fournir (là KST le fait);
    - un outil capable d'appliquer un certain nombre de traitements aux données (KST a tout ce qu'il faut on dirait);
    - en français (KST ne l'est pas sous Fedora Gnome) ni sous Windows apparemment (je peux vous aider mais je ne suis pas développeur);
    - un outil capable d'export des graphiques sous forme d'image (KST le fait);
    - un pointeur pour le graphe (KST l'a);
    - et éventuellement la possibilité d'utiliser le graphique avec LaTeX (pour fournir des documents plus propres aux élèves), mais l'export svg le permet peut-être?

    Merci d'avance et merci pour le boulot que vous avez fait!

    • [^] # Re: Quelques questions pour une utilisation en lycée

      Posté par . Évalué à 1.

      Regarde du côté de la suite scientifique de Python avec IPython et son notebook, numpy, scipy, matplotlib et pandas. Concernant Scidavis, le développement a été repris donc il devrait à nouveau être utilisable.

      • [^] # Re: Quelques questions pour une utilisation en lycée

        Posté par . Évalué à 5.

        Euh, merci, ces outils Python sont très bien (pour ceux que j'ai testé, tous sauf pandas) mais je vois mal des 1ere les utiliser. Efin, si, avec une formation adéquate (mais sur quels créneaux?), ce n'est pas si compliqué mais les collègues risquent d'être encore moins motivés que les élèves pour l'utiliser. En fait, IPython notebook pourrait presque se révéler être un support idéal pour les cours non imprimés.

        Un outil de type KST ou équivalent sera vite adopté par contre, vu que les interfaces grahiques ne font peur à personne. Après, reste à voir si le logiciel est accepté pour les Épreuves de capacités expérimentales du bac S. Là, je ne me suis pas encore informé.

        Sinon merci de l'info pour Scidavis. Je teste la version Windows dès ce soir.

    • [^] # Re: Quelques questions pour une utilisation en lycée

      Posté par (page perso) . Évalué à 4.

      • en français (KST ne l'est pas sous Fedora Gnome) ni sous Windows

      Si tu veux un coup de main pour cette partie, je peux sans doute aider

      If you choose open source because you don't have to pay, but depend on it anyway, you're part of the problem.evloper) February 17, 2014

    • [^] # Re: Quelques questions pour une utilisation en lycée

      Posté par . Évalué à 5.

      • disponible sous Fedora et Windows dans une version récente (KST l'est);

      Selon les distributions, les dernières versions mettent parfois un peu de temps à être disponibles. Un contributeur a récemment fait des packages sur l'OpenSuse build service pour pas mal de distributions

      • un outil souple dans la gestion et création des variables, à la LO Calc / Excel, (KST l'est-il?);

      Oui, cf le menu de création : les équations devraient répondre à ce besoin. Cf également la vidéo "Kst presentation #4: FFTs, equations, filters, fits, plugins"

      • la suppression aisée de données aberrantes ou l'ajout de données (KST a l'air de le faire avec la commande "Change data sample range");

      L'outil en question permet uniquement de restreindre la plage de données chargée. Pour l'instant les données affichées sont celles lues, mais il est prévu d'ajouter dans la prochaine version la possibilité d'éditer les données (probablement des copies des données lues en fait)

      • un outil capable d'importer du csv ou txt aisément, que les interfaces de nos cartes d'acquisition peuvent nous fournir (là KST le fait);

      Clairement, c'est un point fort de Kst. N'importe quel format ASCII raisonnable peut être lu, même de grande taille (plusieurs Go au besoin)

      • un outil capable d'appliquer un certain nombre de traitements aux données (KST a tout ce qu'il faut on dirait);

      Normalement oui. Sinon c'est assez facile de rajouter des plugins, et s'ils sont d'intérêt général et postés par exemple sur la mailing list ils seront ajoutés à la distribution

      • en français (KST ne l'est pas sous Fedora Gnome) ni sous Windows apparemment (je peux vous aider mais je ne suis pas développeur);

      Les traductions sont à nouveau disponibles depuis la version 2.0.8. Pour le français, c'est déjà fait ! Par contre il est possible que certains packagers n'aient pas fait le nécessaire => à signaler dans ce cas pour qu'ils corrigent le tir

      • un outil capable d'export des graphiques sous forme d'image (KST le fait);

      Oui, formats bitmaps et vectoriels.

      • un pointeur pour le graphe (KST l'a);

      Oui

      • et éventuellement la possibilité d'utiliser le graphique avec LaTeX (pour fournir des documents plus propres aux élèves), mais l'export svg le permet peut-être?

      A priori pour Latex le format EPS est le plus adapté, mais il existe peut-être des possibilités avec SVG aussi.

      • [^] # Re: Quelques questions pour une utilisation en lycée

        Posté par (page perso) . Évalué à 2.

        Un contributeur a récemment fait des packages sur l'OpenSuse build service

        Sans vouloir te désespérer, c'est un peu inutile.
        Rien ne vaut le contact direct avec chacun des mainteneurs du paquet dans chaque distribution.
        C'est peut-être lourd, mais il est abonné à votre ML (s'il est sérieux) et abonné à la ML de sa distrib' (et suit tant le bugtracker de sa distro que celle du projet, pour normalement quelqu'un de bien constitué).

        Cela prend du temps, mais n'hésitez pas à intégrer upstream ce qui peut l'être (voire ce qui ne devrait pas l'être : le spécifique, mais qui induit un suivi de quelqu'un upstream et trace les différents contacts pris en compte, ça ne coûte rien d'avoir un répertoire /debian indiquant que la version à jour est gérée ailleurs au besoin ou prise en compte systématiquement upstream, ça servira pour ubuntu).

        Bref, je puis expliciter, mais rien ne vaut l'implication de chacun (pour sa propre distro, bien souvent il est vrai), mais c'est déjà un utilisateur qui fait l'effort de compiler le trunk régulièrement et a en plus la capacité à le faire intégrer à une distro (gagnant-gagnant donc).

        • [^] # Re: Quelques questions pour une utilisation en lycée

          Posté par (page perso) . Évalué à 4.

          beaucoup de si…

          au contraire le OpenSuse build service est plus qu'utile et permet de faciliter la vie.

          je prèfère pouvoir accès à un tel outil et avoir un package qu'attendre une éternité pour avoir un package

          www.solutions-norenda.com

Suivre le flux des commentaires

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