Writers

Writers are one of the many components supported by the VirtuaLearn3D (VL3D) framework. They are especially useful to design custom pipelines because they allow to write data from the state variables (e.g., the point cloud) at different moments during execution. In this section, the many available writers are commented. Readers are strongly encouraged to get familiar with the idea of pipelines (see page on pipelines).

Writer

The Writer is the most simple writer in the framework. It takes the point cloud at the current pipeline’s state and exports it as it is. A Writer can be defined inside a pipeline using the JSON below:

{
    "writer": "Writer",
    "out_pcloud": "my_pointcloud.las"
}

The JSON above defines a Writer that will export the point cloud to a LAZ file called my_pointcloud.las.

Model writer

The ModelWriter does what its name says. It exports the model as it is at the current pipeline’s state. The recommendation is to write the models to files ending with a .model extension. A ModelWriter can be defined inside a pipeline using the JSON below:

{
    "writer": "ModelWriter",
    "out_model": "my_random_forest.model"
}

The JSON above defines a Writer that will export the model to a file called my_random_forest.model.

Predictions writer

The PredictionsWriter does what its name says. It exports the available predictions at the current pipeline’s state. Typically, the predictions are exported to text files as a column of labels. A PredictionsWriter can be defined inside a pipeline using the JSON below:

{
    "writer": "PredictionsWriter",
    "out_preds": "my_predictions.lbl"
}

The JSON above defines a PredictionsWriter that will export the predictions to a file called my_predictions.lbl.

Classified point cloud writer

The ClassifiedPcloudWriter does more stuff than the baseline PredictionsWriter. More concretely, it analyzes the pipeline’s state to generate a state-dependent output. If there are predictions available, they will be incorporated to the point cloud and exported as a LAS/LAZ file for further visualization. On top of that, if the classification labels are available in the point cloud, a new attribute called Success will be added. This new attribute takes a value of one when the prediction matches the reference label and zero when it does not. A ClassifiedPcloudWriter can be defined inside a pipeline using the JSON below:

{
    "writer": "ClassifiedPcloudWriter",
    "out_pcloud": "my_classified_pcloud.las"
}

The JSON above defines a ClassifiedPcloudWriter that will export the classified point cloud to a file called my_classified_pcloud.las.

Predictive pipeline writer

The PredictivePipelineWriter is meant to be used in sequential pipelines that train a model to export the model together with the many components in the pipeline that are necessary to reproduce the predictions, e.g., feature transformation or data mining components. A PredictivePipelineWriter can be defined inside a pipeline using the JSON below. For better understanding, readers are referred to the documentation of predictive pipelines.

{
    "writer": "PredictivePipelineWriter",
    "out_pipeline": "my_pwise_classif.pipe",
    "include_writer": false,
    "include_imputer": true,
    "include_feature_transformer": true,
    "include_miner": true,
    "include_class_transformer": true,
    "include_clustering": false,
    "ignore_predictions": false
}

The JSON above defines a PredictivePipelineWriter that will export a sequential pipeline transformed to a predictive pipeline. The pipeline will be stored in a file called my_pwise_classif.pipe. The boolean flags govern what components are exported together with the model. For instance, setting a include_imputer to true implies any imputation strategy in the pipeline will be exported together with the model (in the same sequential order). However, setting it to false implies imputation strategies considered during training will not be part of the predictive pipeline.