postgis – map extent variable python funcion qgis

Estoy creando un script para seleccionar un valor de una tabla y que me cree un pdf automático en el que se visualice una imagen georreferenciada y un polígono. La imagen georreferenciada es un valor en la tabla de atributos de la capa de polígnos.

No consigo crear un extent variable en función de la xmin, y min, xmax, y max de la imagen asociada.

from qgis.core import QgsProcessing
from qgis.core import QgsProcessingAlgorithm
from qgis.core import QgsProcessingMultiStepFeedback
from qgis.core import QgsProcessingParameterString
from qgis.core import QgsProcessingParameterVectorLayer
from qgis.core import QgsProcessingParameterFileDestination
import processing


class pdf(QgsProcessingAlgorithm):

def initAlgorithm(self, config=None):
    self.addParameter(QgsProcessingParameterString('PROVINCIA1', 'PROVINCIA1', multiLine=False, defaultValue=''))
    self.addParameter(QgsProcessingParameterVectorLayer('provincias', 'provincias', defaultValue=None))
    self.addParameter(QgsProcessingParameterFileDestination('salida', 'salida', fileFilter='Formato PDF (*.pdf *.PDF)', createByDefault=True, defaultValue=None))

def processAlgorithm(self, parameters, context, model_feedback):
    # Use a multi-step feedback, so that individual child algorithm progress reports are adjusted for the
    # overall progress through the model
    feedback = QgsProcessingMultiStepFeedback(2, model_feedback)
    results = {}
    outputs = {}

    # Seleccionar por atributo
    alg_params = {
        'FIELD': 'PROVINCIA',
        'INPUT': parameters('provincias'),
        'METHOD': 0,
        'OPERATOR': 0,
        'VALUE': parameters('PROVINCIA1')
    }
    outputs('SeleccionarPorAtributo') = processing.run('qgis:selectbyattribute', alg_params, context=context, feedback=feedback, is_child_algorithm=True)

    feedback.setCurrentStep(1)
    if feedback.isCanceled():
        return {}

    # Export atlas layout as PDF
    alg_params = {
        'COVERAGE_LAYER': outputs('SeleccionarPorAtributo')('OUTPUT'),
        'DISABLE_TILED': False,
        'DPI': None,
        'FILTER_EXPRESSION': ' "PROVINCIA" = 'PROVINCIA1'',
        'FORCE_VECTOR': False,
        'GEOREFERENCE': True,
        'INCLUDE_METADATA': True,
        'LAYERS': None,
        'LAYOUT': 'IMAGENES',
        'SIMPLIFY': True,
        'SORTBY_EXPRESSION': ' "PROVINCIA" ',
        'SORTBY_REVERSE': True,
        'TEXT_FORMAT': 0,
        'OUTPUT': parameters('salida')
    }
    outputs('ExportAtlasLayoutAsPdf') = processing.run('native:atlaslayouttopdf', alg_params, context=context, feedback=feedback, is_child_algorithm=True)
    results('Salida') = outputs('ExportAtlasLayoutAsPdf')('OUTPUT')
    return results

def name(self):
    return 'pdf'

def displayName(self):
    return 'pdf'

def group(self):
    return 'script'

def groupId(self):
    return 'script'

def createInstance(self):
    return pdf()

Se que se puede añadir en editar extent en el atlas una expresión tal que xmin (geometría (getFeature (‘marco’, ‘gid’, 1))) ymin (geometría (getFeature (‘marco’, ‘gid’, 1))) xmax (geometría (getFeature (‘marco’, ‘gid’, 1))) ymax (geometría (getFeature (‘frame’, ‘gid’, 1))), pero no se como implementarlo en mi caso.

Cualquier ayuda es bien recibida.
Gracias.