class PhysicalCoordSys(CoordSys): coord_space = Composition('coords:PhysicalCoordSys.coordSpace', min_occurs=0, max_occurs=1) frame = Composition('coords:PhysicalCoordSys.frame', min_occurs=0, max_occurs=1)
class DataProduct: coord_sys = Composition('cube:DataProduct.coordSys', min_occurs=1, max_occurs=-1) mappings = Composition('cube:DataProduct.mappings', min_occurs=0, max_occurs=1)
class Curation(BaseType): publisher_d_i_d = Attribute('ds:dataset.Curation.publisherDID', min_occurs=0, max_occurs=1) version = Attribute('ds:dataset.Curation.version', min_occurs=0, max_occurs=1) release_date = Attribute('ds:dataset.Curation.releaseDate', min_occurs=0, max_occurs=1) rights = Attribute('ds:dataset.Curation.rights', min_occurs=0, max_occurs=1) publisher = Composition('ds:dataset.Curation.publisher', min_occurs=1, max_occurs=1) contact = Composition('ds:dataset.Curation.contact', min_occurs=0, max_occurs=1) reference = Composition('ds:dataset.Curation.reference', min_occurs=0, max_occurs=-1)
class DataProduct(BaseType): coord_sys = Composition('cube:DataProduct.coordSys', min_occurs=1, max_occurs=-1) mappings = Composition('cube:DataProduct.mappings', min_occurs=0, max_occurs=1) dataset = Reference('cube:DataProduct.dataset', min_occurs=1, max_occurs=1)
class PhotCal(BaseType): zero_point = Composition('photdm-alt:PhotCal.zeroPoint', min_occurs=1, max_occurs=1) magnitude_system = Composition('photdm-alt:PhotCal.magnitudeSystem', min_occurs=1, max_occurs=1) photometry_filter = Reference('photdm-alt:PhotCal.photometryFilter', min_occurs=1, max_occurs=1)
class DataID(BaseType): title = Attribute('ds:dataset.DataID.title', min_occurs=1, max_occurs=1) dataset_i_d = Attribute('ds:dataset.DataID.datasetID', min_occurs=0, max_occurs=1) creator_d_i_d = Attribute('ds:dataset.DataID.creatorDID', min_occurs=0, max_occurs=1) version = Attribute('ds:dataset.DataID.version', min_occurs=0, max_occurs=1) date = Attribute('ds:dataset.DataID.date', min_occurs=0, max_occurs=1) creation_type = Attribute('ds:dataset.DataID.creationType', min_occurs=0, max_occurs=1) creator = Composition('ds:dataset.DataID.creator', min_occurs=0, max_occurs=1) contributor = Composition('ds:dataset.DataID.contributor', min_occurs=0, max_occurs=-1) collection = Composition('ds:dataset.DataID.collection', min_occurs=0, max_occurs=-1)
class Voxel(BaseType): pixel_axis = Composition('cube:Voxel.pixelAxis', min_occurs=1, max_occurs=-1) value_axis = Composition('cube:Voxel.valueAxis', min_occurs=1, max_occurs=1) coord_axis = Composition('cube:Voxel.coordAxis', min_occurs=0, max_occurs=-1)
class Source(BaseType): name = Attribute('source:Source.name', min_occurs=0, max_occurs=1) classification = Attribute('source:Source.classification', min_occurs=0, max_occurs=1) luminosity = Composition('source:Source.luminosity', min_occurs=0, max_occurs=-1) position = Composition('source:Source.position', min_occurs=1, max_occurs=-1)
class Dataset: data_product_type = Attribute('ds:dataset.Dataset.dataProductType', min_occurs=1, max_occurs=1) data_product_subtype = Attribute('ds:dataset.Dataset.dataProductSubtype', min_occurs=0, max_occurs=1) curation = Composition('ds:dataset.Dataset.curation', min_occurs=1, max_occurs=1) data_id = Composition('ds:dataset.Dataset.dataID', min_occurs=1, max_occurs=1)
class ObsConfig: bandpass = Attribute('ds:experiment.ObsConfig.bandpass', min_occurs=0, max_occurs=1) datasource = Attribute('ds:experiment.ObsConfig.datasource', min_occurs=0, max_occurs=1) facility = Composition('ds:experiment.ObsConfig.facility', min_occurs=0, max_occurs=1) instrument = Composition('ds:experiment.ObsConfig.instrument', min_occurs=0, max_occurs=1)
class AbstractSource(AstroObject): name = Attribute('sample:catalog.AbstractSource.name', min_occurs=1, max_occurs=1) description = Attribute('sample:catalog.AbstractSource.description', min_occurs=0, max_occurs=1) position = Attribute('sample:catalog.AbstractSource.position', min_occurs=1, max_occurs=1) position_error = Attribute('sample:catalog.AbstractSource.positionError', min_occurs=0, max_occurs=1) classification = Attribute('sample:catalog.AbstractSource.classification', min_occurs=1, max_occurs=1) luminosity = Composition('sample:catalog.AbstractSource.luminosity', min_occurs=0, max_occurs=-1)
class Observation: observation_i_d = Attribute('ds:experiment.Observation.observationID', min_occurs=1, max_occurs=1) obs_config = Composition('ds:experiment.Observation.obsConfig', min_occurs=1, max_occurs=1) result = Composition('ds:experiment.Observation.result', min_occurs=0, max_occurs=-1) target = Composition('ds:experiment.Observation.target', min_occurs=1, max_occurs=1) proposal = Composition('ds:experiment.Observation.proposal', min_occurs=0, max_occurs=1)
class DataAxis: dependent = Attribute('cube:DataAxis.dependent', min_occurs=1, max_occurs=1) measurement = Composition('cube:DataAxis.measurement', min_occurs=1, max_occurs=1)
class MagnitudeSystem(BaseType): type = Attribute('photdm-alt:MagnitudeSystem.type', min_occurs=0, max_occurs=1) reference_spectrum = Attribute( 'photdm-alt:MagnitudeSystem.referenceSpectrum', min_occurs=0, max_occurs=1) source = Composition('photdm-alt:MagnitudeSystem.source', min_occurs=0, max_occurs=-1)
class PhotometricSystem(BaseType): description = Attribute('photdm-alt:PhotometricSystem.description', min_occurs=0, max_occurs=1) detector_type = Attribute('photdm-alt:PhotometricSystem.detectorType', min_occurs=1, max_occurs=1) photometry_filter = Composition( 'photdm-alt:PhotometricSystem.photometryFilter', min_occurs=1, max_occurs=-1)
class PhotometryFilter(BaseType): fps_identifier = Attribute('photdm-alt:PhotometryFilter.fpsIdentifier', min_occurs=1, max_occurs=1) identifier = Attribute('photdm-alt:PhotometryFilter.identifier', min_occurs=1, max_occurs=1) name = Attribute('photdm-alt:PhotometryFilter.name', min_occurs=1, max_occurs=1) description = Attribute('photdm-alt:PhotometryFilter.description', min_occurs=1, max_occurs=1) band_name = Attribute('photdm-alt:PhotometryFilter.bandName', min_occurs=1, max_occurs=1) data_validity_from = Attribute( 'photdm-alt:PhotometryFilter.dataValidityFrom', min_occurs=1, max_occurs=1) data_validity_to = Attribute('photdm-alt:PhotometryFilter.dataValidityTo', min_occurs=1, max_occurs=1) spectral_location = Attribute( 'photdm-alt:PhotometryFilter.spectralLocation', min_occurs=1, max_occurs=1) band_width = Attribute('photdm-alt:PhotometryFilter.bandWidth', min_occurs=1, max_occurs=1) transmission_point = Composition( 'photdm-alt:PhotometryFilter.transmissionPoint', min_occurs=0, max_occurs=-1) access = Composition('photdm-alt:PhotometryFilter.access', min_occurs=0, max_occurs=1)
class ObsDataset(Dataset): calib_level = Attribute('ds:experiment.ObsDataset.calibLevel', min_occurs=0, max_occurs=1) derived = Composition('ds:experiment.ObsDataset.derived', min_occurs=0, max_occurs=1) target = Reference('ds:experiment.ObsDataset.target', min_occurs=1, max_occurs=1) proposal = Reference('ds:experiment.ObsDataset.proposal', min_occurs=0, max_occurs=1) obs_config = Reference('ds:experiment.ObsDataset.obsConfig', min_occurs=0, max_occurs=1)
class Detection(Source): source_image = Composition('source:Detection.sourceImage', min_occurs=1, max_occurs=-1)
class AstroCoordSystem(CoordSys): coord_sys = Composition('coords:AstroCoordSystem.coordSys', min_occurs=1, max_occurs=-1)
class Catalogue(BaseType): source = Composition('source:Catalogue.source', min_occurs=0, max_occurs=-1)
class XMatchTuple(Source): source = Composition('source:XMatchTuple.source', min_occurs=1, max_occurs=-1)
class NDImage(DataProduct): data = Composition('cube:NDImage.data', min_occurs=0, max_occurs=-1) pixel_coord_sys = Composition('cube:NDImage.pixelCoordSys', min_occurs=1, max_occurs=1)
class SparseCube(DataProduct): data = Composition('cube:SparseCube.data', min_occurs=0, max_occurs=-1)
class NDPoint(BaseType): observable = Composition('cube:NDPoint.observable', min_occurs=0, max_occurs=-1)
class Derived: derived_element = Composition('ds:experiment.Derived.derivedElement', min_occurs=0, max_occurs=-1)
class MeasurementAxis(DataAxis): measure = Composition('cube:MeasurementAxis.measure', min_occurs=1, max_occurs=1)
class CoordMeasure(Measure): coord = Attribute('meas:CoordMeasure.coord', min_occurs=1, max_occurs=1) error = Composition('meas:CoordMeasure.error', min_occurs=0, max_occurs=1)
class Measure(BaseType): ucd = Attribute('meas:Measure.ucd', min_occurs=0, max_occurs=1) error = Composition('meas:Measure.error', min_occurs=0, max_occurs=1)
class PixelCoordSystem(CoordSys): pixel_space = Composition( 'coords:domain.pixel.PixelCoordSystem.pixelSpace', min_occurs=1, max_occurs=1)
class CoordSpace: axis = Composition('coords:CoordSpace.axis', min_occurs=1, max_occurs=-1)