# BaseProcessor { #brdr.processor.BaseProcessor }

```python
processor.BaseProcessor(config, feedback=None)
```

Abstract base class for geometric alignment processors.

The processor is responsible for the core alignment logic between thematic
geometries and reference data. It provides a standardized pipeline for
processing, cleaning, and validating resulting geometries.

## Attributes {.doc-section .doc-section-attributes}

| Name     | Type                                              | Description                                                       |
|----------|---------------------------------------------------|-------------------------------------------------------------------|
| config   | [ProcessorConfig](`brdr.configs.ProcessorConfig`) | Configuration object containing thresholds and strategy settings. |
| feedback | ([Any](`typing.Any`), [optional](`optional`))     | Feedback mechanism for reporting progress or logs.                |
| logger   | [Logger](`brdr.logger.Logger`)                    | Internal logger for debugging and user feedback.                  |

## Methods

| Name | Description |
| --- | --- |
| [process](#brdr.processor.BaseProcessor.process) | Abstract method to align a single geometry to the reference layer. |

### process { #brdr.processor.BaseProcessor.process }

```python
processor.BaseProcessor.process(
    correction_distance,
    reference_data,
    input_geometry,
    mitre_limit,
    relevant_distance,
    thematic_data,
    id_thematic,
)
```

Abstract method to align a single geometry to the reference layer.

#### Parameters {.doc-section .doc-section-parameters}

| Name                | Type                                                                     | Description                                               | Default    |
|---------------------|--------------------------------------------------------------------------|-----------------------------------------------------------|------------|
| correction_distance | [float](`float`)                                                         | Small buffer distance used to filter out geometric noise. | _required_ |
| reference_data      | [AlignerFeatureCollection](`brdr.feature_data.AlignerFeatureCollection`) | The collection of reference geometries (the 'target').    | _required_ |
| input_geometry      | [BaseGeometry](`shapely.geometry.base.BaseGeometry`)                     | The thematic geometry to be aligned.                      | _required_ |
| mitre_limit         | [float](`float`)                                                         | The mitre limit used for buffering operations.            | _required_ |
| relevant_distance   | [float](`float`)                                                         | The maximum distance within which alignment should occur. | _required_ |
| thematic_data       | [AlignerFeatureCollection](`brdr.feature_data.AlignerFeatureCollection`) | The full thematic collection for context.                 | _required_ |
| id_thematic         | [Any](`typing.Any`)                                                      | The unique identifier of the feature being processed.     | _required_ |

#### Returns {.doc-section .doc-section-returns}

| Name   | Type                                          | Description                                                            |
|--------|-----------------------------------------------|------------------------------------------------------------------------|
|        | [ProcessResult](`brdr.typings.ProcessResult`) | A dictionary containing the resulting geometry and difference metrics. |