Skip to content

coolycow/incdenpy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Что это

Программа для генерации искусственных отражений в LAS-файлах.
Используется для увеличения плотности ТЛО, в случаях когда имеющейся плотности недостаточно.
Для работы используется laspy.

Обработка в нескольких потоках и процессах

По умолчанию в config.yaml следующие значения:

multithreading: True # Использовать потоки
max_threads: 2 # Максимальное количество потоков
multiprocessing: True # Использовать процессы
max_processes: 4 # Максимальное количество процессов

С таким значением одновременно будет обрабатываться 2 файла, а в каждом файле 4 включения.
Таким образом достигается оптимальная производительность.

Не рекомендуется ставить количество потоков или процессов, превышающее количество физических ядер процессора.

Рекомендуемые значения для 64-ядерного процессора:

multithreading: True # Использовать потоки
max_threads: 8 # Максимальное количество потоков
multiprocessing: True # Использовать процессы
max_processes: 32 # Максимальное количество процессов

Установка

pip install -r requirements.txt

Настройки

Все нужные настройки установлены в файле config.yaml.
Наличие данного файла является обязательным.
При необходимости все настройки можно переопределить в параметрах запуска (см. Пример запуска).
Значения, которые установлены в config.yaml, взяты из исходной программы IncDen.

Параметры

  • max_distance – максимальное 3D-расстояние в МЕТРАХ между двумя соседними точками, между которыми возможна генерация новых точек;
  • max_angle – максимальный угол в ГРАДУСАХ между двумя соседними точками, между которыми возможна генерация новых точек;
  • angle_distance – расстояние в МЕТРАХ в пределах которого угол между двумя соседними точками может игнорироваться;
  • quantity – сколько точек необходимо сгенерировать между двумя соседними точками;
  • point_class – класс для новых точек. Имеет диапазон значений от 0 до 256, при значении равным -1 класс точки задается на основании исходных точек, между которыми происходит генерация;
  • time_diff – максимальная разница в СЕКУНДАХ между двумя соседними точками, между которыми возможна генерация новых точек;
  • ignore_classes – список классов через ПРОБЕЛ, для которых не возможна генерация. Причем если в паре точек хотя бы одна имеет класс из данного списка, то генерация не происходит.
  • test_mode – тестовый режим работы программы (не работает в текущей версии). В этом режиме точки, которые сработали стопорами для генерации изменяются:
    • Если сработал стопор по расстоянию – обе точки получают класс 110;
    • Если сработал стопор по углу, то обе точки получают класс 111 и в качестве Line задается угол между точками;
  • no_test_mode - отключить тестовый режим;
  • multithreading - использовать потоки;
  • no_multithreading - не использовать потоки;
  • multiprocessing - использовать процессы;
  • no_multiprocessing - не использовать процессы;
  • max_threads - максимальное количество потоков;
  • max_processes - максимальное количество процессов;
  • final_sort - сортировать финальные точки по времени;
  • no_final_sort - не сортировать финальные точки по времени;
  • input_folder - папка с исходными файлами;
  • output_folder - папка для результирующих файлов;
  • files - список файлов для обработки через ПРОБЕЛ, если указан, то input_folder игнорируется. Результирующие файлы будут записаны в output_folder.

Пример запуска

Если используются ТОЛЬКО настройки из config.yaml:

python incden.py

Если используются настройки из my_config.yam и дополнительно указываются параметры запуска:

python incden.py --config my_config.yaml --max_distance 2.1 --ignore_classes 2 5 8 --max_processes 8 --multiprocessing --no_test_mode --final_sort

Если нужно обработать только выбранные файлы:

python incden.py --files i:\prj\UTM42_WGS84_0008.las i:\prj\UTM42_WGS84_0009.las i:\prj\UTM42_WGS84_0010.las

IncDen ASCII

  ####    ##   ##    ####   #####    #######  ##   ##
   ##     ###  ##   ##  ##   ## ##    ##   #  ###  ##
   ##     #### ##  ##        ##  ##   ## #    #### ##
   ##     ## ####  ##        ##  ##   ####    ## ####
   ##     ##  ###  ##        ##  ##   ## #    ##  ###
   ##     ##   ##   ##  ##   ## ##    ##   #  ##   ##
  ####    ##   ##    ####   #####    #######  ##   ##
        Welcome to LAS & LIDAR Processing Tool
       Increasing point cloud density with love
                         💙

About

IncDen Python Edition

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages