Il est possible d'écrire ses propres macros en VBA et d'avoir un contrôle total sur le processus de mesure.
Par exemple, pour afficher et mesurer une mire rouge :
- Code: Tout sélectionner
Set oReading = oMeter.ReadingFromTestImage(cfaRed,cfatpColorOnly)
Ensuite toutes les informations sur cette mesure sont disponibles.
Les coordonnées XYZ retournées (et calculées) par le spectromètre :
- Code: Tout sélectionner
oReading.XYZ.RawMatrix
Le spectre
- Code: Tout sélectionner
oReading.SpectralRadiance.PowerDistribution
Et ... recalculer les coordonnées XYZ en appliquant un des quatre choix de CMF (Color Matching Function)
- Code: Tout sélectionner
oReading.SpectralRadiance.StandardObserver = cfaStandardObserverTwoDegreeOrig1931
oReading.SpectralRadiance.ColorMatchResults.SummaryRow
Je me suis servi de ces possibilités pour automatiser la saisie des spectres et valider mes calculs à partir des spectres :
ils sont identiques à ceux de ColorFacts pour les quatre normes (CIE 1931 1951 1964 1978).
J'obtiens directement les fichiers avec les données voulues :
- spectres et coordonnées XYZ recalculées pour RGBW
- échelles de gris avec coordonnées XYZ recalculées
Bien entendu les macro sont distribuables à tout utilisateur de ColorFacts ce qui pourra simplifier la procédure d'étalonnage.
...
letchoa a écrit:Ce que j'ai plus de mal à comprendre c'est pourquoi tes calculs à partir du spectre mesuré par CF donnent des résultats cohérents alors que les mesures de CF ne le sont pas... Il y a un bug dans les calculs de ColorFacts ?
Les calculs de CF sont exacts.
CF utilise cependant toujours dans l'interface usuelle les valeurs XYZ retournées directement par le spectromètre et non pas des valeurs calculées à partir des spectres.
C'est d'ailleurs indispensable pour avoir valeur correcte de la luminance (Y) que l'on n'obtient pas à partir des spectres.
Pour corriger le problème il faudrait modifier le firmware de ma sonde, mais le diagnostic fait je peux sans problème vivre avec.
Michel