User Guide¶
Comprehensive guide to all PILS features and capabilities.
Overview¶
PILS provides a complete workflow for the POLOCALC data processing:
flowchart TB
subgraph Loading
A[PathLoader] --> C[Flight Container]
B[StoutLoader] --> C
end
subgraph Data
C --> D[Drone Data]
C --> E[Sensor Data]
end
subgraph Processing
D --> F[Synchronizer]
E --> F
F --> G[Synchronized Data]
end
subgraph Analysis
subgraph PPK Analysis
A --> H[PPK Analysis]
B --> H[PPK Analysis]
end
G --> J[Custom Analysis]
end
subgraph Export
H --> K[HDF5]
H --> I[Markdown Report]
J --> L[CSV/Parquet]
end
Chapters¶
-
Explain the directory and file structure for PILS
-
Mathematical description of the synchronization process between the different dataset
-
Description for handling the data from the DJI Matrice 600
Quick Reference¶
Loading¶
from pils.loader.path import PathLoader
from pils.flight import Flight
loader = PathLoader(base_path="/campaigns")
flight_info = loader.load_single_flight("flight_20251208_1506")
flight = Flight(flight_info)
Accessing Data¶
# Drone data
flight.add_drone_data()
drone_df = flight.drone_data['data']
# Sensors
flight.add_sensor_data(['gps', 'imu'])
gps_df = flight['gps'].data
accel_df = flight['imu'].accelerometer
Analysis¶
from pils.synchronizer import Synchronizer
sync = Synchronizer()
sync.add_gps_reference(gps_df)
sync.add_drone_gps(drone_df)
result = sync.synchronize()