=========== CarsDataset =========== .. _cars_dataset: .. role:: raw-html(raw) :format: html :raw-html:`

CarsDataset

` **Goals** *CarsDataset* is the CARS internal data structure. The data used within CARS imposes some restrictions that the structure must manage: * can contains array (ex: for images) or list of point (ex: for sparse matches). * can contains georeference, geometry information. * can be used for parallel/distributed computation, i.e tiled data. * can contained overlaps between tiled data; *CarsDataset* aims at defining a generic data structure that takes into account this constraints. **Details** .. figure:: ../../images/Carsdataset.png :align: center :alt: CarsDataset concept Here is an example of one dataset with all needed information. *Attributes* * *type* : CarsDataset can manage `Xarray.dataset` or `pandas.DataFrame` * *tiles* : List of list of `Xarray.dataset` or `pandas.DataFrame`. Include overlaps. example: blue + orange zone on the previous drawing. * *tiling_grid* : coordinate position of each tile. example: for the first tile on the previous drawing: [x0 ,x1,y0,y1] * *overlaps* : coordinate position of eachtile + overlaps example: for the first tile on the previous drawing: [x0 ,x1+ox,y0,y1+oy] * *attributes* : all needed extra information It is important to note that a tile, if even if you'decided to use `Xarray.dataset` or `pandas.DataFrame` could be a `delayed` or `future` related to `dask` definition. See next sections. *Functions* *CarsDataset* integrates all functions for manipulating the data throughout the framework: * for saving a whole dataset : `save_cars_dataset` * for loading a dataset written on disk: `load_cars_dataset_from_disk` * for creating a dataset from another one (same tiling_grid and overlaps) `create_empty_copy` * for saving dataset tile by tile with futur results, `run_save`, see next sections.