2011-03-06 3 views
3

J'ai un jeu de données qui (si on le considère comme une image) est beaucoup plus large que haut. (Les données sont collectées dans une dimension de 100 000 à 1 000 000 points X. Chaque valeur Y est comprise entre 0 et 1. À sa résolution «naturelle», vous pouvez considérer cela comme une image dont le rapport d'aspect est d'environ 100: 1. J'aimerais pouvoir afficher ces données dans une sorte d '«interface utilisateur zoomable» comme la technologie DeepZoom/Silverlight/Seadragon pour les grandes images. Cependant, ces technologies supposent que (1) les images sont presque carrées et (2) lorsque vous zoomez dessus, le rapport d'aspect ne change pas.zoom unidimensionnel (profond) avec rapport d'aspect changeant

Idéalement, je voudrais l'outil équivalent qui ne fait que zoomer dans une dimension. Le zoom à la résolution la plus basse afficherait toutes les données à un rapport d'aspect de 1: 1. Chaque fois que vous faites un zoom avant, vous changez le rapport d'aspect. Plus précisément, vous pouvez doubler la résolution sur l'axe X et laisser la résolution sur l'axe Y seul. Donc, vous obtiendrez une version pannable à un ratio de 2: 1, puis 4: 1, puis 8: 1, jusqu'à ce que peut-être 128: 1 ou 256: 1. À la résolution la plus élevée, vous pourrez voir la structure locale des données (vraisemblablement dans les endroits les plus intéressants). Y a-t-il un équivalent à la technologie DeepZoom qui permettrait un zoom (en mosaïque) dans une seule dimension? Ou y a-t-il un moyen de contraindre DeepZoom à faire ce travail?

+0

La seule chose que je sais est le redimensionnement d'une image. –

+0

"Idéalement, je voudrais l'outil équivalent qui ne fait que zoomer dans une dimension." - et comment cela serait-il utile? –

+0

Hmmm. C'est ce que j'ai essayé d'expliquer dans le troisième paragraphe; puisque je n'ai apparemment pas réussi, laissez-moi essayer encore. Pensez à l'image sous-jacente comme un long ruban mince avec un motif dessus. - 500 pixels de haut et 50 000 pixels de large. Si je fais un zoom arrière et garde un rapport d'aspect constant, quand j'arrive au point où la largeur est de 500 pixels, le résultat est seulement de 5 pixels de haut, et donc toujours pas utile. Je veux être en mesure de changer l'axe des x à un rythme différent de l'axe des y. Pour mes besoins, il suffirait de maintenir l'axe Y constant à 500 pixels et de redimensionner/zoomer l'axe X uniquement. –

Répondre

0

Cela fait longtemps que je n'ai pas posé cette question, et (à la lumière du manque de réponses) je suis finalement retourné et j'ai commencé à créer ma propre solution. Pour voir à quoi cela ressemble, rendez-vous au Tyler, an example of how I want things to behave, at silicovore.com. Le code de base est fourni par Open Seadragon, the current open source version of the DeepZoom/Seadragon tools. À ce stade, je n'ai modifié aucun code de base; J'ai simplement profité de plusieurs des crochets qu'ils ont mis en place pour installer mes propres gestionnaires.

L'exemple ne fonctionne pas complètement correctement. Un clic et un glissement dans les fenêtres d'affichage principales peuvent entraîner une rupture de la restriction d'alignement vertical, tout comme un zoom arrière excessif (au-delà de l'image de niveau 0). Ainsi, la question mise à jour devient: quelqu'un peut-il expliquer comment résoudre les problèmes dans cet exemple?

+0

Salut. Je suis confronté exactement au même problème de visualisation des données. Avez-vous trouvé une solution? Je pense que puisque Deep Zoom supporte les images clairsemées, ceci peut être implémenté en construisant soigneusement le dzi. –

Questions connexes