IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

transformation points discontinus en courbe continue


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut transformation points discontinus en courbe continue
    Bonjour,

    j'ai un ensemble de points discontinus qui ont la forme d'une courbe, est-il possible de dessiner cette courbe en supprimant les points qui ne lui appartiennent pas?

    y-a-t il une méthode que vous connaissez qui permettrait de le faire?

    merci d'avance.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    ce que tu demandes est un algorithme d'interpolation...


    Il y en a des 100 aines...



    Voir spline, interpolation linéaire, moindres carrés, moyenne glissante, par exemple, pour les plus courants..

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Il faut tout d'abord ordonner les points si ce n'est pas fait.

  4. #4
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut
    bonjour,

    merci pour l'intérêt que vous portez à mon problème.

    en arrangeant mes points et en les interpolant je n'ai pas obtenu ce que j'attendais, je viens de comprendre que le résultat qui m'intéresse est formé par plusieurs courbes !! j'en déduis que c'est pas possible de le faire en automatique ?

    pour que vous puissiez me comprendre, je voudrais trouver la ligne centrale du colon, pour le faire j'ai diviser mon volume 3D en plusieurs coupes 2D et pour chaque coupe j'ai cherché le centre de chaque objet, et comme l'image est bruité j'ai obtenu en reconstruisant mon volume un ensemble de points qui décrivent la ligne centrale du colon mais avec beaucoup de points inutiles (faux positifs). le but de mon travail est de pouvoir supprimer tous les points faux positifs et tracer ma ligne centrale 3D...voila

    merci de m'aider

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Des méthodes comme RANSAC peuvent t'aider à éliminer les points qui sont aberrants dans un modèle. Ca peut être un bon point de départ pour ton problème.

  6. #6
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut
    Bonjour et merci pour la rapidité de votre réponse,

    J'ai déjà supprimer les outliers malheureusement les points qui sont très proche les un des autres sont conservés

    que me conseillez-vous de faire maintenant?

    merci d'avance

  7. #7
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    en supprimant les points qui ne lui appartiennent pas
    Il est impossible de donner une solution générale de ton problème parce que l'appartenance ou la non-appartenance d'un point découle de critères purement subjectifs.
    Jean-Marc Blanc

  8. #8
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut
    bonsoir,

    l'appartenance ou la non-appartenance d'un point découle de critères purement subjectifs
    mais non ce n'est pas un critère subjonctif puisque cet ensemble décrit des courbes, le but donc est de garder les points par lesquels ces courbes passeront.

    merci encore pour l'intérêt que vous portez à mon questionnement

  9. #9
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut
    Bonjour,

    j'ai toujours le même problème, je viens de calculer la distance minimale entre les différents points, ça prends beaucoup de temps mais le résultat est décevant !!

    je vous joins une partie de mon objet peut-être que vous aurez plus d'idées à me proposer.

    merci.
    Images attachées Images attachées  

  10. #10
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 455
    Points
    1 455
    Par défaut
    Visiblement ce qui justifie l'inclusion d'un point dans le bon ensemble, c'est d'être entouré d'autres points.
    Proposition :
    S'il y a n points dans un rayon r autour d'un point, il est à garder

  11. #11
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    mais non ce n'est pas un critère subjonctif puisque cet ensemble décrit des courbes, le but donc est de garder les points par lesquels ces courbes passeront.
    Tu considères la suite de points suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    0.000000000000    0.000000000000
    1.000000000000    1.000000000000
    2.000000000000    4.000000000001
    3.000000000000    9.000000000000
    4.000000000000   16.000000000000
    Pour toi, est-ce que tu dois conserver ou rejeter le troisième point? Selon que tu programmes ton algorithme sur 8 ou 16 octets, la réponse risque bien de ne pas être la même.
    Jean-Marc Blanc

  12. #12
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut
    Pour toi, est-ce que tu dois conserver ou rejeter le troisième point? Selon que tu programmes ton algorithme sur 8 ou 16 octets, la réponse risque bien de ne pas être la même.
    effectivement je vous donne raison...et j'en déduis aussi que je suis mal barré

    d'après ce que j'ai compris ce que je cherche à faire est impossible à réaliser , si c'est le cas je dois remettre en question le travail d'une année

    décidément la squelettisation 3D c'est que du bonheur !!

    merci à vous tous et merci de m'avoir remis sur la bonne voie

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Décembre Voir le message
    effectivement je vous donne raison...et j'en déduis aussi que je suis mal barré

    d'après ce que j'ai compris ce que je cherche à faire est impossible à réaliser , si c'est le cas je dois remettre en question le travail d'une année

    Pas du tout...

    Ce que nous voulons tous te dire, c'est que c'est tout à fait possible à réaliser, mais qu'il faut connaître tes critères d'appartenance ou non au groupe...


    Tant que la question est évasive, nos réponses ne peuvent que l'être aussi..


    "Un problème bien posé est à moitié résolu"..



    Définis exactement tes critères, et nous pourrons alors proposer une solution...

    Mais c'est toi qui doit le faire..

    Ce que l'on dit, c'est que dans un cas aussi général que celui dont tu parles au début, on ne peut rien dire de plus que du vague, car ta description est vague.. Précise-là..




    Par exemple, dans l'exemple de FR119492, si ton critère est "à 0.1% près", tous les nombres sont à prendre en compte. Si c'est "à 10^-10 près", alors il faut rejeter le nombre se terminant par un 1...

  14. #14
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut
    Pas du tout...

    Ce que nous voulons tous te dire, c'est que c'est tout à fait possible à réaliser, mais qu'il faut connaître tes critères d'appartenance ou non au groupe...
    merci vous me rassurez...j'ai faillit désespérer.

    Je vais essayer de vous donner un maximum de détails pour que vous me compreniez:

    j'ai 4362 points et j'essaie à partir d'eux de trouver une ligne continue qui passe par le chemin le plus court. j'ai essayé plusieurs algorithme de recherche du chemin le plus court où de minimisation de la distance mais vu le temps que ça prend (4362 point obligent) je les ai abandonnés.

    je n'ai aucune idée sur la réparation des points car se sont des points centraux + beaucoup de bruit comme je l'ai expliqué plus haut.

    voici un petit échantillon de mes points:
    93.0000 40.0025 80.7525
    93.0000 40.6650 80.8350
    93.1980 40.2020 80.8020
    93.1980 40.2020 80.8020
    93.0000 40.6650 80.8350
    93.1980 40.7980 81.1980
    93.0000 40.6650 80.8350
    93.0000 41.0000 81.0000
    93.1980 40.7980 81.1980
    95.0000 27.0025 80.7525
    95.0000 27.0000 81.0000
    94.8020 27.2020 80.8020
    95.0000 27.0025 80.7525
    94.8020 27.2020 80.8020
    95.0000 27.6650 80.8350
    95.0000 27.6650 80.8350
    94.8020 27.2020 80.8020
    94.8020 27.7980 81.1980
    95.0000 27.6650 80.8350
    94.8020 27.7980 81.1980
    95.0000 28.0000 81.0000
    94.0000 34.0025 80.7525
    94.1980 34.2020 80.8020
    94.0000 34.0000 81.0000
    94.0000 34.0025 80.7525
    94.0000 34.6650 80.8350
    94.1980 34.2020 80.8020
    94.1980 34.2020 80.8020
    94.0000 34.6650 80.8350
    94.1980 34.7980 81.1980
    94.0000 34.6650 80.8350
    94.0000 35.0000 81.0000
    94.1980 34.7980 81.1980
    96.0000 19.0025 80.7525
    96.0000 19.0000 81.0000
    95.8020 19.2020 80.8020
    96.0000 19.0025 80.7525
    95.8020 19.2020 80.8020
    96.0000 19.6650 80.8350
    96.0000 19.6650 80.8350
    95.8020 19.2020 80.8020
    95.8020 19.7980 81.1980
    96.0000 19.6650 80.8350
    95.8020 19.7980 81.1980
    96.0000 20.0000 81.0000
    95.0000 27.0025 80.7525
    95.1980 27.2020 80.8020
    95.0000 27.0000 81.0000
    95.0000 27.0025 80.7525
    95.0000 27.6650 80.8350
    95.1980 27.2020 80.8020
    95.1980 27.2020 80.8020
    95.0000 27.6650 80.8350
    95.1980 27.7980 81.1980
    95.0000 27.6650 80.8350
    95.0000 28.0000 81.0000
    95.1980 27.7980 81.1980
    97.0000 12.0000 81.0000
    97.0000 11.7500 80.7550
    96.8350 11.6667 81.1683
    96.0000 19.0025 80.7525
    96.1980 19.2020 80.8020
    96.0000 19.0000 81.0000
    96.0000 19.0025 80.7525
    96.0000 19.6650 80.8350
    96.1980 19.2020 80.8020
    96.1980 19.2020 80.8020
    96.0000 19.6650 80.8350
    96.1980 19.7980 81.1980
    96.0000 19.6650 80.8350
    96.0000 20.0000 81.0000
    96.1980 19.7980 81.1980
    97.0000 12.0000 81.0000
    merci d'avance.

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Ce qu'on te demande, c'est comment definis-tu "les points qui ne lui appartiennent pas?" ???

    Est-ce que c'est les points les plus à gauche de ta figure ? eux qui s'écarte de plus de X% de la moyenne ??



    D'après ta figure, la méthode des moindre carrés semblerait tout à fait justifiée, mais encore faudra-t-il lui fournir un seuil..

    De la même manière pour la plupart des méthodes...



    Encore une fois, c'est à toi de préciser quels sont tes critères "d'appartenance"...

  16. #16
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 455
    Points
    1 455
    Par défaut
    Citation Envoyé par Nebulix Voir le message
    Visiblement ce qui justifie l'inclusion d'un point dans le bon ensemble, c'est d'être entouré d'autres points.
    Proposition :
    S'il y a n points dans un rayon r autour d'un point, il est à garder
    (bis repetita placet)
    Tu peux aussi essayer le opérations de traitement d'images :
    dilatation puis érosion répétées te donneront un ensemble "lisse"
    et une squelettisation te donnera ta courbe

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    en fait, Décembre, au vu de ta courbe, un algo simple de moyenne glissante (sur 3 ou 5 points) devrait déjà te donner un très bonne courbe...


    Puis un simple calcul de moyenne et d'ecart-type t'enlèvera les points les plus loins restants...

  18. #18
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut
    Bonjour,

    Ce qu'on te demande, c'est comment definis-tu "les points qui ne lui appartiennent pas?" ???
    honnêtement je ne me suis jamais posé la question

    les points sont très proche les uns des autres et des fois ils se superposent, donc je ne sais quoi prendre comme critère de choix !! je me dis que la comparaison du squelette avec le colon segmenté se fera après squelettisation et je devrai définir des critère de sensitivité.

    pour la moyenne glissante je viens de tester et elle me crée de nouveau point ce qui me complique un peu la tache.

    merci et à bientôt

  19. #19
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Décembre Voir le message
    Bonjour,

    honnêtement je ne me suis jamais posé la question

    les points sont très proche les uns des autres et des fois ils se superposent, donc je ne sais quoi prendre comme critère de choix !!
    c'était la question essentielle qu'on te pose depuis le début !!!



    Citation Envoyé par Décembre Voir le message
    pour la moyenne glissante je viens de tester et elle me crée de nouveau point ce qui me complique un peu la tache.


    Pour ce qui est de la moyenne glissante, ça ne devrait te créer aucun point...


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for ( i = 1 ; i < (N-1) ; i++ )
    {
        S[i] = 0
     
        for ( j = i-1 ; j <= i+1 ; j++ )
              S[i] = S[i] + signal(j) ;
     
        S[i] = S|i]/3.0 ;
    }

    Voici un exemple pour une moyenne sur 3 points....

    Aucun nouveau point créé...

Discussions similaires

  1. Tangente en un point d'une courbe
    Par li_causi dans le forum C++
    Réponses: 2
    Dernier message: 04/04/2008, 13h16
  2. Déplacer un point sur une courbe
    Par Wassim123 dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/09/2007, 14h23
  3. Réponses: 4
    Dernier message: 22/05/2007, 18h08
  4. Trouver l'ordonnée d'un point de la courbe
    Par neoscanx dans le forum MATLAB
    Réponses: 3
    Dernier message: 15/05/2007, 14h17
  5. Réponses: 2
    Dernier message: 22/09/2005, 22h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo