WCS¶
-
class
gwcs.wcs.
WCS
(forward_transform=None, input_frame='detector', output_frame=None, name='')[source]¶ Bases:
gwcs.api.GWCSAPIMixin
Basic WCS class.
Parameters: forward_transform :
Model
or a listThe transform between
input_frame
andoutput_frame
. A list of (frame, transform) tuples whereframe
is the starting frame andtransform
is the transform from this frame to the next one oroutput_frame
. The last tuple is (transform, None), where None indicates the end of the pipeline.input_frame : str,
CoordinateFrame
A coordinates object or a string name.
output_frame : str,
CoordinateFrame
A coordinates object or a string name.
name : str
a name for this WCS
Attributes Summary
available_frames
List all frames in this WCS object. backward_transform
Return the total backward transform if available - from output to input coordinate system. bounding_box
Return the range of acceptable values for each input axis. forward_transform
Return the total forward transform - from input to output coordinate frame. input_frame
Return the input coordinate frame. name
Return the name for this WCS. output_frame
Return the output coordinate frame. pipeline
Return the pipeline structure. unit
The unit of the coordinates in the output coordinate system. Methods Summary
__call__
(*args, **kwargs)Executes the forward transform. fix_inputs
(fixed)Return a new unique WCS by fixing inputs to constant values. footprint
([bounding_box, center, axis_type])Return the footprint in world coordinates. get_transform
(from_frame, to_frame)Return a transform between two coordinate frames. insert_transform
(frame, transform[, after])Insert a transform before (default) or after a coordinate frame. invert
(*args, **kwargs)Invert coordinates. set_transform
(from_frame, to_frame, transform)Set/replace the transform between two coordinate frames. transform
(from_frame, to_frame, *args, **kwargs)Transform positions between two frames. Attributes Documentation
-
available_frames
¶ List all frames in this WCS object.
Returns: available_frames : dict
{frame_name: frame_object or None}
-
backward_transform
¶ Return the total backward transform if available - from output to input coordinate system.
Raises: NotImplementedError :
An analytical inverse does not exist.
-
bounding_box
¶ Return the range of acceptable values for each input axis. The order of the axes is
axes_order
.
-
forward_transform
¶ Return the total forward transform - from input to output coordinate frame.
-
input_frame
¶ Return the input coordinate frame.
-
name
¶ Return the name for this WCS.
-
output_frame
¶ Return the output coordinate frame.
-
pipeline
¶ Return the pipeline structure.
-
unit
¶ The unit of the coordinates in the output coordinate system.
Methods Documentation
-
__call__
(*args, **kwargs)[source]¶ Executes the forward transform.
- args : float or array-like
- Inputs in the input coordinate system, separate inputs for each dimension.
- with_units : bool
- If
True
returns aSkyCoord
orQuantity
object, by using the units of the output cooridnate frame. Optional, default=False. - with_bounding_box : bool, optional
- If True(default) values in the result which correspond to
any of the inputs being outside the bounding_box are set
to
fill_value
. - fill_value : float, optional
- Output value for inputs outside the bounding_box (default is np.nan).
-
fix_inputs
(fixed)[source]¶ Return a new unique WCS by fixing inputs to constant values.
Parameters: fixed : dict
Keyword arguments with fixed values corresponding to
self.selector
.Returns: new_wcs :
WCS
A new unique WCS corresponding to the values in
fixed
.Examples
>>> w = WCS(pipeline, selector={"spectral_order": [1, 2]}) # doctest: +SKIP >>> new_wcs = w.set_inputs(spectral_order=2) # doctest: +SKIP >>> new_wcs.inputs # doctest: +SKIP ("x", "y")
-
footprint
(bounding_box=None, center=False, axis_type='all')[source]¶ Return the footprint in world coordinates.
Parameters: bounding_box : tuple of floats: (start, stop)
prop: bounding_box
center : bool
If
True
use the center of the pixel, otherwise use the corner.axis_type : str
A supported
output_frame.axes_type
or “all” (default). One of [‘spatial’, ‘spectral’, ‘temporal’] or a custom type.Returns: coord : ndarray
Array of coordinates in the output_frame mapping corners to the output frame. For spatial coordinates the order is clockwise, starting from the bottom left corner.
-
get_transform
(from_frame, to_frame)[source]¶ Return a transform between two coordinate frames.
Parameters: from_frame : str or
CoordinateFrame
Initial coordinate frame name of object.
to_frame : str, or instance of
CoordinateFrame
End coordinate frame name or object.
Returns: transform :
Model
Transform between two frames.
-
insert_transform
(frame, transform, after=False)[source]¶ Insert a transform before (default) or after a coordinate frame.
Append (or prepend) a transform to the transform connected to frame.
Parameters: frame : str or
CoordinateFrame
Coordinate frame which sets the point of insertion.
transform :
Model
New transform to be inserted in the pipeline
after : bool
If True, the new transform is inserted in the pipeline immediately after
frame
.
-
invert
(*args, **kwargs)[source]¶ Invert coordinates.
The analytical inverse of the forward transform is used, if available. If not an iterative method is used.
Parameters: args : float, array like,
SkyCoord
orUnit
coordinates to be inverted
kwargs : dict
keyword arguments to be passed to the iterative invert method.
with_bounding_box : bool, optional
If True(default) values in the result which correspond to any of the inputs being outside the bounding_box are set to
fill_value
.fill_value : float, optional
Output value for inputs outside the bounding_box (default is np.nan).
-
set_transform
(from_frame, to_frame, transform)[source]¶ Set/replace the transform between two coordinate frames.
Parameters: from_frame : str or
CoordinateFrame
Initial coordinate frame.
to_frame : str, or instance of
CoordinateFrame
End coordinate frame.
transform :
Model
Transform between
from_frame
andto_frame
.
-
transform
(from_frame, to_frame, *args, **kwargs)[source]¶ Transform positions between two frames.
Parameters: from_frame : str or
CoordinateFrame
Initial coordinate frame.
to_frame : str, or instance of
CoordinateFrame
Coordinate frame into which to transform.
args : float or array-like
Inputs in
from_frame
, separate inputs for each dimension.output_with_units : bool
with_bounding_box : bool, optional
If True(default) values in the result which correspond to any of the inputs being outside the bounding_box are set to
fill_value
.fill_value : float, optional
Output value for inputs outside the bounding_box (default is np.nan).
-