Кристиан Ааллинг Соренсен
Это Python-модуль для работы со спутниковыми снимками Sentinel-1, исключительно на Python. Он позволяет вам находить нужные изображения, загружать их и работать с ними (калибровать, фильтровать спекл и т. д.). Я использую пакет SentinelSAT для метаданных. Затем данные загружаются из NASA ASF.
Почему? Потому что я не работаю с ESA SNAP. Кроме того, в этом случае мне было проще перенести весь рабочий процесс на Python.
Я не даю никаких гарантий относительно качества, безопасности или чего-либо еще. Используйте его по своему усмотрению.
Введение
Требования
Установить и запустить
Используйте изображения Sentinel-1 в Python
САР, кратко
Благодарности
бестолковый
геопанды
mgrs (должно быть удалено в более поздней версии.. извините..)
scikit-learn (должен быть удален в более поздней версии.. извините..)
scipy (должен быть удален в более поздней версии.. извини..)
Картопия
Подушка
панды
Сентинелсат
matplotlib
Этот репозиторий можно установить с помощью git clone ИЛИ pypi. В настоящее время я поместил его только в pypi-test, так что будем надеяться, что он там и останется..
Использование Пипи
ГДАЛЬ. Убедитесь, что ваши привязки gdal работают...
Установите Sentinel_1_python, используя тест pypy.
python3 -m pip install sentinel-1-python --extra-index-url=https://test.pypi.org/simple/
Использование клона
Установите все требования
Клонировать
git clone https://github.com/aalling93/sentinel_1_python.git
Вернуться к оглавлению
Получить метаданные изображений
с Sentinel_metadata() как met:met.area([29.9,21,56.7,58])met.get_metadata(sensor='s1_slc',start_data='20220109',end_date='20221010')
Фильтруйте изображения, если хотите
met.iw() #filer, поэтому у нас есть только IW
Отображение изображений перед загрузкой:
met.plot_image_areas() # Отображение размера изображенийmet.show_cross_pol(4)
Затем мы можем увидеть размер изображений.
И отображать изображения перед их загрузкой...
Загрузите изображения
папка = f'{os.getenv("raw_data_dir")}/slc_sweden'with Satellite_download(met.products_df) as dwl:os.madeirs(folder, Exist_ok=True)#save Metadatadwl.products_df.to_pickle(f'{folder} /slc_dataframe.pkl')#загрузить миниатюрыsdwl.download_thumbnails(folder=f'{folder}/slc_thumbnails') #загрузить изображения slc в формате .zip и распаковать в формат .SAFE..dwl.download_sentinel_1(f'{folder} /слс')
Загрузка, калибровка и изображение спекл-фильтра в Python
image_paths = glob.glob(f'{os.getenv("raw_data_dir")}/*/*/*.SAFE')img = s1_load(image_paths[0])img =img.activate(mode='gamma') # также можно использовать, например, 'sigma_0' img = img.boxcar(5) #можно легко создать, например, фильтр Ли..img.simple_plot(band_index=0)
теперь мы можем извлечь область изображения, определенную либо индексом, либо набором координат.
indx = img.get_index(lat=57.0047,long=19.399)img[indx[0]-125:indx[0]+125,indx[1]-125:indx[1]+125].simple_plot(band_index=1 )
Вернуться к оглавлению
Радар с синтезированной апертурой (SAR) — это активный инструмент, который можно использовать, например, для задач несовместного наблюдения. Его самое большое преимущество перед, например, MSI, заключается в том, что он работает днем и ночью и может видеть сквозь облака и дождь. Разместив прибор SAR на спутнике, можно получить глобальное покрытие с заданным временным и пространственным разрешением. Следовательно, комбинируя, например, инструменты AIS и SAR, можно обеспечить совместное и некооперативное наблюдение.
Радар — это прибор, излучающий электромагнитные импульсы с определенной сигнатурой в микроволновом спектре. В моностатическом радаре радиолокационный прибор одновременно передает и принимает сигнал обратного рассеяния от импульса. Сигнал обратного рассеяния зависит от структуры цели, которую он освещает, и, таким образом, сравнивая известный передаваемый и принятый сигнал, можно описать как геометрические, так и основные характеристики цели, используя моностатическое уравнение радиолокации:
где ?? полученный сигнал получен из переданного сигнала, ??. Переменная? — это длина волны радара, специфичная для конструкции, и ?(?,?) диаграмма усиления радара. Сигнал распределяется в зависимости от пройденного расстояния, ?. Таким образом, можно получить радиолокационное сечение ?(?, ?), которое описывает диэлектрические и геометрические характеристики цели и зависит от углов ? и ?. Однако при наличии шума в уравнение моностатического радара необходимо добавить еще один фактор. В другом моем репозитории https://github.com/aalling93/Finding-on-groud-Radars-in-SAR-images я работаю с радиочастотными помехами (RFI). Явление, когда другие сигналы других радаров мешают сигналу SAR. Вообще говоря, ?(?,?) описывает доступную энергию в пределах целевой области и поэтому должна быть нормализована по площади. Коэффициент обратного радиолокационного рассеяния находится по формуле:
где можно использовать разные области в зависимости от решаемой проблемы. При использовании РСА в качестве радара формирования изображения каждый пиксель изображения имеет значение фазы и амплитуды. Калибруя изображение, можно получить коэффициент обратного радиолокационного рассеяния, как показано в уравнении. . В этом модуле можно загружать и калибровать изображения Sentinel-1 без необходимости использования внешнего программного обеспечения или, например, (печально известного) пакета Snappy.
Поскольку SAR получает вклад обратного рассеяния от всех объектов в освещаемой области, возникает шумоподобное явление, называемое спекл. В результате получается детализированное изображение, где каждый пиксель представляет собой комбинацию обратного рассеяния от отдельного объекта в области. В моем репозитории https://github.com/aalling93/Custom-made-SAR-speckle-reduction я реализовал несколько разных фильтров Speckle и показываю разницу в разных условиях. .
Радар с изображением SAR отличается от обычного радара тем, что использует движение своей платформы для получения лучшего разрешения, отсюда и название «Радар с синтезированной апертурой». При съемке неподвижной цели доплеровская частота находится по скорости платформы. РСА излучает и принимает несколько импульсов к одной и той же цели. Когда SAR летит к своей цели, он измеряет положительную доплеровскую частоту, которая уменьшается до тех пор, пока не станет перпендикулярно цели, после чего он будет испытывать возрастающую отрицательную доплеровскую частоту.
Электромагнитный сигнал передается либо с горизонтальной, либо с вертикальной поляризацией, при этом полнопараметрические РСА способны передавать как горизонтальную, так и вертикальную поляризацию. За счет взаимодействия передаваемого импульса с целью обратно в РСА отражается как вертикальный, так и горизонтальный сигнал. Это приводит к возникновению нескольких различных механизмов рассеяния. Существует несколько типов механизмов рассеяния. Для обнаружения кораблей наиболее важными являются рассеяние поверхности и рассеяние двойного отражения.
Передаваемый сигнал частично поглощается, а частично отражается освещаемым им объектом. Поверхностное рассеяние – это рассеяние, описывающее отраженный сигнал. Если поверхность полностью гладкая (зеркальная), обратное рассеяние не отражается обратно на SAR. Если поверхность шероховатая, происходит рассеяние и часть падающего импульса рассеивается обратно в РСА. Шероховатые поверхности имеют более высокое обратное рассеяние по сравнению с более гладкими поверхностями. Причем VV и HH имеют более высокое обратное рассеяние по сравнению с VH и HV (HV и VH они почти всегда одинаковы) как для шероховатых, так и для гладких поверхностей. Влажная поверхность приводит к более высокому радиолокационному сечению. Обратное рассеяние поверхности зависит от шероховатости и диэлектрической проницаемости освещаемой цели. Поэтому поверхность океана часто приводит к небольшому обратному рассеянию из-за ее влажной и относительно гладкой поверхности (при низких скоростях ветра), даже учитывая ее высокую диэлектрическую проницаемость на частотах РСА.
Двойное отраженное рассеяние возникает, когда передаваемый импульс дважды зеркально отражается от угла обратно к SAR. Это приводит к очень высокому обратному рассеянию. Суда часто имеют много углов и очень гладкие, что приводит к особенно высокому обратному рассеянию. Поэтому часто легко отличить, например, корабли от поверхности океана. Для получения дополнительной информации о механизмах рассеяния в океанах. Как упоминалось выше, существует несколько других механизмов рассеяния, и при обнаружении, например, кораблей на изображениях РСА в Арктике, необходимо также учитывать объемное рассеяние.
Из-за геометрии SAR и его движущейся платформы типичные датчики изображения SAR предназначены для получения сфокусированных изображений с хорошим разрешением при условии, что их цель неподвижна во время получения изображения. Такую фокусировку невозможно выполнить на движущихся целях, и поэтому обычные инструменты SAR плохо подходят для обнаружения быстро движущихся объектов, таких как корабли. В результате получается хорошо разрешенный статический фон и плохо разрешенная движущаяся цель. В задачах наблюдения, не связанных с сотрудничеством, это является серьезной проблемой. Если предположить, что цель движется перпендикулярно лучу обзора РСА с постоянным ускорением, можно уменьшить проблему, приняв во внимание доплеровский сдвиг изображений РСА. Морские суда обычно не следуют такой схеме. Следовательно, при рассмотрении кораблей с приборами SAR необходимо учитывать более сложные схемы траекторий.
Таким образом, используя возможности поисково-спасательного инструмента, должна быть возможность обнаруживать корабли на поверхности океана.
Я, Симон Лупемба, Эйгил Липперт
См. файл лицензии. Суммируя:
Цитируйте меня в своей работе! что-то вроде: Кристиан Ааллинг Соренсен (2020) Sentinel_1_python [Исходный код]. https://github.com/aalling93/sentinel_1_python. электронная почта: [email protected]
Пусть как можно больше людей подпишутся на меня на Github. Вы и ваши коллеги, которые этим худо-бедно пользуются. Я охотник за лайками.
Поставьте звездочку этому репозиторию, настроенному так же, как указано выше.
Может быть, напишите мне пару электронных писем и расскажите, какую потрясающую работу я проделал?
Помогите мне улучшить работу. Я всегда ищу соратников.