Skip to main content

Package that reads and writes licel lidar files.

Project description

📊 LicelFile 📋

Описание проекта

Данный проект реализует средства для чтения и обработки специализированных научных файлов формата Licel (transient recorder), используемых в лазерных измерительных приборах (лидарах). Библиотека разработана на языке Python и предоставляет высокоуровневый интерфейс для удобного доступа к данным измерений, хранящимся в таких файлах.

Особенности библиотеки:

  • Возможность прямого чтения данных из бинарных файлов формата Licel.
  • Гибкий API для удобной навигации и анализа полученных данных.
  • Поддерживает коллективную работу с несколькими файлами посредством сжатия в архивы формата ZIP.
  • Эффективная обработка больших объемов данных с минимальными накладными расходами ресурсов.

🏷️ Ключевая терминология

  • Licel File: Файл, содержащий измерения, выполненные прибором-лидаром.
  • Dataset: Набор данных в рамках одного измерения, характеризующийся параметрами прибора и условиями эксперимента.
  • Profile: Информация о конкретном канале измерения (частота лазера, ширина канала, разрешение и др.)

💻 Требования к среде

  • Python >= 3.7
  • Необходимые библиотеки:
    • dataclasses
    • numpy
    • zipfile
    • datetime
    • struct

💥 Основные классы и методы

  • LicelProfile: Представляет профиль, связанный с конкретным каналом измерения (лазером).
  • LicelFile: Основной класс, инкапсулирующий всю информацию, прочитанную из файла Licel.
  • LicelFilePack: Класс, представляющий состав zip архива измерений.
  • load_licel_file: Метод для загрузки и чтения одиночного файла Licel.
  • load_licelfile_pack: Метод для массовой загрузки файлов из архива ZIP.

🚀 Быстрый старт

  1. Установка библиотеки: Проект распространяется как самостоятельный модуль, доступный через PIP:

    pip install licelfile
    
  2. Базовый сценарий использования:

    from licelfile import load_licel_file
    
    # Чтение одиночного файла
    licel_file = load_licel_file('path/to/your/file.lic')
    
    # Доступ к данным
    datasets = licel_file.profiles
    for ds in datasets:
        print(ds.wavelength)
    
  3. Работа с архивами ZIP:

    from licelfile import load_licelfile_pack
    
    # Чтение группы файлов из ZIP
    licel_pack = load_licelfile_pack('path/to/your/data.zip')
    
    # Проходим по каждому файлу
    for filename, licel_file in licel_pack.files.items():
        print(f"Файл: {filename}, начало измерения: {licel_file.measurementStartTime}")
    

🩺 Тестирование

Проект сопровождается автоматизированными тестами, расположенными в директории /tests. Запуск тестов возможен следующей командой:

python -m unittest discover tests

🔮 Будущие планы

  • Экспорт результатов в распространенные форматы (CSV, Excel, HDF5).
  • Адаптация библиотеки для параллельной обработки больших объемов данных.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

licelfile-0.1.3.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

licelfile-0.1.3-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file licelfile-0.1.3.tar.gz.

File metadata

  • Download URL: licelfile-0.1.3.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for licelfile-0.1.3.tar.gz
Algorithm Hash digest
SHA256 954e0eeaa0c1693b5463cffcd5d16a1364e95637c2f66e150f48f0928f523654
MD5 6cb09ae6f504b2172183155d6db7186a
BLAKE2b-256 77e6b1a288d8c924463303646810c6b616e282ee2334846750819a33aba57323

See more details on using hashes here.

File details

Details for the file licelfile-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: licelfile-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for licelfile-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fcd668303a47f5850f347b826a8c9e4118de98c4ea2ccfa353ba1fbe00eb6993
MD5 3ba1a86d4101a2adcff5d4dadff98b5f
BLAKE2b-256 967ee133885c91ebe7df3e2dd250199b7112e9e79f848474808e3bd59ec28bb9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page