<div dir="ltr"><br><div><div><div><div><div><div><div><div><div><div>Arnold,<br><br></div>There
is an object in the STC2 prototype contained in the DatasetMetadata
model which is not included in the STC2 model that I'd like to bring up
for discussion.<br><br></div>The object is the "Mapping" object in
section 6.11. In the prototype, it is a collection of FTransform
objects in a composition relation.<br></div>Basically, this object owns
and maintains the set of Transforms associated with the DataProduct.
The Mapping object hangs directly <br></div>off of DataProduct along
side the CoordSys (see Section 3 of Cube model). The PixelFrame then,
holds a reference to the appropriate Transform in Mapping (Section 6.8
of DatasetMetadata model).<br><br></div>One benefit of this object, is
that it encapsulates all of the transform information (WCS) into one
container, which is then easily accessible by the DAL protocols. <br><br></div>In the posted STC2 model diagrams, the connections are somewhat different.<br></div><div> + there is no Mapping container ( has never been part of your model )<br></div> + the PixelFrameTransforms are owned (composition relation) by the PixelFrame, so they are tightly bound.<br> + the FrameTransform ( for mapping between non-pixel coordinate frames) has no containing object.<br><br></div><div>I think there are 3 concerns here:<br></div> 1) It is unclear to me where the FrameTransform objects would reside if one were to use them.. in a data product (Image)<br></div> 2) It seems to me that there may be use cases where a data product would contain multiple images of the same shape<br></div><div> which share coordinate systems ( source and bkg images maybe ?). In such a case, one would want the pixel frames<br></div><div> of each image to share the same transform definitions. I admit, this hasn't been thought through, but the current <br></div><div> design doesn't permit the sharing of a PixelFrameTransform.<br></div><div> 3) For the DAL use case, to get a container describing the wcs descriptions for the dataset, one would have to scan <br></div><div>
the PixelCoordSystem->PixelFrame-s to fine the PixelFrame
Transforms, and then the ?? objects to get the FrameTransforms<br></div><div> and create an object with references to those.<br><br></div><br><div>I Hope this makes sense.<br></div>Mark<br><br></div>