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
- Необходимые библиотеки:
dataclassesnumpyzipfiledatetimestruct
💥 Основные классы и методы
LicelProfile: Представляет профиль, связанный с конкретным каналом измерения (лазером).LicelFile: Основной класс, инкапсулирующий всю информацию, прочитанную из файла Licel.LicelFilePack: Класс, представляющий состав zip архива измерений.load_licel_file: Метод для загрузки и чтения одиночного файла Licel.load_licelfile_pack: Метод для массовой загрузки файлов из архива ZIP.
🚀 Быстрый старт
-
Установка библиотеки: Проект распространяется как самостоятельный модуль, доступный через PIP:
pip install licelfile
-
Базовый сценарий использования:
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)
-
Работа с архивами 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8bfb1f97c6110b0fe466f2fc9ca9fd13b205249d2783159baa29f193f0f5bff
|
|
| MD5 |
6b1e1be973eaf64b7adf9d3ba5cde15f
|
|
| BLAKE2b-256 |
fb954578e0d77d6ed27d0790a9a597a76b85a2859f225cb38901f936fd6edd3b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6a96c6075be78795ed2fbb915c78050a9e91b14e8197f6ae8bed93ecee582ba
|
|
| MD5 |
653cd215cfb62aa5257171741febea50
|
|
| BLAKE2b-256 |
2109f0a41d2839d2b44872b419bf7825798726ca52b3d4061d071f1ae885d9c1
|