Analysis of surfaces
Beyond processing and visualizing generic depth maps, craterslab is able to recognize and characterize specific morphologies from the data contained in the depth maps. To do so, the library introduces a more abstract concept named Surface. It is a sort of depth map’s analyzer.
For all the plots shown we will be using this depth map, which can be directly loaded with craterslab as:
from craterslab.sensors import DepthMap
depth_map = DepthMap.load("fluidized_1.npz")
depth_map.auto_crop()
Creating a Surface
Surface objects can be created by simply passing a depth map:
from craterslab.craters import Surface
s = Surface(depth_map)
Classification
Now, we can see if there is any known morphology in the depth map by:
print(s.type)
This should output one of the following:
Simple Crater
Complex Crater
Sand Mound
Unknown
Quantifying its observables
For all the Surface objects with types different than ‘Unknown’ there are several observables that are computed in order to better characterize its morphology. In this example, we are using a depth map containing a simple crater. We can check the value of its observables by:
print(s)
"""
Found: Simple crater
Apparent Depth (d_max): -15.91 mm
Eccentricity (epsilon): 0.38
Diameter (D): 99.19 mm
Maximum heigh (H_cp): 3.00 mm
Mean Heigh over the rim (mean_h_rim): 1.61 mm
Concavity Volume (V_in): 65334.24 mm³
Excavated Volume (V_ex): 27954.53 mm³
"""