from argschema.fields import Int, Nested, Str, InputFile, List, Dict
from argschema.schemas import DefaultSchema
from marshmallow.validate import OneOf
import marshmallow
from asap.module.schemas import StackTransitionParameters
import asap.utilities.schema_utils
[docs]class ApplyLensCorrectionParameters(StackTransitionParameters):
transform = Nested(TransformParameters)
refId = Str(
allow_none=True, required=True,
description=('Reference ID to use when uploading transform to '
'render database (Not Implemented)'))
labels = List(
Str,
required=False,
missing=['lens'],
default=['lens'],
description="labels for the lens correction transform")
maskUrl = InputFile(
required=False,
default=None,
missing=None,
description='path to level 0 maskUrl to apply to stack'
)
maskUrl_uri = Str(
required=False,
default=None,
missing=None,
description="uri for level 0 mask image to apply")
[docs] @marshmallow.pre_load
def maskUrl_to_uri(self, data):
asap.utilities.schema_utils.posix_to_uri(
data, "maskUrl", "maskUrl_uri")
[docs]class ApplyLensCorrectionOutput(DefaultSchema):
stack = Str(required=True,
description='stack to which transformed tiles were written')
refId = Str(required=True,
description='unique identifier string used as reference ID')
missing_ts_zs = List(
Int,
required=False,
default=[],
missing=[],
cli_as_single_argument=True,
description="Z values for which apply mipmaps failed")