2017-02-03 12 views
0

У меня есть проблема с пакетным преобразованием изображения в данные EELS по сценарию.Преобразование в EELS

Я сравнил разницу между данными EELS и изображением, основное отличие состоит в том, что данные EELS имеют группу тегов: «Метаданные», которые содержат теги «Формат: Спектр» и «Сигнал: EELS». ("Формат" и "сигнал" находятся в группе тегов "Мета данных".)

Вот мой код:

image front := GetFrontImage() 
Taggroup imgtags=front.ImageGetTaggroup() 
Taggroup metadata = NewTaggroup() 
Taggroup tg = NewTaggroup() 
number index 
index = metadata.TaggroupCreateNewLabeledTag("Meta data") 
index = tg.TaggroupCreateNewLabeledTag("Format") 
tg.TaggroupSetIndexedTagAsString(index, "Spectrum image") 
index = tg.TaggroupCreateNewLabeledTag("Signal") 
tg.TaggroupSetIndexedTagAsString(index, "EELS") 
metadata.TaggroupCopyTagsFrom(tg.TaggroupClone()) 
imgtags.TaggroupCopyTagsFrom(metadata.TaggroupClone()) 

Но она возвращает "Формат", "сигнал" и "Meta Data" находятся на одном уровне.

Кто-нибудь знает, что не так в моем коде? Огромное спасибо.

ответ

0

Использование тегов/TagGroups может сбивать с толком, в сценарии из-за различные маршруты можно взять (упрощена против детальных команд) и типа тегов (TagLists с индексированными записями против TagGroups с помеченными записями.)

Что вы хотите в вашем примере, по существу:

  • Создать новую TagGroup (Meta Data)

  • имеют два (String) суб-теги этого Gorup

  • Добавить эту группу фронтального изображения

Это делается в сценарии:

TagGroup metaDataTG = newTagGroup() 
metaDataTG.TagGroupSetTagAsString("Format", "Spectrum image") 
metaDataTG.TagGroupSetTagAsString("Signal", "EELS") 

GetFrontImage().ImageGetTagGroup().TagGroupSetTagAsTagGroup("Meta Data", metaDataTG) 

Однако, вы можете также используйте здесь «самые простые» команды, поскольку это определенный тег-путь (без индексированных списков), который вы знаете. Вы можете просто сделать:

image img := GetFrontImage() 
img.SetStringNote("Meta Data:Format", "Spectrum image") 
img.SetStringNote("Meta Data:Signal", "EELS") 

Существует одна вещь стоит знать:

Теги МЕТАДАННЫЕ используются DigitalMicrograph внутри много. Изменение их по сценарию может иногда приводить к неожиданному поведению. В частности: многие плагины «читают» эти теги только один раз, когда изображение отображается в первый раз. Следовательно, когда вы добавляете теги по сценариям к уже отображенному изображению, это не повлияет на «DigitalMicrograph» сразу. Вам нужно закрыть его и снова открыть.

Если вы хотите пометить любое «новое» изображение этими тегами, лучше сделать это перед отображением изображения.

+0

Awesome, большое спасибо. – Renfong