Який бінарний формат ROI (ENVI)?


11

Я Pythonist в офісі, повному користувачів ENVI / IDL. Я створив кілька інструментів, які допоможуть усунути прогалину, але одним з великих каменів спотикання є файли ENVI Classic .roi, якими мої колеги дуже багато користуються.

Я можу легко імпортувати ENVI 5 ROI в Python, оскільки текстовий формат легко аналізувати. Однак я не маю гарного сенсу щодо двійкового формату файлів .roi ENVI Classic, які складають основну частину обміну даними в моїй групі. У когось є якийсь код, який читає або записує ці файли, або будь-яке уявлення про те, як можна про це піти?

Дещо втомливо підпалювати ENVI 5 щоразу, коли мені хочеться повертатися вперед і назад - я скоріше вирішую проблему біля джерела, якщо це можливо.

Відповіді:


1

Я не експерт з python, але це слід зробити досить просто, якщо ви вже пишете сценарії, які можуть розбирати, читати та писати стандартизовані файли ASCII.

Згідно з Harris Geospatial Solutions, нинішній розробник файлів бінарних зображень ENVI, ENVI (описаний тут) повинен складатися з двійкового файлу та файла заголовка ASCII (визначеного з прикладом тут) . Щоб прочитати файл зображення ENVI, вам потрібно буде проаналізувати заголовок ASCII та отримати доступ до типу даних (ціле число, плаваючий, підписаний / непідписаний тощо), кількість діапазонів, перемежування (Band Sequences, Band-interleaved-by- пікселів або перемежованих по рядку ), порядку байтів та будь-якої іншої відповідної інформації. Уважно ознайомтеся з описом формату файлу заголовка та прикладом, пов'язаним вище.

Тепер, коли ви знаєте, які фрагменти двійкового файлу потрібно читати за раз, в якому порядку вони входять і до яких діапазонів вони належать, ви готові прочитати дані зображення .


Чи зберігаються ROI ENVI як файли зображень? Гадаю, вони мають "такий же просторовий розмір, як і їхні батьківські растри", згідно з Harris Geospatial , але в інтерфейсі користування півпікселями (діагонально розділеними) вибираються під час перетягування для створення рентабельності інвестицій, тому, схоже, це повинно бути векторний формат якогось, якщо не існує якогось двобітного растрового прапора (щоб вказати напрямок трикутника). У всякому разі, я спробую, як ви пропонуєте, і подивіться, як далеко я дістанусь!
Дейвен Квінн

Я думаю, що "файли бінарних зображень ENVI" - це пара файлів, один без розширення і один з розширенням ".hdr". Але, здається, що .roi файли мають інший бінарний формат? До речі, якщо все , що вам потрібно зробити , це завантажити файл .HDR, використовуйте цей пітон пакет: spectralpython.net
MD004

Ні, я, безумовно, шукаю рішення читати / записувати ROI безпосередньо, а не лише заголовки, які можна читати, наприклад, GDAL залежно від формату ...
Daven Quinn,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.