Shapeworks: Le modèle résultant de l'ellipsoïde est mauvais

Créé le 3 mars 2021  ·  32Commentaires  ·  Source: SCIInstitute/ShapeWorks

bug

Tous les 32 commentaires

Il me vient à l'esprit que l'ensemble de données ellipsoïde a changé. Quelqu'un peut-il expliquer la différence entre "v0" et "v1" ? ShapeWorks 5.5 ne fonctionne pas mieux sur le jeu de données/les paramètres ellipsoïdes actuels. @sheryjoe @jadie1 @iyerkrithika21

@akenmorris "v1" correspond aux ensembles de données ellipsoïdes non nettoyés générés à l'aide de ShapeCohortGenPackage. Il comprend tous les modes de variations et d'options suivants pour les générations :

  1. rayons aléatoires
  2. orientation aléatoire
  3. certaines segmentations qui touchent les frontières
  4. centres randomisés
  5. randomisez la taille des images pour inclure plus d'arrière-plan

Alors que l'ancien jeu de données n'avait qu'un seul mode de variation, je suppose. @jadie1 , corrigez-moi si je me trompe concernant la v0.

@jadie1 Nous avons convenu auparavant que nous

Oui, ellipsoid-v1 est comme @iyerkrithika21 décrit, il devrait donc avoir plus d'un mode de variation. ellipsoid-v0 est la donnée d'origine pour laquelle la version non nettoyée est la même que la version soignée.
Nous avons également ajouté ellipsoid_aligned-v1 qui a été généré à l'aide du code de génération de cohorte comme l'était ellipsoid-v1, mais il est déjà aligné (le centre, l'orientation et la taille de l'image sont les mêmes). La différence entre ellipsoid-v0 et ellipsoid_aligned-v1 est que ellipsoid-v0 n'a qu'un seul mode de variation alors que ellipsoid_aligned-v1 varie le long de tous les rayons.

Oui, ellipsoid-v1 est comme @iyerkrithika21 décrit, il devrait donc avoir plus d'un mode de variation. ellipsoid-v0 est la donnée d'origine pour laquelle la version non nettoyée est la même que la version soignée.

Pourquoi la v1 devrait-elle avoir plus de modes ? Le cas d'utilisation de ces données doit tenir compte des modes liés au désalignement.

Nous avons également ajouté ellipsoid_aligned-v1 qui a été généré à l'aide du code de génération de cohorte comme l'était ellipsoid-v1, mais il est déjà aligné (le centre, l'orientation et la taille de l'image sont les mêmes). La différence entre ellipsoid-v0 et ellipsoid_aligned-v1 est que ellipsoid-v0 n'a qu'un seul mode de variation alors que ellipsoid_aligned-v1 varie le long de tous les rayons.

Cela devient un peu confus. Doit-on conserver deux données ellispoïdes alignées, l'une avec un mode et l'autre avec trois modes ? Je pense que l'alignement ne devrait avoir qu'un seul mode (choisir un rayon pour la variation) car c'est censé être l'exemple de jouet le plus simple pour l'optimisation.

Indépendamment de l'alignement ou du nombre de modes de variation, cet ensemble de paramètres montre une mauvaise correspondance et un échantillonnage :

image

Oui, ellipsoid-v1 est comme @iyerkrithika21 décrit, il devrait donc avoir plus d'un mode de variation. ellipsoid-v0 est la donnée d'origine pour laquelle la version non nettoyée est la même que la version soignée.

Pourquoi la v1 devrait-elle avoir plus de modes ? Le cas d'utilisation de ces données doit tenir compte des modes liés au désalignement.

Parce que le rayon varie le long des trois axes, il devrait y avoir plus de modes de variation, n'est-ce pas ?

Nous avons également ajouté ellipsoid_aligned-v1 qui a été généré à l'aide du code de génération de cohorte comme l'était ellipsoid-v1, mais il est déjà aligné (le centre, l'orientation et la taille de l'image sont les mêmes). La différence entre ellipsoid-v0 et ellipsoid_aligned-v1 est que ellipsoid-v0 n'a qu'un seul mode de variation alors que ellipsoid_aligned-v1 varie le long de tous les rayons.

Cela devient un peu confus. Doit-on conserver deux données ellispoïdes alignées, l'une avec un mode et l'autre avec trois modes ? Je pense que l'alignement ne devrait avoir qu'un seul mode (choisir un rayon pour la variation) car c'est censé être l'exemple de jouet le plus simple pour l'optimisation.

Je peux supprimer ellipsoid_aligned-v1 ou ellipsoid-v0. Nous n'avons pas de cas d'utilisation qui utilisent les deux, j'ai juste laissé ellpsoid-v0 pour les utilisateurs utilisant des versions plus anciennes de ShapeWorks. Il s'agissait de la demande initiale pour créer ellpsoid_aligned-v1 : « Pouvons-nous régénérer la v0 en utilisant le même code que la v1 en désactivant toutes les transformations ? De cette façon, nous maintenons la cohérence et avons à la fois des segmentations et des maillages agréables pour tester à la fois les domaines fixes et les plans de coupe. »

Je ne sais pas pourquoi le modèle a une mauvaise correspondance. Je suppose que les paramètres doivent être réajustés? Dois-je essayer avec de nouveaux ellipsoïdes qui ne varient que le long d'un rayon ?

Le toilettage a aussi des problèmes :

image

Remarquez que l'ellipsoïde 9 n'est même pas centré avec les autres.

Est-ce un problème dans l'exemple d'ellipsoïde ou dans la bibliothèque d'images ? @cchriste @archanasri @jadie1 @iyerkrithika21

Voici à quoi ressemblent les ellipsoïdes soignés sous Windows et Linux.
L'ellipsoïde 9 me semble centré.

image

Cela me semble aussi centré - il suffit de l'exécuter à nouveau sur la branche release_v6.0
image

Les points de correspondance ne me conviennent pas non plus, peut-être faut-il plus de lissage? Pour moi, il semble qu'il existe quatre modes de variation - le premier est la taille et les trois suivants sont les rayons dans les directions x, y et z.

@jadie1 , @iyekrithika21 , je viens d'essayer sur un autre Mac, une nouvelle installation de shape fonctionne 6.0 RC5, de nouvelles installations de conda, tout. Regardez l'alignement des échantillons (pas même besoin de regarder les DT) :

https://user-images.githubusercontent.com/1693349/110035220-9c3e6300-7cf8-11eb-9cd0-9162212dd61c.mp4

Oh, hah, @jadie1 , @iyerkrithika21 , vous devez désactiver la case à cocher center dans Studio ou elle les centrera automatiquement pour vous à des fins d'affichage. Veuillez inspecter à nouveau sans centrage.

Ah ouais je vois maintenant. Je viens d'exécuter le fichier Getting-started-with-grooming-segmentations.ipynb qui utilise les mêmes données et il me semble qu'il a le même problème mais pas aussi grave. Voir la dernière vidéo ici : http://sciinstitute.github.io/ShapeWorks/notebooks/getting-started-with-grooming-segmentations.html (cette vidéo correspond à ce que je viens de recevoir en l'exécutant sur la branche de publication).

Je suppose que nous pourrions parcourir le cas d'utilisation et le cahier ligne par ligne et voir où le toilettage diffère...

Notez que les transformations de distance du bloc-notes et du cas d'utilisation ont le même problème de centre/alignement. Les transformations de distance depuis le portable sont juste plus fluides.
@akenmorris pensez -vous que le

Sont-ils alignés sur l'ICP ?

Oui, la référence est ellipsoid_14

Alors, pensez-vous qu'il finit par aligner l'ellipsoïde 9 sur un seul côté ?

Je ne sais pas comment nous devrions régler cela. Après ICP, faut-il appliquer une opération de centre de masse ?

@sheryjoe des pensées? Il semble erroné de capturer cette traduction dans le cadre du modèle de forme.

@akenmorris quelle traduction ? Je ne vois pas ça dans la vidéo. Avez-vous vérifié l'étape d'alignement du centre de masse ? En outre, le nombre d'itérations ICP peut avoir une importance dans certains cas.

Les ellipsoïdes ne sont pas centrés, donc nécessairement le modèle de forme capture la translation.

Les ellipsoïdes ne sont pas centrés, donc nécessairement le modèle de forme capture la translation.

COM devrait les centrer.

COM devrait les centrer.

Je suis d'accord, mais ICP les décentre-t-il pour correspondre à un côté ?

COM devrait les centrer.

Je suis d'accord, mais ICP les décentre-t-il pour correspondre à un côté ?

L'impact d'ICP devrait être minime par rapport à la traduction après COM, à moins que la référence ne soit pas vraiment une forme médiane.

Quel est le statut ici ? Est-ce que quelqu'un travaille là-dessus ? Je pense qu'il y a deux problèmes distincts, le toilettage et les paramètres d'optimisation.

@jadie1 @iyerkrithika21 une mise à jour ?

Lorsque j'ai soigné les segmentations dans Studio, les DT se présentent comme suit :
image
Il semble donc que l'ICP pourrait causer des problèmes lors du toilettage.

Correct. L'ellipsoïde 9 est centré avant :

       """ Apply rigid alignment """
        ref = FindReferenceImage(comFiles)
        alignedFiles = applyRigidAlignment(groomDir + "aligned/segmentations", ref, comFiles)

Et après, c'est décentré :

image

@akenmorris lorsque j'essaie d'optimiser les ellipsoïdes dans Studio sans ICP, je reçois ce message.
image
J'ai essayé 3 niveaux de rembourrage différents - 10,30,50. Mais aucun de ceux-ci n'a aidé.
Et aussi dans le cas d'utilisation de python, j'ai essayé de sauter l'étape rigidAlignment, et j'obtiens cette erreur de cadre de délimitation.

############## Cropping ##############
Traceback (most recent call last):
  File "RunUseCase.py", line 94, in <module>
    module.Run_Pipeline(args)
  File "/home/sci/iyerkrithika/ShapeWorks/Examples/Python/ellipsoid.py", line 96, in Run_Pipeline
    croppedFiles = applyCropping(groomDir + "cropped/segmentations", comFiles, comFiles)
  File "/home/sci/iyerkrithika/ShapeWorks/Examples/Python/GroomUtils.py", line 216, in applyCropping
    region = ImageUtils.boundingBox(bbDataList)
ValueError: Image sizes do not match (Output/ellipsoid/groomed/com_aligned/segmentations/ellipsoid_01.isores.center.com.nrrd)

Cette erreur n'a pas de sens car le ImageUtils.boundingBox() devrait pouvoir donner le plus grand cadre de délimitation.
@jadie1 pensez -vous que cela pourrait être lié au problème que nous avons vu dans le cas d'utilisation du fémur ?

@iyerkrithika21 , pouvez-vous m'en dire plus sur la façon dont vous les exécutez en studio ? Si je devais deviner en fonction des noms de fichiers dans les coins, vous avez peut-être importé les segmentations binaires, ignoré le toilettage et cliqué sur exécuter ? Ils doivent être des transformations de distance.

@iyerkrithika21 , pouvez-vous m'en dire plus sur la façon dont vous les exécutez en studio ? Si je devais deviner en fonction des noms de fichiers dans les coins, vous avez peut-être importé les segmentations binaires, ignoré le toilettage et cliqué sur exécuter ? Ils doivent être des transformations de distance.

J'ai importé les segmentations, couru groom en studio. puis cliqué sur optimiser.

Sera corrigé pour publication via le problème #1133

@iyerkrithika21 , j'ai ajouté un problème pour ce que vous avez vu :

1134

Cette page vous a été utile?
0 / 5 - 0 notes