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.2.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.2-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: licelfile-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 a8bfb1f97c6110b0fe466f2fc9ca9fd13b205249d2783159baa29f193f0f5bff
MD5 6b1e1be973eaf64b7adf9d3ba5cde15f
BLAKE2b-256 fb954578e0d77d6ed27d0790a9a597a76b85a2859f225cb38901f936fd6edd3b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: licelfile-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b6a96c6075be78795ed2fbb915c78050a9e91b14e8197f6ae8bed93ecee582ba
MD5 653cd215cfb62aa5257171741febea50
BLAKE2b-256 2109f0a41d2839d2b44872b419bf7825798726ca52b3d4061d071f1ae885d9c1

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