> ## Documentation Index
> Fetch the complete documentation index at: https://docs.generalrobotics.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# DPV-SLAM 

The `DPVSLAM` class implements DPV-SLAM using loop closure for globally consistent
trajectory estimation and mapping.

<ResponseField name="class DPVSLAM()">
  <ResponseField name="use_local" type="boolean" default>
    If True, inference call is run on the local VM, else offloaded onto GRID-Cortex. Defaults to True.
  </ResponseField>

  <ResponseField name="calib" type="np.ndarray" default="True">
    The camera calibration matrix of shape $(4,)$. Defaults to `np.array([320, 320, 320, 240])`.
  </ResponseField>
</ResponseField>

<ResponseField name="def run()">
  <ResponseField name="rgbimage" type="np.ndarray" required="True">
    The input RGB image of shape $(M,N,3)$.
  </ResponseField>

  <ResponseField name="Returns" type="np.ndarray">
    The predicted pose as a 1x6 array.
  </ResponseField>
</ResponseField>

<RequestExample>
  ```python Inference Call theme={null}
  from grid.model.perception.slam.dpv_slam import DPVSLAM
  car = AirGenCar()

  # We will be capturing an image from the AirGen simulator 
  # and run model inference on it.

  img =  car.getImage("front_center", "rgb").data

  model = DPVSLAM(use_local = True)
  result = model.run(image=img)
  ```
</RequestExample>

<Tabs>
  <Tab title="License">
    This code is licensed under the MIT License.
  </Tab>

  <Tab title="Source">
    [https://github.com/princeton-vl/DPVO](https://github.com/princeton-vl/DPVO)
  </Tab>
</Tabs>
