Package library
Requests to SAOImage/DS9
SAOImageDS9.ds9get — Functionds9get([apt,] args...; kwds...) -> r::AbstractString
ds9get(T::Type, [apt,] args...; kwds...) -> r::TSend a single XPA get command to SAOImage/DS9.
The command is made of arguments args... converted into strings and concatenated with separating spaces.
Optional argument T is to specify the type of value to extract from the answer of the command:
If
Tiseltype(XPA.Reply),ris the un-processed answer of the command. The caller may use propertiesr.data,r.message,r.has_message,r.has_erroretc. to deal with it. In all other cases, the answer is interpreted as an ASCII string, the so-called textual answer.If
Tis unspecified, the textual answer is returned without its trailing newline ('\n'character).If
TisString, the textual answer is returned (without discarding any characters).If
Tis a scalar type, a value of this type is parsed in the textual answer and returned.If
Tis a tuple or vector type, the textual answer is split into words which are scanned for 0, 1, or more values according to the type(s) of the entries ofT.
Optional argument apt is to specify another access-point to a SAOImage/DS9 server than the default one.
If T and apt are both specified, their order is irrelevant.
For example:
julia> ds9get(Tuple{Float64,Float64,Float64}, "iexam {$x $y $value}")
(693.0, 627.0, 64.0)
julia> ds9get(Tuple{Int,Int}, "fits size")
(1024, 1024)
julia> ds9get(Bool, "frame has amplifier")
false
julia> ds9get(Tuple{String,VersionNumber}, "version")
("ds9-8.7b1", v"8.7.0-b1")
See also
ds9connect and ds9set.
The page https://ds9.si.edu/doc/ref/xpa.html for a list of XPA commands implemented by SAOImage/DS9. This documentation is also available via the menu Help > Reference Manual > XPA Access Points of SAOImage/DS9.
ds9get(A::Type{<:Array} [, apt]; kwds...) -> arr::AReturns the contents of current SAOImage/DS9 frame as an array.
Result type A may be Array, Array{T}, Array{T,N}, etc. depending on which type parameters are known (or imposed). Having a more qualified array type A reduces the uncertainty of the result.
ds9get(VersionNumber [, apt]; kwds...)Retrieve the version of SAOImage/DS9.
SAOImageDS9.ds9set — Functionds9set([apt,] args...; data=nothing, throwerrors=true, quiet=false, kwds...)Send a single XPA set command to SAOImage/DS9.
The command is made of arguments args... converted into strings and concatenated with separating spaces.
Optional argument apt is to specify another access-point to a SAOImage/DS9 server than the default one.
Keywords
datais to specify the data to send.throwerrorsis to specify whether to throw an exception in case of error(s) in the XPA reply.quietis to specify whether to not warn about any errors in the XPA reply.kwds...are other keywords forXPA.set.
See also
ds9connect and ds9get.
The page https://ds9.si.edu/doc/ref/xpa.html for a list of XPA commands implemented by SAOImage/DS9. This documentation is also available via the menu Help > Reference Manual > XPA Access Points of SAOImage/DS9.
ds9set([apt,] arr; mask=false, frame=nothing, endian=:native, kwds...)set the contents of an SAOImage/DS9 frame to be array arr. Optional apt is to specify another access-point to a SAOImage/DS9 server than the default one.
Keywords
maskis true to control the DS9 mask parameters.framespecifies a frame number or is:newto create a new frame.endianspecifies the byte order ofarr(seeSAOImageDS9.byte_order).kwds...are other keywords fords9set.
Connection
SAOImageDS9.ds9accesspoint — Functionds9accesspoint() -> aptYield the current default XPA access-point to SAOImage/DS9.
See also
ds9connect and ds9disconnect.
SAOImageDS9.ds9connect — Functionds9connect(apt::XPA.AccessPoint) -> apt
ds9connect(addr::AbstractString) -> apt
ds9connect(; kwds...) -> apt
ds9connect(f; kwds...) -> aptSet the default XPA access-point to SAOImage/DS9 and return it. The access-point may be fully specified (1st example), specified by its address (2nd example), or found among a list of running SAOImage/DS9 (3rd and 4th examples) by calling XPA.find with filter function f and keywords kwds.... If not specified (3rd example), the default filter function is:
apt -> apt.class == "DS9" && apt.user == ENV["USER"]
When calling XPA.find, the default value of the select keyword is :interact if Julia is running an interactive session.
See also
SAOImageDS9.ds9disconnect — Functionds9disconnect()Forget the default XPA access-point to SAOImage/DS9.
See also
ds9accesspoint and ds9connect.
Starting/quitting SAOImage/DS9 application
SAOImageDS9.ds9launch — Functionds9launch([name]; method="local", exe="ds9", timeout=30, quiet=false)Launch the SAOImage/DS9 application and connect to it. Optional argument name is the name (and title) of the SAOImage/DS9 server to identity it. By default, the name is the given by the current PID. The default access-point is set to that of the new server.
Keywords
methodis the type of connection to use. The default method isENV["XPA_METHOD"]if this environment variable is set and"local"otherwise.exeis the path to SAOImage/DS9 executable.timeoutis the maximum number of seconds to wait for connecting.quietspecifies whether to print information and warning messages.
See also
ds9connect and ds9quit.
SAOImageDS9.ds9quit — Functionds9quit()
ds9quit(apt::XPA.Accesspoint)
ds9quit(addr::AbstractString)Require SAOImage/DS9 application to quit. With no argument, the default SAOImage/DS9 application is closed. Otherwise, a specific SAOImage/DS9 application may be targeted by specifying its access-point apt or the address addr of its access-point.
See also ds9accesspoint and ds9disconnect.
Miscellaneaous
SAOImageDS9.ds9cursor — Functionds9cursor([apt]; event=:button, text="", cancel=false) -> (key, x, y, val)returns the position of the mouse cursor in SAOImage/DS9 interactively chosen by the user as a 4-tuple (key, x, y, val) where key is the key pressed or button clicked, (x, y) are the image coordinates of the selected position, and val the corresponding pixel value. Coordinates x and y may be 0 and val may be NaN if user selects a position outside the image area or in an empty frame.
In SAOImage/DS9 image coordinates are similar to Julia fractional indices in ordinary arrays. Hence, if the image pixels are also stored by A (an Array) in Julia, the nearest position corresponds to A[i,j] with (i,j) = round.(Int,(x,y)).
Optional argument apt is to specify another access-point to a SAOImage/DS9 server than the default one.
Keywords
eventis the type of event to capture the cursor position, one of:button,:key, or:any.text, if non-empty, specifies a message to be displayed in a message dialog first.cancelspecifies whether the user may cancel the operation in the dialog message, in which case this function returnsnothing.
See also
ds9iexam to retrieve the coordinate in another system than image.
ds9get and ds9message.
SAOImageDS9.ds9iexam — Functionds9iexam([apt], coordsys=:image; event=:button, text="", cancel=false) -> (key, x, y)
ds9iexam([apt], :value; event=:button, text="", cancel=false) -> (key, val)return the position or value at the mouse cursor in SAOImage/DS9 interactively chosen by the user.
If argument coordsys is :value or "value", this function returns (key, val) with key the key pressed or button clicked and val the pixel value (NaN if selected position is outside image area). Otherwise, this function returns (key, x, y) with (x, y) the coordinates of the selected position in coordinate system specified by coordsys.
Optional argument apt is to specify another access-point to a SAOImage/DS9 server than the default one.
Keywords
eventis the type of event to capture the cursor position, one of:button,:key, or:any.text, if non-empty, specifies a message to be displayed in a message dialog first.cancelspecifies whether the user may cancel the operation in the dialog message, in which case this function returnsnothing.
See also
ds9cursor to retrieve (key, x, y, val) in image coordinate system.
ds9get and ds9message.
SAOImageDS9.ds9draw — Functionds9draw([apt,] args...; kwds...)draws something in SAOImage/DS9 application.
The specific operation depends on the type of the arguments.
ds9draw([apt,] img::AbstractMatrix; kwds...)displays image img (a 2-dimensional Julia array) in SAOImage/DS9.
Keywords
frame: to select a given frame number, or:newto draw image in a new frame;cmap: uses the named colormap;zoom: fixes the zoom factor;min&max: fix the scale limits.
ds9draw([apt,] pnt; kwds...)Draw pnt as point(s) in SAOImage/DS9.
pnt can be a Point, an array, or a tuple of Point's.
ds9draw([apt,] box; kwds...)Draws box as rectangle(s) in SAOImage/DS9.
boxcan be aBoundingBox, an array, or a tuple ofBoundingBox`'es.
SAOImageDS9.ds9message — Functionds9message([apt,] text; cancel=false)Display a dialog with a message given by text.
If cancel=true, a Cancel button is added to the dialog: in that case, the return value is true or false depending on the button pressed by the user.
SAOImageDS9.ds9getregions — Functionds9getregions([apt,] name=""; coords=:image, selected=false)returns the regions defined in SAOImage/DS9 frame.
The optional argument name is the name of the group of regions to extract. All regions are extracted if name is an empty string.
Keywords
coords: the type of coordinates to return: can be:image,:physical,:fk5,:galactic
The return value is a vector of 3-tuples (shape, coordinates, properties), where shape is a symbol indicating shape of the region, coordinates is an array of coordinates, and properties is a dictionary with the properties of the region. Note that the code parses as much as possible the properties: therefore, the returned dictionary can include a variety of different value types, depending on the keyword. The following rules applies
- the global properties are always merged to the more specific region properties;
- properties with boolean meaning, such as
:select,:edit, or:rotateare suitably converted totrueorfalse; - properties enclosed within single quotes ('...'), double quotes ("..."), or braces ({...}) are returned as strings with the boundary markers removed;
- since a region can contain multiple tag specifications, the
:tagproperty is always returned as an array of strings; - properties consisting of multiple elements, such as
:dash,:line, and:pointare returned as tuples.
SAOImageDS9.ds9wcs — Functionds9wcs([apt]; useheader=true)returns the FITS header cards defining the WCS transformation in SAOImage/DS9 frame.
Keywords
useheaderspecifies whether to extract WCS transformation from the FITS header. Otherwise, the WCS transformation is extracted from the result of the"wcs save"command.
Utilities
SAOImageDS9.bitpix_of — Functionbitpix_of(x) -> bpyields FITS bits-per-pixel (BITPIX) value for x which can be an array or a type. A value of 0 is returned if x is not of a supported type.
See also SAOImageDS9.bitpix_to_type.
SAOImageDS9.bitpix_to_type — Functionbitpix_to_type(bpp) -> TReturn the Julia type corresponding to FITS BITPIX (bits-per-pixel) value bpp.
See also
SAOImageDS9.byte_order — Functionbyte_order(endian)yields the byte order for retrieving the elements of a SAOImage/DS9 array. Argument can be one of the strings (or the equivalent symbol): "big" for most significant byte first, "little" for least significant byte first or "native" to yield the byte order of the machine.
See also