Open picheral opened 3 years ago
Cette netteté varie avec le facteur de Zoom.... Le problème est qu'on zoome souvent à 200% sur ces vignettes.
L'image originale est + jolie?
Ah il faudrait aussi un object ID ou un project ID pour voir dans l'appli.
Elle n'a pas de legende car celle-ci est ajoutée lors de l'import qui fait aussi l'inversion en utilisant les paramètres fournis par UVPapp.
Même pb pour toutes les vignettes à 200%
Les images uvp6 sont de faible dimension, quelques dizaines de pixels dans chaque dimension. Corrolaire, elles sont toutes petites en taille de fichier. Le texte et la barre sont à la résolution de l'image:
Le texte et la barre ne peuvent pas être d'une meilleure résolution (plus 'nets') s'ils sont inclus dans l'image avec ses caractéristiques d'origine. On peut redimensionner l'image pendant l'import, au prix de temps d'import et de taille de stockage (à mesurer).
En laissant scale=1 dans vignette.txt: Taille 1 515 octets
En mettant scale=10 dans vignette.txt: Taille 1 777 octets
La barre ici est bien nette mais souffre de légers défauts, à commencer par sa taille relative qui est différente :) Par contre on n'a 'perdu' que 200 octets, merci le format PNG.
En supposant que #641 est corrigé, reste à savoir ce que l'on fait. Upscaling auto en dessous d'une certaine dimension? Laisser la responsabilité au créateur de la data?
A discuter rapidement ensemble mais je propose d'assister l'utilisateur en faisant un upscaling auto pour améliorer l'apparence sans que l'utilisateur ne s'en soucie.
Ajouté à la discussion hebdomadaire.
Quelques points:
L'upscaling ce serait pour agrandir l'image avant de rajouter la légende, donc on aurait + de pixels pour l'écrire. Essai avec scale=2, bug #641 corrigé et même fonte: Oups! Taille 3 988 octets. Essai avec scale=1 et autre fonte + lisible (https://larsenwork.com/monoid/): Taille 1561 octets Autre essai scale=1 et une fonte proposée par jo: https://www.dafont.com/vcr-osd-mono.font Taille 1509 Je pense qu'on peut oublier l'upscaling, la légende prend + de place que l'image dans le fichier final. On pourrait effectivement avoir du + joli en utilisant des bitmaps au lieu des fonts ttf vectorielles, mais ça suppose de calquer le bon bitmap en fonction de la taille de l'image. Je continue de chercher...
Il faut que la taille de la légende soit fixe et, si possible, de 31px de hauteur, sur toutes les images (parce que c'est comme ça sur toutes les autres images et que ça nous permet de couper ce qu'il faut pour faire du deep learning dessus ensuite). Vu cette contrainte + le fait qu'on veut des polices qui soient nettes au pixel + qu'on a que quelques caractères à écrire (1mm, 2mm, 10mm en gros => 1,2,0,m), je pense que la meilleure solution est de faire une "police" à la main et c'est donc comme cela que j'ai procédé pour ISIIS. Je suggère de juste reprendre le même code (qui est en python etc.: https://github.com/jiho/apeep/blob/d8cdb0f3417220eec92463561c046e3f9cd946bf/apeep/measure.py#L246 ) plutôt que de passer du temps à chercher une autre solution.
Par ailleurs, comme je l'ai déjà exprimé, je reste convaincu que la place de ce code n'est pas dans EcoTaxa mais plutôt dans UVPapp ou EcoPart. Ou alors on fait un truc dans EcoTaxa qui génère les scale bar pour toutes les images, soit à l'import soit de façon dynamique à l'affichage --et alors on peut même le faire en HTML--, en fonction de la px size (et on met un champ px size en dur qq part) -> #642
Bon, après hacking ça donne ça en mettant une bordure visible. Effectivement c'est très lisible, mais le vignette.txt est majoritairement ignoré. On a de quoi discuter!
Le code d'UVPapp fournit des vignettes SANS le scale bar. Celui ci est ajouté par Ecotaxa lors de l'import en observant les consignes du fichier de paramétrage associé aux données. L'idée était justement de permettre ultérieurement de créer un scale bar dynamique dans Ecotaxa... et de résoudre tous ces problèmes un jour.
Conclusion 11/03/2021: modif paramètres suivants du vignette.txt scalebarsize_mm -> texte de la légende, seulement 0,1,2, signe micron et lettre 'm' fontheight_px -> ignoré scale -> ignoré Pixel_Size -> pris en compte pareil
Border 0 pour + de place pour l'image
Je ne suis pas satisfait par cette netteté qui donne aussi l'impression que les vignettes sont de mauvaise qualité.