|
META TOPICPARENT |
name="STC" |
STC version 2.0
Goal
Why STC-2.0?
Version 1 of STC was developed in 2007, prior to the development and adoption of vo-dml modeling practices. As we progress to the development of vo-dml compliant component models, it is necessary to revisit those models which define core content. Additionally, the scope of the STC-1.0 model is very broad, making a complete implementation and development of validators, very difficult. As such it may be prudent to break the content of STC-1.0 into component models itself, which as a group, cover the scope of the original.
This effort will start from first principles with respect to defining a specific project use-case, from which requirements will be drawn, satisfied by the model, and implemented in the use-case. We will make use of the original model to ensure that the coverage of concepts is complete and that the models will be compatible. However, the form and structure may be quite different. This model will use vo-dml modeling practices, and model elements may be structured differently to more efficiently represent the concepts.
Context and Scope
Measurement: Describes measured or determined data
- associates the coordinate value with errors
Coordinates: Describes the coordinate domain space
- the coordinate space; axes and domain ranges
- coordinate frames with metadata describing the origin and orientation of the coordinate space
- a general model for specifying coordinate values within the coordinate space
- simple specialized coordinates fro the most common cases
- coordinate systems associating related coordinate frames
Transforms: Describes the mechanism to define data as a function of other data. i.e. to transform data from one 'frame' to another
- atomic transform operations
- operations which combine operations into sequences; either in series or in parallel
- operations which facilitate dimensional manipulation
- add, delete, duplicate dimensions
- shuffle axis order
Participants
domain experts: Jim Bosch (LSST), Ian Evance (SAO); ArnoldRots (retired)
data modeler: MarkCresitelloDittmar
contributors: MarkCresitelloDittmar (editor), ArnoldRots, GerardLemson, OmarLaurino
Uses cases
1) The primary use case for this work is in support of the CubesDM
- focus on N-Dimensional model pixelated image and sparse data cubes;
- General
- knowledge of the pixel and physical domain spaces provided at a high level
- definition of the domain space includes the following criteria
- dimensionality (typically 1,2 or 3 for physical domain), pixel domain may be of any dimension
- axis configuration (for spatial domain which has >1D). The most common configurations for astronomical data are Cartesian and Spherical, but others may be used as well.
- domain range along each axis, typically +/- Inf, but may be limited due to physical constraints (e.g. physical size of a detector, sensitivity limitiations, etc)
- association with additional metadata further describing the nature of the domain space ( Frame ). This is especially true for the Spatial and Temporal domains, but may apply to others as well.
- reference position (location of origin)
- reference frame (orientation of the domain space)
- planetary ephemeris
- equinox
- Pixelated Image Cube
- complete specification of pixel coordinate domain; number of axes, number of pixels per axis
|
|
< < |
-
- mappings of various pixel axes to corresponding physical axes
- spatial domain typically mapping 2-3 pixel axes to like dimensioned physical axes
- other domains are typically 1 dimensional
- pixel axes may be involved in multiple mappings to different physical spaces
- mappings may be stacked to define progressive transitions through a domain (e.g.: pixel -> ccd -> detector -> sky -> wcs )
- intermediate stages may or may not be explicitely defined
|
> > |
-
- image axes
- in pixel domain, are a binned coordinate space with integerized values (pixel indexes)
- mapped to various 'physical' coordinate spaces via transform operations
- any combination of pixel axes may be involved in transform to any given 'physical' space
- any pixel axis may be involved in more than one mapping
- mappings often involve multiple steps executed in sequence
|
|
> > |
-
-
-
- mappings may define a progressive migration in coordinate space (e.g. pixel -> ccd -> detector -> sky -> wcs )
- intermediate stages may or may not be explicitly defined. Therefore, mappings must be stackable in series.
- transform operations should be flexible in covering the n-dimensional space. e.g. Application of Scale operations to 1D, 2D, nD axes.
- pixel axis mappings are typically to a continuous domain, but may also be to a discrete domain such as Polarization state.
- image cubes may have any number of dimensions, but are typically separable into co-dependent axes of 1, 2, or 3 dimensions.
- spatial domain typically 2-3 dimensions
- other domains (time, spectral, polarization), are typically 1 dimensional
|
|
-
- image data value is typically given in a physical domain, but may itself be mapped to other domains
- Sparse Cube
- data axes cover a wide array of physical domains including, but not limited to Spatial, Temporal, Spectral, Polarization,
- individual domains may be represented multiple times in different frames ( ccd, detector, sky; pha, energy )
- data values may have associated errors
- typical error forms include: symmetric( +/- a ), asymmetric( +a:-b ), interval ( a:b ), matrix
- for multi-dimensional: elliptical,
- quality indicators:
- global status, typically numeric
- bit array, where each bit is associated with a particular quality state
- for multi-dimensional data, associated errors may be separable or correlated
|
|
< < |
-
- data axes may be virtual, defined as a mapping from other data axes (same description as above)
|
> > |
-
- data axes may be virtual, defined as a mapping from other data axes
|
|
> > |
-
-
- here, the originating space is not pixelated, but an arbitrary space.
- axes involved in a mapping need not be associated with the same physical domain.
- X,Y = Map(x,y,temp); Transform with spatial and thermal dependence
- dimensionality may change between operations
|
|
- Physical Data (Observables)
- focus the following domains which are frequently included in astronomical data cubes. Domains: Spatial, Spectral, Temporal, Polarization.
- Spatial
- Cartesian space: chip, detector, sky
- Spherical space: Equatorial, Ecliptic, Galactic, LongLat
- Time
- Polarization
- Discrete space: Polarization states (Stokes, Linear, Circular, Vector )
- Spectral
- 1Dimensional: energy, frequency, wavelength
|
|
< < | 2) A implementation project focused on the Transform model. The purpose of which is to exercise the Transform model through a workflow consisting of: |
> > | 2) A implementation project focused on the Transform model to be undertaken by members of LSST and STSci community to evaluate the usability and applicability of the model to their missions. The focus of this project is to exercise the Transform model through a workflow consisting of: |
|
- serialization in YAML of various Transform operation sequences
- the generation and passing thereof between two Transform library implementations
|
|
> > |
- This use case emphasizes the workflow and combination of atomic operations.
- combining operations in parallel to cover the dimension space
- combining operations in sequence to accomplish multi-stage mappings
- management and direction of axes through the operation sequence
- duplicate axes x and y to send pair into 2D-Polynomial transforms, generating x',y'
- from 4D axis set, send axes 1,3 into operation A, axis 2 into operation B, axis 4 into operation C
|
| Requirements
Examination and implementation of the above cases leads to the following set of requirements distributed through the various STC component models. |
|
< < |
-
- [vodml.0001] The model shall be vo-dml compliant, producing a validated vo-dml XML description.
- [vodml.0002] shall re-use, or refer to, dependent models for objects and concepts already defined in other models
- [vodml.0003] shall produce documentation in vo-dml HTML format
- [vodml.0004] shall produce documentation in standard PDF format
|
> > |
-
- [vodml.001] The model shall be vo-dml compliant, producing a validated vo-dml XML description.
- [vodml.002] shall re-use, or refer to, dependent models for objects and concepts already defined in other models
- [vodml.003] shall produce documentation in vo-dml HTML format
- [vodml.004] shall produce documentation in standard PDF format
|
| |
|
< < |
-
- [user.0001] Users should be able to identify and use basic content with minimal specialized information.
|
> > |
-
- [user.001] Users should be able to identify and use basic content with minimal specialized information.
|
|
-
-
- in other words, a generic utility should be able to find and use core elements without knowing a lot about the various extensions and uses of those elements.
|
|
< < |
-
- [user.0002] When applicable, the model should support usability by simplifying common scenarios.
|
> > |
-
- [user.002] When applicable, the model should support usability by simplifying common scenarios.
|
|
-
-
- i.e. keep common things simple, and complex things possible
- Domains
|
|
< < |
-
- [dom.0001] Shall accommodate the description of data in any observable domain
- [dom.0002] Shall provide enhanced/specialized description for data pertaining to * [dom.0002.1] Pixel domain: binned, integerized, n-dimensional domain * [dom.0002.2] Spatial domain: continuous domain, typically in 2-3 dimensional cartesian or spherical spaces * [dom.0002.3] Time domain: continuous 1D domain, typically provided in JD, MJD, ISO, or as an Offset from a zero point * [dom.0002.4] Polarization domain: discrete 1D domain of polarization states.
|
> > |
-
- [dom.001] Shall accommodate the description of data in any observable domain
- [dom.002] Shall provide enhanced/specialized description for data pertaining to * [dom.0002.1] Pixel domain: binned, integerized, n-dimensional domain * [dom.0002.2] Spatial domain: continuous domain, typically in 2-3 dimensional cartesian or spherical spaces * [dom.002.3] Time domain: continuous 1D domain, typically provided in JD, MJD, ISO, or as an Offset from a zero point * [dom.0002.4] Polarization domain: discrete 1D domain of polarization states.
|
| |
|
< < |
-
- [meas.0001] Shall relate a coordinate value with associated errors
- [meas.0002] Shall support multiple error associations per value to describe errors from different sources
- [meas.0003] Any specific error source may appear only once
- [meas.0004] Errors may be correlated between component values ( ie: may apply to coordinate set as a whole )
- [meas.0005] Values associated with different domains may have correlated errors (ie: components of coordinate tuple may refer to different domains, and have non-separable errors)
- [meas.0006] Shall support the most common error forms, including, but not limited to: Symmetrical, Asymmetrical, Interval, Elliptical, Matrix
- [meas.0007] Shall provide specialized objects related to measurements in the priority domains ( Spatial, Spectral, Temporal, Polarization ); leveraging [user.0002] where possible
- [meas.0008] Shall allow for the representation data outside the priority domains
|
> > |
-
- [meas.001] Shall relate a coordinate value with associated errors
- [meas.002] Shall support multiple error associations per value to describe errors from different sources
- [meas.003] Any specific error source may appear only once
- [meas.004] Errors may be correlated between component values ( ie: may apply to coordinate set as a whole )
- [meas.005] Values associated with different domains may have correlated errors (ie: components of coordinate tuple may refer to different domains, and have non-separable errors)
- [meas.006] Shall support the most common error forms, including, but not limited to: Symmetrical, Asymmetrical, Interval, Elliptical, Matrix
- [meas.007] Shall provide specialized objects related to measurements in the priority domains ( Spatial, Spectral, Temporal, Polarization ); leveraging [user.0002] where possible
- [meas.008] Shall allow for the representation data outside the priority domains
|
| |
|
< < |
-
-
- [coords.0001] Shall facilitate the description of the domain space
- [coords.0001.1] Coordinate space shall consist of 1 to N dimensional axes
- [coords.0001.2] Shall support the description of axes which are continuous, binned, and discrete in nature
- [coords.0001.3] Each dimensional axis shall define the domain range of that axis as appropriate for its nature
|
> > |
-
-
- [coords.001] Shall facilitate the description of the domain space
- [coords.001.1] Coordinate space shall consist of 1 to N dimensional axes
- [coords.001.2] Shall support the description of axes which are continuous, binned, and discrete in nature
- [coords.001.3] Each dimensional axis shall define the domain range of that axis as appropriate for its nature
|
| |
|
< < |
-
-
- [coords.0002] Shall facilitate the specification of the nature of the domain, providing additional metadata relevant to the interpretation of coordinates in that domain.
|
> > |
-
-
- [coords.002] Shall facilitate the specification of the nature of the domain, providing additional metadata relevant to the interpretation of coordinates in that domain.
|
| |
|
< < |
-
-
- [coords.0003] Shall identify a location within the coordinate domain space
- [coords.0004] Shall be associated with a corresponding coordinate frame providing metadata relevant to the interpretation of the coordinate
- [coords.0005] Shall be associated with a particular axis of the coordinate space to provide context for the coordinate and facilitate the application of mapping Transforms
- [coords.0006] Shall be complete quantities, including value and units as appropriate
- [coords.0007] Shall support the association of atomic coordinates into a multi-dimensional compound grouping
|
> > |
-
-
- [coords.003] Shall identify a location within the coordinate domain space
- [coords.004] Shall be associated with a corresponding coordinate frame providing metadata relevant to the interpretation of the coordinate
- [coords.005] Shall be associated with a particular axis of the coordinate space to provide context for the coordinate and facilitate the application of mapping Transforms
- [coords.006] Shall be complete quantities, including value and units as appropriate
- [coords.007] Shall support the association of atomic coordinates into a multi-dimensional compound grouping
|
| |
|
< < |
-
-
- [coords.0008] Shall provide for encapsulating the description of the entire domain space
- [coords.0009] for Pixel domain, this must include the full coordinate space description
- [coords.0010] for Physical domains, this must include the Frame specifications, as it is this metadata that is more relevant to users. The coordinate space is typically well defined or implied by the coordinate itself.
|
> > |
-
-
- [coords.008] Shall provide for encapsulating the description of the entire domain space
- [coords.009] for Pixel domain, this must include the full coordinate space description
- [coords.010] for Physical domains, this must include the Frame specifications, as it is this metadata that is more relevant to users. The coordinate space is typically well defined or implied by the coordinate itself.
|
| |
|
< < |
-
- [trans.0001] Shall facilitate the relation of two coordinate frames through a mathematical formula (Transforms)
- [trans.0002] Shall define a set of atomic Transform operations commonly used in astronomical applications
- [trans.0002.1] Linear
- [trans.0002.2] Matrix
- [trans.0002.3] FITS WCS projection
- [trans.0002.4] Lookup
- [trans.0002.5] Polynomial (1D and 2D)
- [trans.0003] Shall allow the combination of operations in sequence, to form complex, multi-stage transforms.
- [trans.0004] Shall allow the combination of operations in parallel to cover the appropriate domain space
- [trans.0005] Shall provide operations to facilitate a work flow that requires manipulation of the dimensional axes through the process
- [trans.0005.1] duplicate axes, e.g. to send axis pair (x,y) into 2 Poly2D operations to form (x',y')
|
> > |
-
- [trans.001] Shall facilitate the relation of two coordinate frames through a mathematical formula (Transforms)
- [trans.002] Shall define a set of atomic Transform operations commonly used in astronomical applications
- [trans.002.1] at a minimum, will accomodate common operations found in FITS images and data cubes, including but not limited to:
- Linear, Matrix, FITS WCS projection, Lookup table, Polynomial (1D and 2D)
- [trans.002.2] shall accommodate and be compatible with established implementation packages AST, and gWCS
- [trans.003] Shall allow the combination of operations in sequence, to form complex, multi-stage transforms.
- [trans.004] Shall allow the combination of operations in parallel to cover the appropriate domain space
- [trans.005] Shall provide operations to facilitate a work flow that requires manipulation of the dimensional axes through the process
- [trans.005.1] duplicate axes, e.g. to send axis pair (x,y) into 2 Poly2D operations to form (x',y')
- [trans.005.2] shuffle axis order [x,y,z] => [x,z,y]
- [trans.005.3] add or drop dimensions
|
|
< < |
-
-
- [trans.0005.2] add or drop dimensions
|
|
Documents
Latest Document:
The current documentation may be found on Volute:
Volute:
The current working draft of the document, including all images and source document can be found in the volute repository.. here
UML Model:
We also provide an export of the UML specification in XMI format (version 2.4.1), which is compatible with the vo-dml xslt scripts for generating the vo-dml XML representation.
vo-dml:
VO-DML XML serialization of the model and corresponding HTML page are here
Discussion Topics
Significant discussion threads from dm working group mailing list:
STC2 and VO-DML compliance:
Discussion on conflicts between stc2 model and vo-dml rules, specifically regarding the multiplicity of attributes.
Cube dependencies
Working Draft Review: |
|
< < | |
> > | |
| |
|
> > | |
| |
|
> > | |
| Implementations
Notes
Modifying content added by: -- ArnoldRots - 2017-11-07
Rather than proposing a set of shortcut elements for the model, we are transforming it to a list of Astronomical properties which should be supported by the model and the current means of representing them. |
|
< < | Property | Coordinate | Frame | Description | Notes | Time | JD | TimeFrame | Time as a Julian Date | | | MJD | TimeFrame | Time as a Modified Julian Date | | | ISOTime | TimeFrame | Time as a structured string | | | TimeOffset | TimeFrame | Time as an offset from a zero point | | | | | | | ra | Longitude | SpaceFrame | Right Ascension | Coordinate in a spherical space with an equatorial reference frame | dec | Latitude | SpaceFrame | Declination | l | Longitude | SpaceFrame | Galactic longitude | Coordinate in a spherical space with a galactic reference frame | b | Latitude | SpaceFrame | Galactic latitude | elong | Longitude | SpaceFrame | Ecliptic longitude | Coordinate in a spherical space with a ecliptic reference frame | elat | Latitude | SpaceFrame | Ecliptic latitude | long | Longitude | SpaceFrame | Longitude | | |
> > | Property | Coordinate | Frame | Description | Notes | Time | JD | TimeFrame | Time as a Julian Date | | | MJD | TimeFrame | Time as a Modified Julian Date | | | ISOTime | TimeFrame | Time as a structured string | | | TimeOffset | TimeFrame | Time as an offset from a zero point | | | | | | | ra | Longitude | SpaceFrame | Right Ascension | Coordinate in a spherical space with an equatorial reference frame | dec | Latitude | SpaceFrame | Declination | l | Longitude | SpaceFrame | Galactic longitude | Coordinate in a spherical space with a galactic reference frame | b | Latitude | SpaceFrame | Galactic latitude | elong | Longitude | SpaceFrame | Ecliptic longitude | Coordinate in a spherical space with a ecliptic reference frame | elat | Latitude | SpaceFrame | Ecliptic latitude | long | Longitude | SpaceFrame | Longitude | | |
|
Coordinate in a spherical space; any spherical reference frame other than those listed above |
|
< < | lat | Latitude | SpaceFrame | Latitude | r | R | SpaceFrame | Radius | x | X | SpaceFrame | Cartesian X | Coordinate in a cartesian space; may be combined with any reference frame | y | Y | SpaceFrame | Cartesian Y | z | Z | SpaceFrame | Cartesian Z | | | | | | Energy | PhysicalCoordValue | none | Spectral data expressed as energy | | Frequency | PhysicalCoordValue | none | Spectral data expressed as frequency | | Wavelength | PhysicalCoordValue | none | Spectral data expressed as wavelength | reqs refraction index? | | | | | | Polarization | PolStokes | none | Polarization states - Stokes | Discrete axis | | PolCircular | none | Polarization states - Circular | | | PolLinear | none | Polarization states - Linear | | | PolVector | none | Polarization states - Vector | | |
> > | lat | Latitude | SpaceFrame | Latitude | r | R | SpaceFrame | Radius | x | X | SpaceFrame | Cartesian X | Coordinate in a cartesian space; may be combined with any reference frame | y | Y | SpaceFrame | Cartesian Y | z | Z | SpaceFrame | Cartesian Z | | | | | | Energy | PhysicalCoordValue | none | Spectral data expressed as energy | | Frequency | PhysicalCoordValue | none | Spectral data expressed as frequency | | Wavelength | PhysicalCoordValue | none | Spectral data expressed as wavelength | reqs refraction index? | | | | | | Polarization | PolStokes | none | Polarization states - Stokes | Discrete axis | | PolCircular | none | Polarization states - Circular | | | PolLinear | none | Polarization states - Linear | | | PolVector | none | Polarization states - Vector | | |
|
To be migrated
|
|
< < | Type | Description | Constraints | pmra | RealQuantity | Proper motion in RA | These five attributes may appear together and require a spherical space and an equatorial reference frame | pmdec | RealQuantity | Proper motion in Dec | pml | RealQuantity | Proper motion in Galactic longitude | These four attributes may appear together and require a spherical space and a Galactic reference frame | pmb | RealQuantity | Proper motion in Galactic latitude | vx | RealQuantity | Cartesian X velocity
| These six attributes may appear together, require a Cartesian space and may be combined with any reference frame | vy | RealQuantity | Cartesian Y velocity
| vz | RealQuantity | Cartesian Z velocity
| pmelong | RealQuantity | Proper motion in Ecliptic longitude | These four attributes may appear together and require a spherical space and an ecliptic reference frame | pmelat | RealQuantity | Proper motion in Ecliptic latitude | pmlong | RealQuantity | Proper motion in longitude | These five attributes may appear together and require a spherical space and any spherical reference frame other than the ones specified above
| pmlat | RealQuantity | Proper motion in latitude | dircosx | real | Direction cosine along X (unit sphere) | These three attributes may appear together, require a unit sphere space and may be combined with any reference frame | dircosy | real | Direction cosine along Y (unit sphere) | dircosz | real | Direction cosine along Z (unit sphere) | redshift | | 'z' | redshift | | doppler velocity - optical | redshift | | doppler velocity - radio | redshift | | doppler velocity - relativistic | |
> > | Type | Description | Constraints | pmra | RealQuantity | Proper motion in RA | These five attributes may appear together and require a spherical space and an equatorial reference frame | pmdec | RealQuantity | Proper motion in Dec | pml | RealQuantity | Proper motion in Galactic longitude | These four attributes may appear together and require a spherical space and a Galactic reference frame | pmb | RealQuantity | Proper motion in Galactic latitude | vx | RealQuantity | Cartesian X velocity
| These six attributes may appear together, require a Cartesian space and may be combined with any reference frame | vy | RealQuantity | Cartesian Y velocity
| vz | RealQuantity | Cartesian Z velocity
| pmelong | RealQuantity | Proper motion in Ecliptic longitude | These four attributes may appear together and require a spherical space and an ecliptic reference frame | pmelat | RealQuantity | Proper motion in Ecliptic latitude | pmlong | RealQuantity | Proper motion in longitude | These five attributes may appear together and require a spherical space and any spherical reference frame other than the ones specified above
| pmlat | RealQuantity | Proper motion in latitude | dircosx | real | Direction cosine along X (unit sphere) | These three attributes may appear together, require a unit sphere space and may be combined with any reference frame | dircosy | real | Direction cosine along Y (unit sphere) | dircosz | real | Direction cosine along Z (unit sphere) | redshift | | 'z' | redshift | | doppler velocity - optical | redshift | | doppler velocity - radio | redshift | | doppler velocity - relativistic | |
|
META TOPICMOVED |
by="GiuliaIafrate" date="1452001555" from="Main.STC2" to="IVOA.STC2" |
|