Я хочу прочитать калибровочный коэффициент профиля линии. Он хранится в «Информация об изображении - Калибровка». Я использую функцию GetUnitsH (image, num), но получаю только номер канала, а не калиброванное положение (в нанометрах).
Заранее спасибо.
Команда, которую вы ищете:
Number ImageGetDimensionScale( BasicImage, Number dimension )
Number ImageGetDimensionOrigin( BasicImage, Number dimension )
String ImageGetDimensionUnitString( BasicImage, Number dimension )
Number ImageGetIntensityScale( BasicImage )
Number ImageGetIntensityOrigin( BasicImage )
String ImageGetIntensityUnitString( Number dimension )
Это даст вам калибровки, как показано на дисплее.
Чтобы преобразовать единицы откалиброванный и некалиброванный, вы должны выполнить соответствующие математические вычисления самостоятельно.
И да, каждая из команд «Получить» также имеет соответствующую команду «Установить», если она вам нужна.
Следует остерегаться:
Do you really look at your image, or at a copy of it? In particular, makes sure that you use
:=
and not=
when assigning image variables to images.
Пример: Это будет работать:
Image img := GetFrontImage()
number scale_x = img.ImageGetDimensionScale(0)
Result("\n Scale X:" + scale_x )
Это будет работать нет:
Image img = GetFrontImage()
number scale_x = img.ImageGetDimensionScale(0)
Result("\n Scale X:" + scale_x )
Во втором случае один получает будет ссылкой на самое переднее изображение, но =
будет просто скопировать значения (а не калибровки или другие метаданные) в образ новый.
Еще раз спасибо. Но я не получаю правильного значения с помощью этих команд. Получаю: DimensionScale = 1; DimensionOrigin = -0; DimensionUnitString = ""; IntensityScale = 1; IntensityOrigin = 0; IntensutyUnitString = "". Однако в окне «Информация об изображении» отображаются следующие значения: DimensionScale = 0,020128; DimensionOrigin = 0; DimensionUnitString = "нм"; IntensityScale = 2,82918; IntensityOrigin = 1689,920; IntensutyUnitString = "e-"
? Приведенные выше команды не возвращают значения, которые вы видите в соответствующих полях изображения-дисплея? Это действительно было бы очень странно (ошибка). О какой версии GMS идет речь? Есть ли способ сделать файл, с которым вы работаете, доступным для меня? (Ссылка для скачивания?) Это обычный линейный профиль или что-то особенное с ним (импортированное и т. д.)? Это профиль линии только с одним «срезом» или с несколькими срезами? (У каждого своя калибровка!)
@AngelLarrea Можете ли вы сейчас присоединиться ко мне в этом чате (у меня около 30 минут) chat.stackoverflow.com/rooms/180529/…
Это правильно. Команды не возвращают те же значения, которые отображаются в «Информация об изображении». Это версия GMS 2.32.888.0. Это обычный линейный профиль, состоящий только из одного среза, полученного из одного из моих изображений. Я использую компьютер Mac и использую Digital Micrograph под Windows7 (с программным обеспечением Parallels). Я могу отправить вам Профиль, чтобы проверить его.
Еще раз спасибо. Но я не получаю правильного значения с помощью этих команд. Я получаю значения: