Как сбросить или удалить группы тегов и списки тегов в скрипте DM?
Немного фона:
Я готовлю сценарий для анализа серии спектров EELS в GMS 2. Я подгоняю фон к модели степенного закона и получаю параметры подгонки, как значение, так и сигму, из тегов в фоновом спектре. Однако, если попытаться проанализировать различные ребра в одном скрипте, я обнаружу, что значения сигмы подходящих параметров зависят от порядка вычисления. Чтобы проверить это, я показываю скрипт. Если я определяю подходящую область только один раз, все работает нормально, но если я делаю это дважды (только для тестирования, я знаю, что это ерунда), значения сигмы уменьшаются. Результат тот же, если подходящие области различны. Я хотел бы сбросить или удалить группу тегов, чтобы проверить, решена ли проблема, но я не могу этого сделать.
TagGroup Tg
Number a0, sa0, a1, sa1
taggroup bandsTgs = NewTagList()
taggroup bandTg = NewTagGroup()
image spec := GetFrontImage()
// ...............First Time.....................................
bandTg.TagGroupSetTagAsFloat( "start", 600 ) // calibrated value!
bandTg.TagGroupSetTagAsFloat( "end", 800 ) // calibrated value!
bandsTgs.TagGroupInsertTagAsTagGroup( Infinity(), bandTg )
image bkg1 := EELSFitPowerLawBackground( spec, bandsTgs )
bkg1.ShowImage()
tg = bkg1.ImageGetTagGroup() // Fit parameters(in eV) from the BKG spectrum Tags
tg.TagGroupGetTagAsNumber( "Processing:[0]:Parameters:Fit Parameters:a0:value", a0 )
tg.TagGroupGetTagAsNumber( "Processing:[0]:Parameters:Fit Parameters:a0:sigma", sa0 )
tg.TagGroupGetTagAsNumber( "Processing:[0]:Parameters:Fit Parameters:a1:value", a1 )
tg.TagGroupGetTagAsNumber( "Processing:[0]:Parameters:Fit Parameters:a1:sigma", sa1 )
Result("\n Fitting BKG parameters. First time ")
Result("\n a0 : " + a0)
Result("\n sa0 : " + sa0)
Result("\n a1 : " + a1)
Result("\n sa1 : " + sa1)
// Second Time........I get a differetn result if a repeat the fit-region definition
bandTg.TagGroupSetTagAsFloat( "start", 600 ) // calibrated value!
bandTg.TagGroupSetTagAsFloat( "end", 800 ) // calibrated value!
bandsTgs.TagGroupInsertTagAsTagGroup( Infinity(), bandTg )
image bkg2 := EELSFitPowerLawBackground( spec, bandsTgs )
bkg2.ShowImage()
tg = bkg2.ImageGetTagGroup() // Fit parameters(in eV) from the BKG spectrum Tags
tg.TagGroupGetTagAsNumber( "Processing:[0]:Parameters:Fit Parameters:a0:value", a0 )
tg.TagGroupGetTagAsNumber( "Processing:[0]:Parameters:Fit Parameters:a0:sigma", sa0 )
tg.TagGroupGetTagAsNumber( "Processing:[0]:Parameters:Fit Parameters:a1:value", a1 )
tg.TagGroupGetTagAsNumber( "Processing:[0]:Parameters:Fit Parameters:a1:sigma", sa1 )
Result("\n")
Result("\n Fitting BKG parameters. Second time ")
Result("\n a0 : " + a0)
Result("\n sa0 : " + sa0)
Result("\n a1 : " + a1)
Result("\n sa1 : " + sa1)
bandsTgs.TagGroupOpenBrowserWindow( "BandTags", 0 ) // To show the Tag structure