Южная Корея планирует запустить в этом году не менее двух разведывательных спутников
Управление программ оборонных закупок (DAPA) Южной Кореи сообщило сегодня, что планирует запустить в этом году два разведывательных спутника, оснащенных радарами с синтезированной апертурой, “чтобы лучше следить за Северной Кореей”. Запуск предполагается осуществить ракетами SpaceX Falcon 9 с космодрома на мысе Канаверал в апреле и в ноябре соответственно.
Кроме того, в декабре планируется запуск южнокорейского разведывательного спутника электронно-оптического и инфракрасного наблюдения. К концу 2025 года Южная Корея собирается вывести на орбиту еще четыре разведывательных радарных спутника.
Заявление DAPA прозвучало спустя несколько дней после того, как Пхеньян пообещал запустить в этом году три разведывательных спутника.
📸 Пуск ракеты-носителя SpaceX Falcon 9 с первым южнокорейским разведывательным спутником 1 декабря 2023 года
#война #корея
Управление программ оборонных закупок (DAPA) Южной Кореи сообщило сегодня, что планирует запустить в этом году два разведывательных спутника, оснащенных радарами с синтезированной апертурой, “чтобы лучше следить за Северной Кореей”. Запуск предполагается осуществить ракетами SpaceX Falcon 9 с космодрома на мысе Канаверал в апреле и в ноябре соответственно.
Кроме того, в декабре планируется запуск южнокорейского разведывательного спутника электронно-оптического и инфракрасного наблюдения. К концу 2025 года Южная Корея собирается вывести на орбиту еще четыре разведывательных радарных спутника.
Заявление DAPA прозвучало спустя несколько дней после того, как Пхеньян пообещал запустить в этом году три разведывательных спутника.
📸 Пуск ракеты-носителя SpaceX Falcon 9 с первым южнокорейским разведывательным спутником 1 декабря 2023 года
#война #корея
👍6
Применение функций к слоям данных
К многослойным растровым данным можно применять функции, сопоставляющие набору значений соответствующих пикселей слоев значение пикселя нового слоя.
В качестве примера создадим слой, состоящий из максимальных значений пикселей исходного растра:
(показаны только интересующие нас метаданные).
Выберем пиксели с одинаковым номером (
Можно применять и другие подобные функции:
Общая статистика по всем пикселям каждого слоя вычисляется с помощью
Применяют к растровым данным и статистические функции. Например, гистограмма позволяет изучить распределение значений пикселей каждого слоя. Это помогает обнаруживать выбросы и строить гипотезы относительно данных.
Возьмем фрагмент снимка космического радара Sentinel-1, сделанный в комбинации поляризаций VH (вертикальная-горизонтальная) и построим его гистограмму. В нашем примере слой всего один, так что гистограмма тоже будет одна
Распределение с двумя пиками или модами называют бимодальным. Такое распределение всегда является поводом продолжить исследование, чтобы найти причину, разделяющую наблюдения на два класса.
В нашем случае все просто. На снимке изображена река Миссисипи в штате Луизиана
Нижняя часть распределения, с пиком -22.5 дБ, соответствует водным объектам, а верхняя, с пиком -13.5 дБ, представляет сушу.
Разделяя гистограмму по минимуму между пиками (примерно: -20 дБ), получим маску водных объектов
Конечно, это еще не готовая маска. На ней много ложных срабатываний. Но самый важный шаг в построении маски уже сделан.
Для выявления выбросов кроме
Здесь от значения каждого пикселя отнимается среднее значение пикселей соответствующего слоя.
Изучить взаимосвязь между спектральными каналами снимка позволяет матрица диаграмм рассеяния
Она считается заметно дольше всех рассмотренных выше функций.
Матрица диаграмм рассеяния показывает тесную попарную связь между каналами видимого света (коэффициент корреляции Пирсона превышает 0,9), и гораздо более слабую связь этих каналов с 4-м каналом — каналом ближнего ИК-излучения (NIR).
#R
К многослойным растровым данным можно применять функции, сопоставляющие набору значений соответствующих пикселей слоев значение пикселя нового слоя.
В качестве примера создадим слой, состоящий из максимальных значений пикселей исходного растра:
img <- rast("KANOPUS_20190829.tif")
# class : SpatRaster
# dimensions : 1440, 2052, 4 (nrow, ncol, nlyr)
# names : blue, green, red, nir
img_max <- max(img)
# class : SpatRaster
# dimensions : 1440, 2052, 1 (nrow, ncol, nlyr)
# name : max(показаны только интересующие нас метаданные).
Выберем пиксели с одинаковым номером (
ipix) и посмотрим, какие значения они содержат в разных слоях исходного растра и что получилось после применения функции max:ipix <- 100000
img_val <- values(img)
img_val[ipix,]
# blue green red nir
# 6 19 30 59
values(img_max)[ipix,]
# max
# 59
Можно применять и другие подобные функции:
mean, min, sum. Всякий раз при этом создается новый однослойный растр.Общая статистика по всем пикселям каждого слоя вычисляется с помощью
global(). Вторым ее аргументом является функция, применяемая к слоям растра. Например, вычислим среднее значение пикселей каждого слоя, а затем — среднее всех слоев:mean_img <- global(img, "mean")
# mean
# blue 74.30830
# green 76.57495
# red 69.35716
# nir 102.35891
apply(mean_img, 2, mean)
# mean
# 80.64983
Применяют к растровым данным и статистические функции. Например, гистограмма позволяет изучить распределение значений пикселей каждого слоя. Это помогает обнаруживать выбросы и строить гипотезы относительно данных.
Возьмем фрагмент снимка космического радара Sentinel-1, сделанный в комбинации поляризаций VH (вертикальная-горизонтальная) и построим его гистограмму. В нашем примере слой всего один, так что гистограмма тоже будет одна
sar <- rast("louisiana_SAR.tif")
# гистограмма
# выборки значений пикселей
hist(sar, main = "Backscattering")
# всех значений пикселей
hist(values(sar), main = "Backscattering")Распределение с двумя пиками или модами называют бимодальным. Такое распределение всегда является поводом продолжить исследование, чтобы найти причину, разделяющую наблюдения на два класса.
В нашем случае все просто. На снимке изображена река Миссисипи в штате Луизиана
plot(sar, col = grey.colors(15))
Нижняя часть распределения, с пиком -22.5 дБ, соответствует водным объектам, а верхняя, с пиком -13.5 дБ, представляет сушу.
Разделяя гистограмму по минимуму между пиками (примерно: -20 дБ), получим маску водных объектов
water_mask <- sar < -20
plot(water_mask, col = rev(grey.colors(2)))
Конечно, это еще не готовая маска. На ней много ложных срабатываний. Но самый важный шаг в построении маски уже сделан.
Для выявления выбросов кроме
hist можно использовать boxplot. А вот пример послойного центрирования значений растровых данныхimg_centered <- scale(img, center = TRUE, scale = FALSE)
Здесь от значения каждого пикселя отнимается среднее значение пикселей соответствующего слоя.
Изучить взаимосвязь между спектральными каналами снимка позволяет матрица диаграмм рассеяния
pairs(img)
Она считается заметно дольше всех рассмотренных выше функций.
Матрица диаграмм рассеяния показывает тесную попарную связь между каналами видимого света (коэффициент корреляции Пирсона превышает 0,9), и гораздо более слабую связь этих каналов с 4-м каналом — каналом ближнего ИК-излучения (NIR).
#R
❤6
Из планов на 2024 год
Подводя итоги 2023 года “Роскосмос” сообщил о планах запуска в 2024 году 10 спутников дистанционного зондирования Земли:
«В 2024 году орбитальную группировку дистанционного зондирования Земли планируется пополнить космическими аппаратами радиолокационного наблюдения “Обзор-Р” №1 и “Кондор-ФКА” №2, оптико-электронного наблюдения “Ресурс-П” №4, “Аист-2Т” №1 и №2, гидрометеорологического назначения “Метеор-М” №2-4 и мониторинга гелиогеофизической обстановки “Ионосфера-М” №1, №2, №3 и №4».
Самарский национальный исследовательский университет им. Королева совместно с компанией "Специальный Технологический Центр" (СТЦ) из Санкт-Петербурга разрабатывает радарный спутник "АИСТ-СТ". По сообщению Волга Ньюс, запуск аппарата на орбиту запланирован на 2024 год, а в 2025–2030 годах на базе университета будет развернуто серийное производство таких спутников с перспективой создания группировки из 600 аппаратов.
"АИСТ-СТ" представляет собой малый спутник, выполненный в формате CubeSat 12U, и оснащенный радаром X-диапазона.
#россия
Подводя итоги 2023 года “Роскосмос” сообщил о планах запуска в 2024 году 10 спутников дистанционного зондирования Земли:
«В 2024 году орбитальную группировку дистанционного зондирования Земли планируется пополнить космическими аппаратами радиолокационного наблюдения “Обзор-Р” №1 и “Кондор-ФКА” №2, оптико-электронного наблюдения “Ресурс-П” №4, “Аист-2Т” №1 и №2, гидрометеорологического назначения “Метеор-М” №2-4 и мониторинга гелиогеофизической обстановки “Ионосфера-М” №1, №2, №3 и №4».
Самарский национальный исследовательский университет им. Королева совместно с компанией "Специальный Технологический Центр" (СТЦ) из Санкт-Петербурга разрабатывает радарный спутник "АИСТ-СТ". По сообщению Волга Ньюс, запуск аппарата на орбиту запланирован на 2024 год, а в 2025–2030 годах на базе университета будет развернуто серийное производство таких спутников с перспективой создания группировки из 600 аппаратов.
"АИСТ-СТ" представляет собой малый спутник, выполненный в формате CubeSat 12U, и оснащенный радаром X-диапазона.
#россия
👍9❤2
HawkEye 360 приобрела Maxar Intelligence RF Solutions
Американская компания HawkEye 360 объявила 18 декабря о приобретении Maxar Intelligence RF Solutions — подразделения, образовавшегося после покупки компанией Maxar компании Aurora Insight. Детали сделки не разглашаются.
HawkEye 360 специализируется на обнаружении, определении характеристик и местоположения радиочастотных сигналов от судов, транспортных средств, электронных глушилок и других устройств при помощи собственной спутниковой группировки.
В результате приобретения, HawkEye 360 получит еще два спутника для радиочастотного мониторинга в дополнение к своей группировке, состоящей из 21 аппарата. Это позволит расширить зону покрытия данными HawkEye 360, включая радиосигналы в диапазоне от 26 до 40 ГГц. Запуск еще дюжины спутников HawkEye 360 запланирован на 2024 год.
Данные HawkEye 360 предоставляются, в основном, государственным заказчикам. Так, HawkEye 360 и Maxar RF Solutions предоставляли радиочастотные данные Национальному управлению военно-космической разведки США (NRO). В апреле прошлого года компании выиграли двухлетний опцион на предоставление данных для программы NRO Strategic Commercial Enhancements Broad Agency Announcement.
Еще в сентябре 2022 года шесть компаний — Aurora Insight, HawkEye 360, Kleos Space, PredaSAR, Spire Global и Umbra Lab — заключили соглашение с NRO о предоставлении тому данных радиочастотного наблюдения.
Aurora Insight — стартап, финансировавшийся Maxar — был в начале 2023 года приобретен последним и преобразован в Maxar Intelligence RF Solutions, ставший теперь частью HawkEye 360.
PredaSAR, дочерняя компания Terran Orbital, должна была предоставлять NRO радарные данные и, наряду с ними, в пассивном режиме сканировать радиочастотную активность (как и Umbra Lab). Однако Terran Orbital не справился с темпами производства спутников, так что проект PredaSAR сейчас поставлен на паузу.
Kleos Space, стартап базирующейся в Люксембурге и обладающий группировкой из четырех спутников радиочастотной разведки, в настоящее время близок к банкротству.
Таким образом, из 6 компаний, предоставляющих радиочастотные данные NRO, осталось три активных игрока: HawkEye 360, Spire Global и Umbra Lab.
#sigint #война
Американская компания HawkEye 360 объявила 18 декабря о приобретении Maxar Intelligence RF Solutions — подразделения, образовавшегося после покупки компанией Maxar компании Aurora Insight. Детали сделки не разглашаются.
HawkEye 360 специализируется на обнаружении, определении характеристик и местоположения радиочастотных сигналов от судов, транспортных средств, электронных глушилок и других устройств при помощи собственной спутниковой группировки.
В результате приобретения, HawkEye 360 получит еще два спутника для радиочастотного мониторинга в дополнение к своей группировке, состоящей из 21 аппарата. Это позволит расширить зону покрытия данными HawkEye 360, включая радиосигналы в диапазоне от 26 до 40 ГГц. Запуск еще дюжины спутников HawkEye 360 запланирован на 2024 год.
Данные HawkEye 360 предоставляются, в основном, государственным заказчикам. Так, HawkEye 360 и Maxar RF Solutions предоставляли радиочастотные данные Национальному управлению военно-космической разведки США (NRO). В апреле прошлого года компании выиграли двухлетний опцион на предоставление данных для программы NRO Strategic Commercial Enhancements Broad Agency Announcement.
Еще в сентябре 2022 года шесть компаний — Aurora Insight, HawkEye 360, Kleos Space, PredaSAR, Spire Global и Umbra Lab — заключили соглашение с NRO о предоставлении тому данных радиочастотного наблюдения.
Aurora Insight — стартап, финансировавшийся Maxar — был в начале 2023 года приобретен последним и преобразован в Maxar Intelligence RF Solutions, ставший теперь частью HawkEye 360.
PredaSAR, дочерняя компания Terran Orbital, должна была предоставлять NRO радарные данные и, наряду с ними, в пассивном режиме сканировать радиочастотную активность (как и Umbra Lab). Однако Terran Orbital не справился с темпами производства спутников, так что проект PredaSAR сейчас поставлен на паузу.
Kleos Space, стартап базирующейся в Люксембурге и обладающий группировкой из четырех спутников радиочастотной разведки, в настоящее время близок к банкротству.
Таким образом, из 6 компаний, предоставляющих радиочастотные данные NRO, осталось три активных игрока: HawkEye 360, Spire Global и Umbra Lab.
#sigint #война
🔥1
В нашем сообщении Из планов на 2024 год информация о том, что “АИСТ-СТ” будет запускаться в рамках программы "УниверСат" не соответствует действительности. Мы исправили текст, но его уже успели перепостить, поэтому дополнительно сообщаем здесь.
Итак: по информации, предоставленной Самарским университетом им. Королёва, запуск "АИСТ-СТ" запланирован на 2024 год.
Вот публикация-первоисточник и еще одна, с параметрами аппарата "АИСТ-СТ".
Благодарим за предоставленную информацию Центр по связям с общественностью Самарского университета им. Королёва.
Итак: по информации, предоставленной Самарским университетом им. Королёва, запуск "АИСТ-СТ" запланирован на 2024 год.
Вот публикация-первоисточник и еще одна, с параметрами аппарата "АИСТ-СТ".
Благодарим за предоставленную информацию Центр по связям с общественностью Самарского университета им. Королёва.
👍4🔥2👌1
Доступ к ячейкам данных
Для доступа к значениям ячеек (пикселей) растровых данных в пакете
Обратите внимание, что значения растра представлены в виде вектора (одномерного массива). Для доступа к значениям ячеек используется стандартная индексация R.
Можно сначала узнать номер ячейки по номеру строки и столбца, при помощи
Получим координаты выбранных ячеек
Получить значения ячеек можно по их номерам (
Координаты и значения всех ячеек растра в виде таблицы:
Функцию
При таком подходе, присвоение значений растра для очень больших файлов происходит очень медленно, поскольку каждый раз на диск записывается новый (временный) файл со всеми значениями. Для перезаписи значений в существующем файле используют функцию
#R
Для доступа к значениям ячеек (пикселей) растровых данных в пакете
terra есть несколько функций. values() используется, чтобы получить все значения растра или их часть. Например, значения одной строки или значения прямоугольного блока ячеек:r <- rast("dem.tif")
v <- values(r)
v[1000:1005, ]
# [1] 125.9172 126.2032 126.4972 126.7908 127.0973 127.3987
values(r, row=100, nrow=1, col=35, ncol=6)
# Layer_1
# [1,] 112.4701
# [2,] 112.5410
# [3,] 112.6132
# [4,] 112.6909
# [5,] 112.7424
# [6,] 112.7527Обратите внимание, что значения растра представлены в виде вектора (одномерного массива). Для доступа к значениям ячеек используется стандартная индексация R.
Можно сначала узнать номер ячейки по номеру строки и столбца, при помощи
cellFromRowCol, а затем получить значения выбранных ячеек:cells <- cellFromRowCol(r, 100, 35:40)
cells
# [1] 288719 288720 288721 288722 288723 288724
r[cells]
# Layer_1
# 1 112.4701
# 2 112.5410
# 3 112.6132
# 4 112.6909
# 5 112.7424
# 6 112.7527
Получим координаты выбранных ячеек
xy <- xyFromCell(r, cells)
# x y
# [1,] -77.84894 39.49693
# [2,] -77.84890 39.49693
# [3,] -77.84887 39.49693
# [4,] -77.84884 39.49693
# [5,] -77.84881 39.49693
# [6,] -77.84878 39.49693
Получить значения ячеек можно по их номерам (
cells) или координатам (xy), с помощью функции extract:extract(r, cells)
extract(r, xy)
# Layer_1
# 1 112.4701
# 2 112.5410
# 3 112.6132
# 4 112.6909
# 5 112.7424
# 6 112.7527
Координаты и значения всех ячеек растра в виде таблицы:
dt <- as.data.frame(r, xy=TRUE)
Функцию
values можно использовать для замены значений в объекте SpatRaster или для присвоения новых значений ячейкам. Если вы заменяете значение в объекте SpatRaster, созданном на основе файла, то связь с этим файлом теряется, поскольку теперь значения объекта отличаются от файлаr
# class : SpatRaster
# dimensions : 1620, 2916, 1 (nrow, ncol, nlyr)
# resolution : 3.08642e-05, 3.08642e-05 (x, y)
# extent : -77.85, -77.76, 39.45, 39.5 (xmin, xmax, ymin, ymax)
# coord. ref. : lon/lat WGS 84 (EPSG:4326)
# source : dem.tif
# name : Layer_1
# min value : 87.12177
# max value : 158.5774
values(r)[1000:1005, ] <- 0
r
# class : SpatRaster
# dimensions : 1620, 2916, 1 (nrow, ncol, nlyr)
# resolution : 3.08642e-05, 3.08642e-05 (x, y)
# extent : -77.85, -77.76, 39.45, 39.5 (xmin, xmax, ymin, ymax)
# coord. ref. : lon/lat WGS 84 (EPSG:4326)
# source(s) : memory
# name : Layer_1
# min value : 0.0000
# max value : 158.5774
При таком подходе, присвоение значений растра для очень больших файлов происходит очень медленно, поскольку каждый раз на диск записывается новый (временный) файл со всеми значениями. Для перезаписи значений в существующем файле используют функцию
update. Будьте осторожны с ней, так как значения исходного файла изменяются окончательно.#R
❤2👍2
Forwarded from Ключ на старт
12 января 1907 года родился Сергей Павлович Королев — советский ученый, конструктор ракетно-космических систем, председатель Совета главных конструкторов СССР.
Каждый школьник знает, что Сергей Павлович воплотил в реальность самые смелые мечты человечества о космосе и стал основоположником практической космонавтики: под его руководством был осуществлен запуск первого искусственного спутника Земли и полет в космос первого космонавта Юрия Гагарина, а вы хотите узнать больше о других достижениях настоящей легенды мировой космонавтики Сергее Королеве?
Если вы всерьез интересуетесь историей освоения космоса и хотите узнать необычные и малоизвестные факты биографии Главного конструктора, то 12 января вас ждут на тематическом квизе в Музее космонавтики в Москве!
12 января в кинозале музея в интерактивном формате вы сможете познакомиться с биографией Сергея Павловича и узнать об особенностях его быта и работы.
А мы собрали для вас небольшую подборку, знакомящую с личностью и деятельностью выдающегося ученого:
⭐️ художественный фильм «Королев»
⭐️ художественный фильм «Главный»
⭐️ документальный цикл «Империя Королева»
⭐️ спецпроект «Королев» Национальной электронной библиотеки и Музея космонавтики в Москве
#Роскосмос #МосковскийМузейКосмонавтики #КлючНаСтарт #ГлавныйКонструктор #СергейКоролев #ВремяПервых
Каждый школьник знает, что Сергей Павлович воплотил в реальность самые смелые мечты человечества о космосе и стал основоположником практической космонавтики: под его руководством был осуществлен запуск первого искусственного спутника Земли и полет в космос первого космонавта Юрия Гагарина, а вы хотите узнать больше о других достижениях настоящей легенды мировой космонавтики Сергее Королеве?
Если вы всерьез интересуетесь историей освоения космоса и хотите узнать необычные и малоизвестные факты биографии Главного конструктора, то 12 января вас ждут на тематическом квизе в Музее космонавтики в Москве!
12 января в кинозале музея в интерактивном формате вы сможете познакомиться с биографией Сергея Павловича и узнать об особенностях его быта и работы.
А мы собрали для вас небольшую подборку, знакомящую с личностью и деятельностью выдающегося ученого:
⭐️ художественный фильм «Королев»
⭐️ художественный фильм «Главный»
⭐️ документальный цикл «Империя Королева»
⭐️ спецпроект «Королев» Национальной электронной библиотеки и Музея космонавтики в Москве
#Роскосмос #МосковскийМузейКосмонавтики #КлючНаСтарт #ГлавныйКонструктор #СергейКоролев #ВремяПервых
❤2
В конце декабря японская компания Axelspace, занимающаяся ДЗЗ, привлекла 44 млн долл. в рамках раунда финансирования серии D.
Компания Axelspace базируется в Токио и занимается наблюдением Земли с помощью микроспутников GRUS собственной разработки. GRUS — это 80-килограммовые аппараты с полосой обзора более 50 км, которые позволяют получать панхроматические изображения с пространственным разрешением 2,5 метра и мультиспектральные изображения в диапазонах синего, зеленого, красного, красного края* и ближнего инфракрасного света с разрешением 5 метров.
Всего компания запустила на орбиту в 2018–2021 гг. 5 спутников GRUS (все — ракетами “Союз-2.1а”): 4 принадлежат Axelspace, а GRUS-1D разработан для префектуры Фукуи. Все спутники успешно функционируют.
Компания планирует использовать полученные средства для расширения своей орбитальной группировки. Axelspace основана 15 лет назад, и за все своего существования привлекла в общей сложности около 100 млн. долл. инвестиций.
*Красный край (red edge) фотосинтеза — явление резкого усиления отражения зеленой растительности при увеличении длины волны от красного света к ближнему инфракрасному излучению (в диапазоне от 680 до 730 нм.).
📸 Художественное изображение космического аппарата GRUS-1
#япония
Компания Axelspace базируется в Токио и занимается наблюдением Земли с помощью микроспутников GRUS собственной разработки. GRUS — это 80-килограммовые аппараты с полосой обзора более 50 км, которые позволяют получать панхроматические изображения с пространственным разрешением 2,5 метра и мультиспектральные изображения в диапазонах синего, зеленого, красного, красного края* и ближнего инфракрасного света с разрешением 5 метров.
Всего компания запустила на орбиту в 2018–2021 гг. 5 спутников GRUS (все — ракетами “Союз-2.1а”): 4 принадлежат Axelspace, а GRUS-1D разработан для префектуры Фукуи. Все спутники успешно функционируют.
Компания планирует использовать полученные средства для расширения своей орбитальной группировки. Axelspace основана 15 лет назад, и за все своего существования привлекла в общей сложности около 100 млн. долл. инвестиций.
*Красный край (red edge) фотосинтеза — явление резкого усиления отражения зеленой растительности при увеличении длины волны от красного света к ближнему инфракрасному излучению (в диапазоне от 680 до 730 нм.).
📸 Художественное изображение космического аппарата GRUS-1
#япония
👍2❤1
Фильтрация
Фильтрация, а точнее пространственная фильтрация, рассматривается во множестве книг по обработке изображений и компьютерному зрению. Поэтому, по теоретическим вопросам мы адресуем вас к классическому учебнику Гонсалеса и Вудса*, а сами покажем, как создать пространственный фильтр в R и рассмотрим один полезный на практике частный случай.
Впрочем, без самой минимальной теории не обойтись. Примем, что окрестность ячейки (пиксела) растровых данных состоит из нее самой и соседних ячеек. Говоря очень упрощенно, фильтрация заключается в преобразовании значения ячейки, с учетом значений ее окрестности. Для этого используется фильтр — это матрица заданного размера (например, 3х3), элементы которой являются весами значений окрестности ячейки. Значения окрестности поэлементно умножаются на веса из фильтра и складываются, образуя в результате новое значение ячейки. Проходя от ячейки к ячейке все исходное изображение, и преобразуя его при помощи фильтра, мы получим новое изображение — того же размера и охвата, что и исходное, но с новыми значениями.
Фильтры создают, чтобы добиться какой-то цели. Поэтому существует множество разнообразных фильтров для разных задач. Некоторые фильтры имеют собственные имена, например, фильтр Канни. А теперь — к примерам.
Создадим тестовый растр, размера 7х7, состоящий из равномерно распределенных значений в интервале от 1 до 3:
Фильтруем
При использовании глобальных растров, а у нас именно такой (посмотрите на его охват), фильтр как бы "обертывается" вокруг линии даты. Можно сказать, что вместо прямоугольного растра мы имеем цилиндр, в котором западная и восточная стороны прямоугольника склеены по линии даты. Когда фильтр частично уходит за границу растра на востоке, он появляется на западе, и наоборот. Если растр не имеет глобального охвата, то “обертывания” фильтра не происходит. На видео показано как выполняется фильтрация для конкретных ячеек.
Значения фильтра обычно равны 1 или NA, чтобы указать, будет ли значение использоваться в вычислениях или игнорироваться. Значения NA полезны для создания непрямоугольных (например, круглых) окон.
В нашем примере фильтр можно записать проще, указав один из его размеров:
Фильтр должен иметь нечетные размеры (3х3, 5х5,…). Если нужны четные размеры, можно добавить в матрицу столбец или строку, содержащие NA, чтобы замаскировать значения.
Фильтрация по большинству фильтром размера 3x3 запишется так:
А теперь рассмотрим фильтр-”решето” (sieve). Он предназначен для удаления из растровых данных “шума” в виде изолированных пикселей или небольших скоплений пикселей. Значения удаляемых пикселей заменяются на фоновое значение — то есть, на значение самого большого скопления пикселей данного растра.
Создадим заполненный нулями растр и добавим на него несколько групп пикселей со значениями 1, 2, 3 и 4:
Посмотрим частоты использования различных значений:
Фоновым значением является 0 (271 пиксел), а самое крупное скопление отличных от нуля пикселей (тройки) состоит из 36 элементов.
Применим к растру
Фильтрация, а точнее пространственная фильтрация, рассматривается во множестве книг по обработке изображений и компьютерному зрению. Поэтому, по теоретическим вопросам мы адресуем вас к классическому учебнику Гонсалеса и Вудса*, а сами покажем, как создать пространственный фильтр в R и рассмотрим один полезный на практике частный случай.
Впрочем, без самой минимальной теории не обойтись. Примем, что окрестность ячейки (пиксела) растровых данных состоит из нее самой и соседних ячеек. Говоря очень упрощенно, фильтрация заключается в преобразовании значения ячейки, с учетом значений ее окрестности. Для этого используется фильтр — это матрица заданного размера (например, 3х3), элементы которой являются весами значений окрестности ячейки. Значения окрестности поэлементно умножаются на веса из фильтра и складываются, образуя в результате новое значение ячейки. Проходя от ячейки к ячейке все исходное изображение, и преобразуя его при помощи фильтра, мы получим новое изображение — того же размера и охвата, что и исходное, но с новыми значениями.
Фильтры создают, чтобы добиться какой-то цели. Поэтому существует множество разнообразных фильтров для разных задач. Некоторые фильтры имеют собственные имена, например, фильтр Канни. А теперь — к примерам.
Создадим тестовый растр, размера 7х7, состоящий из равномерно распределенных значений в интервале от 1 до 3:
set.seed(123)
r <- rast(nrows = 7, ncols = 7)
r[] <- sample(3, ncell(r), replace=TRUE)
names(r) <- "val"
# class : SpatRaster
# dimensions : 7, 7, 1 (nrow, ncol, nlyr)
# resolution : 51.42857, 25.71429 (x, y)
# extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
# name : val
# min value : 1
# max value : 3
Фильтруем
r по среднему значению в скользящем окне 3x3. В нашем случае скользящее окно или фильтр (filt) заполнен единицами, то есть все значения окрестности ячейки имеют одинаковый вес:filt <- matrix(1, nc=3, nr=3)
r_mean <- focal(r, w=filt, fun="mean")
При использовании глобальных растров, а у нас именно такой (посмотрите на его охват), фильтр как бы "обертывается" вокруг линии даты. Можно сказать, что вместо прямоугольного растра мы имеем цилиндр, в котором западная и восточная стороны прямоугольника склеены по линии даты. Когда фильтр частично уходит за границу растра на востоке, он появляется на западе, и наоборот. Если растр не имеет глобального охвата, то “обертывания” фильтра не происходит. На видео показано как выполняется фильтрация для конкретных ячеек.
Значения фильтра обычно равны 1 или NA, чтобы указать, будет ли значение использоваться в вычислениях или игнорироваться. Значения NA полезны для создания непрямоугольных (например, круглых) окон.
В нашем примере фильтр можно записать проще, указав один из его размеров:
r_mean <- focal(r, w=3, fun="mean")
Фильтр должен иметь нечетные размеры (3х3, 5х5,…). Если нужны четные размеры, можно добавить в матрицу столбец или строку, содержащие NA, чтобы замаскировать значения.
Фильтрация по большинству фильтром размера 3x3 запишется так:
r_mjr <- focal(r, w=3, fun="modal")
А теперь рассмотрим фильтр-”решето” (sieve). Он предназначен для удаления из растровых данных “шума” в виде изолированных пикселей или небольших скоплений пикселей. Значения удаляемых пикселей заменяются на фоновое значение — то есть, на значение самого большого скопления пикселей данного растра.
Создадим заполненный нулями растр и добавим на него несколько групп пикселей со значениями 1, 2, 3 и 4:
r <- rast(nrows=18, ncols=18, xmin=0, vals=0, crs="local")
r[2, 5] <- 1
r[5:8, 2:3] <- 2
r[7:12, 10:15] <- 3
r[15:16, 15:18] <- 4
Посмотрим частоты использования различных значений:
freq(r, bylayer=FALSE)
# value count
# 1 0 271
# 2 1 1
# 3 2 8
# 4 3 36
# 5 4 8
Фоновым значением является 0 (271 пиксел), а самое крупное скопление отличных от нуля пикселей (тройки) состоит из 36 элементов.
Применим к растру
r функцию sieve, удаляя скопления пикселей, численностью менее 8x <- sieve(r, 8)
👍5❤2🤯1
Из полученного растра исчезнут единицы. Если задать порог численности равным 9, то исчезнут все скопления, кроме троек (и, естественно, нулей).
#R
*Гонсалес Р., Вудс Р. Цифровая обработка изображений. 3-е издание, исправленное и дополненное. — М.: Техносфера, 2012. — 1104 с.
#R
*Гонсалес Р., Вудс Р. Цифровая обработка изображений. 3-е издание, исправленное и дополненное. — М.: Техносфера, 2012. — 1104 с.
❤1👍1