Пакетная обработка, анализ и преобразование метаданных из файлов .1sc

1

TL;DR: вопросы после перерыва.

Я хочу преобразовать и хранить информацию из большого (3TB) набора изображений *.1sc (Bio-Rad, Quantity One). В дополнение к фактическому изображению файл содержит много информации о том, где/как было выполнено изображение (метаданные). Все эти швы должны храниться в формате Intel Hex (или, по крайней мере, все они открываются в формате "Stable File Version 2.0 Intel Format" в шестнадцатеричном формате).

Плагин ImageJ Bioformats может обрабатывать изображение и включает в себя функции в MetadataTools. Чтобы захватить только пакетные изображения, я имел большой успех, используя плагин batchTiffconvert. MetadataTools которые, как представляется, доступны в ImageJ, являются неполными для этого формата, но я не уверен в том, как использовать MetadataTools (любые хорошие справочные ссылки будут оценены, в настоящее время перейдя через API).

Моя реальная проблема заключается не в том, чтобы анализировать гекс, чтобы найти то, что я ищу. Там, где я терпеть неудачу, на самом деле превращается гекс во что-то значимое. Пример:

Изображение 174551

Я могу проанализировать hex для scan_area, но я не смог преобразовать 00 10 00 16 00 EC B5 86 00 во что-то значимое.

Подходя к этому в том же направлении, что и аналогичный вопрос DM3, я смог создать XML файл, но даже если бы я написал весь XML файл, большая часть метаданных не была включена (у него были такие вещи, штамп, который хорош). Я думаю, что это из-за информации, переданной GelReader.Java из BioRadReader.Java. В частности, этот раздел:

if (getMetadataOptions().getMetadataLevel() != MetadataLevel.MINIMUM) {
  String units = firstIFD.getIFDStringValue(MD_FILE_UNITS);
  String lab = firstIFD.getIFDStringValue(MD_LAB_NAME);

  addGlobalMeta("Scale factor", scale);
  addGlobalMeta("Lab name", lab);
  addGlobalMeta("Sample info", info);
  addGlobalMeta("Date prepared", prepDate);
  addGlobalMeta("Time prepared", prepTime);
  addGlobalMeta("File units", units);
  addGlobalMeta("Data format",
    fmt == SQUARE_ROOT ? "square root" : "linear");
}

Поскольку MetadataLevel установленный во всех сценариях Bio-Rad, является MetadataLevel.MINIMUM. Я попробовал добавить дополнительные метаданные, которые я хотел здесь, но опять же он не мог быть конвертирован/декодирован с пользой.


Можно ли получить больше метаданных с помощью этой системы? Если это так, я работаю в правильном разделе кода? Источник для биоформатов довольно велик, и я даже не буду притворяться, что хорошо разбираюсь в этом (хотя я и пытаюсь). Я просто сталкиваюсь с проблемой проприетарного формата? Может ли кто-нибудь сказать мне, как преобразовать шестнадцатеричные значения или указать больше на ресурс, который объясняет это?

Теги:
metadata
batch-processing
imagej

1 ответ

1
Лучший ответ

Прежде всего: обратите внимание, что ни один из источников, с которыми вы связаны выше, действительно соответствует .1sc формата .1sc для форматов Bio-Formats. Вам нужен BioRadGelReader.

Библиотека Bio-Formats анализирует три типа метаданных. На странице About Bio-Formats:

Существует три типа метаданных в Bio-Formats, которые мы называем основными метаданными, оригинальными метаданными и метаданными OME.

  1. Основные метаданные включают только вещи, необходимые для понимания базовой структуры пикселей: разрешение изображения; количество фокальных плоскостей, точек времени, каналов и других размерных осей; порядок байтов; порядок измерения; цветовое оформление (RGB, индексированный цвет или отдельные каналы); и разрешение миниатюр.
  2. Исходные метаданные - это информация, специфичная для конкретного формата файла. Эти поля являются парами ключ/значение в исходном формате, без гарантии согласованности и совместимости между разными форматами. Номенклатура часто различается между форматами, поскольку каждый поставщик имеет право использовать свою собственную терминологию.
  3. Метаданные OME - это информация из # 1 и # 2, преобразованная Bio-Formats в модель данных OME. Выполнение этого преобразования является основной целью Bio-Formats. Bio-Formats использует свою способность конвертировать запатентованные метаданные в OME-XML как часть интеграции с серверами OME и OMERO - по существу, они могут заполнять свои базы данных структурированным способом, поскольку Bio-Formats сортирует метаданные в нужные места, Это преобразование нигде не является полным или не содержит ошибок, но мы постоянно работаем над его улучшением. Мы будем очень благодарны за любые и все материалы от пользователей, касающиеся отсутствующих или неправильно преобразованных полей метаданных.

Инструменты командной строки Bio-Formats способны сбрасывать все исходные пары метаданных ключ/значение для данного набора данных, а также преобразованный OME-XML.

В вашем случае, если вам нужно количество по качеству, вы, вероятно, захотите записать все оригинальные метаданные каким-то образом. showinf командной строки showinf делает это автоматически (вам действительно нужно передать флаг -nometa чтобы подавить его).

Если вы просматриваете полный список пар ключей/значений исходных метаданных, и информация, которую вы ищете, по-прежнему не существует, нам нужно перейти на следующий уровень и улучшить BioRadGelReader для анализа большего количества метаданных.

К сожалению, проверяя исходный код, похоже, что ничто не анализируется в исходной таблице метаданных для этого формата файла. Вероятно, это было обратное проектирование, так как страница формата Bio-Rad Gel говорит, что у нас нет документа спецификации.

Так что это значит, что разработчики Bio-Formats так же не уверены в структуре файлов, как и вы, и будут делать то же самое, что вы делаете: смотрите в шестнадцатеричном редакторе и попытайтесь разобраться. Некоторые трюки включают:

  • Просмотрите значения метаданных, используя официальное программное обеспечение Bio-Rad, затем выполните поиск этих значений в разных кодировках с помощью вашего шестнадцатеричного редактора.
  • Измените одно значение метаданных (если возможно), используя официальное программное обеспечение Bio-Rad, или сделав несколько приобретений как можно более точно, за исключением одной переменной, а затем разделите выходные файлы, чтобы увидеть, какой эффект изменил это значение.
  • Проверьте, соответствуют ли первые несколько сотен байтов известному шаблону для форматов контейнеров, таких как данные Microsoft OLE, данные на основе TIFF или данные на основе HDF, поскольку многие форматы повторно используют эти общие структуры контейнеров.

Вы также можете отправить по электронной почте Bio-Rad, чтобы узнать, готовы ли они отправить спецификацию, и если да, используйте его для улучшения чтения формата файла и/или пересылайте его разработчикам Bio-Formats.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню