astRemapFrameastRemapFrame - Modify a Frame's relationship to other Frames in a FrameSet

Description:
This function modifies the relationship (i.e. MappingMapping) between a specified FrameFrame in a FrameSetFrameSet and the other Frames in that FrameSet.

Typically, this might be required if the FrameSet has been used to calibrate (say) an image, and that image is re-binned. The Frame describing the image will then have undergone a coordinate transformation, and this should be communicated to the associated FrameSet using this function.

Synopsis:
void astRemapFrame( AstFrameSet $*$this, int iframe, AstMapping $*$map )
Parameters:
this
Pointer to the FrameSet.
iframe
The index within the FrameSet of the Frame to be modified. This value should lie in the range from 1 to the number of Frames in the FrameSet (as given by its NframeNframe attribute).
map
Pointer to a Mapping whose forward transformation converts coordinate values from the original coordinate system described by the Frame to the new one, and whose inverse transformation converts in the opposite direction.
Notes:
  • A value of AST__BASE or AST__CURRENT may be given for the "iframe" parameter to specify the base Frame or the current Frame respectively.

  • The relationship between the selected Frame and any other Frame within the FrameSet will be modified by this function, but the relationship between all other Frames in the FrameSet remains unchanged.

  • The number of input coordinate values accepted by the Mapping (its NinNin attribute) and the number of output coordinate values generated (its NoutNout attribute) must be equal and must match the number of axes in the Frame being modified.

  • If a simple change of axis order is required, then the astPermAxesastPermAxes function may provide a more straightforward method of making the required changes to the FrameSet.

  • This function cannot be used to change the number of Frame axes. To achieve this, a new Frame must be added to the FrameSet (astAddFrameastAddFrame) and the original one removed if necessary (astRemoveFrameastRemoveFrame).

  • Any variant Mappings associated with the remapped Frame (except for the current variant) will be lost as a consequence of calling this method (see attribute "VariantVariant").