wcs 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/test.rb ADDED
@@ -0,0 +1,112 @@
1
+ require "wcs"
2
+
3
+ # int naxis1, /* Number of pixels along x-axis */
4
+ # int naxis2, /* Number of pixels along y-axis */
5
+ # char *ctype1, /* FITS WCS projection for axis 1 */
6
+ # char *ctype2, /* FITS WCS projection for axis 2 */
7
+ # double crpix1, /* Reference pixel coordinates */
8
+ # double crpix2, /* Reference pixel coordinates */
9
+ # double crval1, /* Coordinate at reference pixel in degrees */
10
+ # double crval2, /* Coordinate at reference pixel in degrees */
11
+ # double *cd, /* Rotation matrix, used if not NULL */
12
+ # double cdelt1, /* scale in degrees/pixel, if cd is NULL */
13
+ # double cdelt2, /* scale in degrees/pixel, if cd is NULL */
14
+ # double crota, /* Rotation angle in degrees, if cd is NULL */
15
+ # int equinox, /* Equinox of coordinates, 1950 and 2000 supported */
16
+ # double epoch); /* Epoch of coordinates, for FK4/FK5 conversion */
17
+
18
+ naxis1 = 100 # /* Number of pixels along x-axis */
19
+ naxis2 = 100 # /* Number of pixels along y-axis */
20
+ ctype1 = "RA--TAN" # /* FITS WCS projection for axis 1 */
21
+ ctype2 = "DEC-TAN" # /* FITS WCS projection for axis 2 */
22
+ crpix1 = 0 # /* Reference pixel coordinates */
23
+ crpix2 = 0 # /* Reference pixel coordinates */
24
+ crval1 = 0 # /* Coordinate at reference pixel in degrees */
25
+ crval2 = 0 # /* Coordinate at reference pixel in degrees */
26
+ cd = nil # /* Rotation matrix, used if not NULL */
27
+ cdelt1 = 0.1 # /* scale in degrees/pixel, if cd is NULL */
28
+ cdelt2 = 0.1 # /* scale in degrees/pixel, if cd is NULL */
29
+ crota = 0 # /* Rotation angle in degrees, if cd is NULL */
30
+ equinox = 2000 # /* Equinox of coordinates, 1950 and 2000 supported */
31
+ epoch = 2000 # /* Epoch of coordinates, for FK4/FK5 conversion */
32
+
33
+ wcs = Wcs::WorldCoor.new(
34
+ naxis1, # /* Number of pixels along x-axis */
35
+ naxis2, # /* Number of pixels along y-axis */
36
+ ctype1, # /* FITS WCS projection for axis 1 */
37
+ ctype2, # /* FITS WCS projection for axis 2 */
38
+ crpix1, # /* Reference pixel coordinates */
39
+ crpix2, # /* Reference pixel coordinates */
40
+ crval1, # /* Coordinate at reference pixel in degrees */
41
+ crval2, # /* Coordinate at reference pixel in degrees */
42
+ cd, # /* Rotation matrix, used if not NULL */
43
+ cdelt1, # /* scale in degrees/pixel, if cd is NULL */
44
+ cdelt2, # /* scale in degrees/pixel, if cd is NULL */
45
+ crota, # /* Rotation angle in degrees, if cd is NULL */
46
+ equinox,# /* Equinox of coordinates, 1950 and 2000 supported */
47
+ epoch) # /* Epoch of coordinates, for FK4/FK5 conversion */
48
+
49
+ =begin
50
+ void wcs2pix ( /* Convert World Coordinates to pixel coordinates */
51
+ struct WorldCoor *wcs, /* World coordinate system structure */
52
+ double xpos, /* Longitude/Right Ascension in degrees */
53
+ double ypos, /* Latitude/Declination in degrees */
54
+ double *xpix, /* Image horizontal coordinate in pixels (returned) */
55
+ double *ypix, /* Image vertical coordinate in pixels (returned) */
56
+ int *offscl);
57
+
58
+ void pix2wcs ( /* Convert pixel coordinates to World Coordinates */
59
+ struct WorldCoor *wcs, /* World coordinate system structure */
60
+ double xpix, /* Image horizontal coordinate in pixels */
61
+ double ypix, /* Image vertical coordinate in pixels */
62
+ double *xpos, /* Longitude/Right Ascension in degrees (returned) */
63
+ double *ypos); /* Latitude/Declination in degrees (returned) */
64
+ =end
65
+
66
+ p wcs
67
+ p wcs.wcs2pix(0.5,0.5)
68
+ p wcs.pix2wcs(50,50)
69
+
70
+
71
+ =begin
72
+ void wcscon( /* Convert between coordinate systems and equinoxes */
73
+ int sys1, /* Input coordinate system (J2000, B1950, ECLIPTIC, GALACTIC */
74
+ int sys2, /* Output coordinate system (J2000, B1950, ECLIPTIC, G ALACTIC */
75
+ double eq1, /* Input equinox (default of sys1 if 0.0) */
76
+ double eq2, /* Output equinox (default of sys2 if 0.0) */
77
+ double *dtheta, /* Longitude or right ascension in degrees
78
+ Input in sys1, returned in sys2 */
79
+ double *dphi, /* Latitude or declination in degrees
80
+ Input in sys1, returned in sys2 */
81
+ double epoch); /* Besselian epoch in years */
82
+ =end
83
+ alpha = 0
84
+ delta = 0
85
+ p Wcs.wcscon(Wcs::J2000,Wcs::GALACTIC,0,0,alpha,delta,2000)
86
+
87
+
88
+ hstr="
89
+ SIMPLE = T
90
+ BITPIX = -64
91
+ NAXIS = 2
92
+ NAXIS1 = 10000
93
+ NAXIS2 = 10000
94
+ CTYPE1 = 'RA---TAN'
95
+ CTYPE2 = 'DEC--TAN'
96
+ EQUINOX = 2000
97
+ CRVAL1 = 10.685497001
98
+ CRVAL2 = 41.270525148
99
+ CDELT1 = -0.000277780
100
+ CDELT2 = 0.000277780
101
+ CRPIX1 = 5000.0000
102
+ CRPIX2 = 5000.0000
103
+ CROTA2 = 0.0
104
+ END
105
+ "
106
+ hstr = hstr.split(/\n/).map{|x| x+" "*(80-x.size)}.join("")
107
+ wcs = Wcs::WorldCoor.new(hstr)
108
+ p wcs
109
+ p wcs.wcs2pix(0.5,0.5)
110
+ p wcs.pix2wcs(50,50)
111
+
112
+ p wcs.pix2wcst(50,50)
@@ -0,0 +1,36 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'wcs/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "wcs"
8
+ spec.version = Wcs::VERSION
9
+ spec.authors = ["Masahiro TANAKA"]
10
+ spec.email = ["masa16.tanaka@gmail.com"]
11
+ spec.description = %q{WCSTools wrapper for Ruby. Provides calculation and conversion of sky positions in astronomical coordinates.}
12
+ spec.summary = %q{WCSTools wrapper for Ruby. Provides calculation and conversion of sky positions in astronomical coordinates.}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+ spec.extensions = ["ext/extconf.rb"]
16
+
17
+ spec.files = `git ls-files`.split($/)
18
+ # spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_development_dependency "bundler", "~> 1.3"
23
+ spec.add_development_dependency "rake"
24
+
25
+ spec.rdoc_options = %w[
26
+ libdoc.rb
27
+ --exclude doc/
28
+ --exclude lib/wcs.so
29
+ --exclude ext/
30
+ --exclude setup
31
+ --exclude gemspec
32
+ --exclude Gemfile
33
+ --exclude Rakefile
34
+ ]
35
+
36
+ end
metadata ADDED
@@ -0,0 +1,108 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wcs
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Masahiro TANAKA
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-05-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: WCSTools wrapper for Ruby. Provides calculation and conversion of sky
42
+ positions in astronomical coordinates.
43
+ email:
44
+ - masa16.tanaka@gmail.com
45
+ executables: []
46
+ extensions:
47
+ - ext/extconf.rb
48
+ extra_rdoc_files: []
49
+ files:
50
+ - .gitignore
51
+ - COPYING
52
+ - Gemfile
53
+ - README.md
54
+ - Rakefile
55
+ - ext/depend
56
+ - ext/extconf.rb
57
+ - ext/wcs.i
58
+ - ext/wcs_h.i
59
+ - ext/wcs_wrap.c
60
+ - lib/wcs/version.rb
61
+ - libdoc.rb
62
+ - setup.rb
63
+ - spec/wcs_spec.rb
64
+ - test.rb
65
+ - wcs.gemspec
66
+ homepage: ''
67
+ licenses:
68
+ - MIT
69
+ metadata: {}
70
+ post_install_message:
71
+ rdoc_options:
72
+ - libdoc.rb
73
+ - --exclude
74
+ - doc/
75
+ - --exclude
76
+ - lib/wcs.so
77
+ - --exclude
78
+ - ext/
79
+ - --exclude
80
+ - setup
81
+ - --exclude
82
+ - gemspec
83
+ - --exclude
84
+ - Gemfile
85
+ - --exclude
86
+ - Rakefile
87
+ require_paths:
88
+ - lib
89
+ required_ruby_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ required_rubygems_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ requirements: []
100
+ rubyforge_project:
101
+ rubygems_version: 2.0.0
102
+ signing_key:
103
+ specification_version: 4
104
+ summary: WCSTools wrapper for Ruby. Provides calculation and conversion of sky positions
105
+ in astronomical coordinates.
106
+ test_files:
107
+ - spec/wcs_spec.rb
108
+ has_rdoc: