summaryrefslogtreecommitdiffstats
path: root/ds9/library/mosaiciraf.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'ds9/library/mosaiciraf.tcl')
-rw-r--r--ds9/library/mosaiciraf.tcl87
1 files changed, 87 insertions, 0 deletions
diff --git a/ds9/library/mosaiciraf.tcl b/ds9/library/mosaiciraf.tcl
new file mode 100644
index 0000000..8f719bb
--- /dev/null
+++ b/ds9/library/mosaiciraf.tcl
@@ -0,0 +1,87 @@
+# Copyright (C) 1999-2016
+# Smithsonian Astrophysical Observatory, Cambridge, MA, USA
+# For conditions of distribution and use, see copyright notice in "copyright"
+
+package provide DS9 1.0
+
+proc LoadMosaicIRAFFile {fn layer} {
+ global loadParam
+
+ set loadParam(file,type) fits
+ set loadParam(file,mode) {mosaic iraf}
+ set loadParam(load,type) mmapincr
+ set loadParam(file,name) $fn
+ set loadParam(load,layer) $layer
+
+ ConvertFitsFile
+ ProcessLoad
+}
+
+proc LoadMosaicIRAFAlloc {path fn layer} {
+ global loadParam
+
+ set loadParam(file,type) fits
+ set loadParam(file,mode) {mosaic iraf}
+ set loadParam(load,type) allocgz
+ set loadParam(file,name) $fn
+ set loadParam(file,fn) $path
+ set loadParam(load,layer) $layer
+
+ ProcessLoad
+}
+
+proc LoadMosaicIRAFSocket {sock fn layer} {
+ global loadParam
+
+ set loadParam(file,type) fits
+ set loadParam(file,mode) {mosaic iraf}
+ set loadParam(load,type) socketgz
+ set loadParam(file,name) $fn
+ set loadParam(socket,id) $sock
+ set loadParam(load,layer) $layer
+
+ return [ProcessLoad 0]
+}
+
+proc ProcessMosaicIRAFCmd {varname iname sock fn} {
+ upvar $varname var
+ upvar $iname i
+
+ global loadParam
+ global current
+
+ set layer {}
+
+ switch -- [string tolower [lindex $var $i]] {
+ new {
+ incr i
+ CreateFrame
+ }
+ mask {
+ incr i
+ set layer mask
+ }
+ slice {
+ incr i
+ # not supported
+ }
+ }
+ set param [lindex $var $i]
+
+ StartLoad
+ if {$sock != {}} {
+ # xpa
+ if {![LoadMosaicIRAFSocket $sock $param $layer]} {
+ InitError xpa
+ LoadMosaicIRAFFile $param $layer
+ }
+ } else {
+ # comm
+ if {$fn != {}} {
+ LoadMosaicIRAFAlloc $fn $param $layer
+ } else {
+ LoadMosaicIRAFFile $param $layer
+ }
+ }
+ FinishLoad
+}