2017-06-19 1 views
1

J'ai utilisé le script suivant pour extraire un spectre EELS à partir d'une image spectrale 3D.
(Ce script a été publié répondre à un similar question.)Comment puis-je extraire des spectres EELS à partir d'une image spectrale?

number px = 5 
    number py = 3 
    image SIblock := GetFrontImage() 
    number sx, sy, sz 
    Get3DSize(SIblock, sx, sy, sz) 
    image spec := Slice1(SIblock, px,py,0, 2,sz,1) 
    image specCopy := ImageClone(spec) 
    ShowImage(specCopy) 

Cependant, lorsque je tente d'analyser le spectre (par exemple avec EELS Quantification), j'obtenir le résultat suivant:

Non données EELS valides les plus à l'avant

Je suppose que je n'ai pas extrait correctement les métadonnées.

Qu'est-ce que je fais mal? Merci d'avance.

Répondre

0

Lorsque vous effectuez un ImageClone(), vous copiez toutes les étiquettes et tous les étalonnages. En particulier, vous copiez les informations de métadonnées qui indique que les données DM est une image du spectre

enter image description here

Cependant, le spectre extrait n'est plus un SI, il est un spectre. Vous devez donc changer cette étiquette (avant que l'image ne soit affichée).

enter image description here

Vous pouvez faire cela, avec un peu du script réglage:

number px = 5 
number py = 3 
image SIblock := GetFrontImage() 
number sx, sy, sz 
Get3DSize(SIblock, sx, sy, sz) 
image specCopy := SIblock.Slice1(px,py,0, 2,sz,1).ImageClone() 
specCopy.ImageGetTagGroup().TagGroupSetTagAsString("Meta Data:Format", "Spectrum") 
ShowImage(specCopy)