diff --git a/src/pye57/scan_header.py b/src/pye57/scan_header.py index cce2ef6..908f44b 100644 --- a/src/pye57/scan_header.py +++ b/src/pye57/scan_header.py @@ -5,6 +5,10 @@ from pye57.utils import get_fields, get_node class ScanHeader: + """Provides summary statistics for an individual lidar scan in an E57 file. + + Including the number of points, bounds and pose of the scan. + """ def __init__(self, scan_node): self.node = scan_node points = self.node["points"] @@ -29,7 +33,11 @@ def rotation_matrix(self) -> np.array: @property def rotation(self) -> np.array: - q = Quaternion([e.value() for e in self.node["pose"]["rotation"]]) + try: + rotation = self.node["pose"]["rotation"] + q = Quaternion([e.value() for e in rotation]) + except KeyError: + q = Quaternion() return q.elements @property