Как передавать (подключать) данные между Цифровой Микрографией и R

Я - новый пользователь DM, и мне нужно передавать данные (яркие пиксели) между Digital Micrograph и R, для обработки и моделирования изображения.

В частности, мне нужно было бы извлечь яркие пиксели из исходного изображения, отправить его в R для обработки и вернуть в DM для представления нового изображения.

Хотелось бы узнать, возможно ли это и как это сделать из скрипта в DM.

Большое спасибо. С уважением.

2 ответа

Решение

Прямая связь между DM (сценариями) и внешним миром очень мала, поэтому вполне вероятно, что лучшим решением будет следующий (DM-ориентированный) маршрут:

Сценарий запускается в DM, который выполняет:

  • все необходимые интерфейсы
  • извлечь интенсивности и т. д.
  • сохранить все необходимые данные в подходящем формате на диске по указанному пути. (Необработанные данные / текстовые данные /...)
  • вызывает внешнее приложение (все, что можно вызвать из командной строки, включая файлы.bat) и ожидает завершения этой команды

Был ли весь ваш R-код написан так, чтобы его можно было вызывать из командной строки, возможно, с параметрами командной строки (т. Е. Файлом конфигурации):

  • читать данные по определенному пути
  • обрабатывать по мере необходимости (без интерфейса, поэтому делайте это "тихо")
  • сохранить результаты на диске по определенному пути
  • закрыть приложение

На этом этапе сценарий в DM продолжается, считывая результаты (и, возможно, выполняя некоторую очистку файлов на диске).


Поэтому, по сути, важно то, что ваш R-код может работать как "автономный" исполняемый файл черного ящика, полностью контролируемый параметрами командной строки.

Команду, которая понадобится вам для запуска внешнего приложения, можно найти в справочной документации в разделе "Функции утилит". LaunchExternalProcess, Он был введен с GMS 2.3.1.

Вы также можете попробовать использовать команды ScrapCopy() а также ScrapPasteNew()скопировать изображение (или подрайон изображения) в буфер обмена, но я не уверен, как именно там обрабатываются данные.

Другие вопросы по тегам