Ejemplo n.º 1
0
 def get_coord_axis2d(self):
     axis1 = wcs.Axis("axis1Ctype", "axis1Cunit")
     axis2 = wcs.Axis("axis2Ctype", "axis2Cunit")
     coord_axis2d = wcs.CoordAxis2D(axis1, axis2)
     if self.complete:
         coord_axis2d.error1 = wcs.CoordError(1.0, 1.5)
         coord_axis2d.error2 = wcs.CoordError(2.0, 2.5)
         start = wcs.Coord2D(wcs.RefCoord(3.0, 3.5),
                             wcs.RefCoord(4.0, 4.5))
         end = wcs.Coord2D(wcs.RefCoord(5.0, 5.5),
                           wcs.RefCoord(6.0, 6.5))
         coord_axis2d.range = wcs.CoordRange2D(start, end)
         dimension = wcs.Dimension2D(7, 8)
         ref_coord = wcs.Coord2D(wcs.RefCoord(9.0, 9.5),
                                 wcs.RefCoord(10.0, 10.5))
         coord_axis2d.function = (
             wcs.CoordFunction2D(dimension, ref_coord,
                                 11.0, 12.0, 13.0, 14.0))
         if self.bounds_is_circle:
             center = wcs.ValueCoord2D(15.0, 16.0)
             coord_axis2d.bounds = wcs.CoordCircle2D(center, 17.0)
         else:
             polygon = wcs.CoordPolygon2D()
             polygon.vertices.append(wcs.ValueCoord2D(15.0, 16.0))
             polygon.vertices.append(wcs.ValueCoord2D(17.0, 18.0))
             polygon.vertices.append(wcs.ValueCoord2D(19.0, 20.0))
             coord_axis2d.bounds = polygon
     return coord_axis2d
Ejemplo n.º 2
0
    def get_test_function(px, py, sx, sy, gal):
        axis1 = wcs.Axis("RA", "deg")
        axis2 = wcs.Axis("DEC", "deg")

        if gal:
            axis1 = wcs.Axis("GLON", "deg")
            axis2 = wcs.Axis("GLAT", "deg")

        axis_2d = wcs.CoordAxis2D(axis1, axis2)

        spatial_wcs = chunk.SpatialWCS(axis_2d)
        spatial_wcs.coordsys = "ICRS"

        wcs.coordsys = "ICRS"
        if gal:
            spatial_wcs.coordsys = None

        wcs.equinox = None

        # Simple frame set: 1000x1000 pixels, 1 pixel = 1.0e-3 deg
        dim = wcs.Dimension2D(1000, 1000)
        ref = wcs.Coord2D(wcs.RefCoord(px, sx), wcs.RefCoord(py, sy))
        axis_2d.function = wcs.CoordFunction2D(dim, ref, 1.e-3, 0.0, 0.0,
                                               1.0e-3)
        return spatial_wcs
Ejemplo n.º 3
0
 def bad_wcs():
     axis1 = wcs.Axis("RA---TAN", "deg")
     axis2 = wcs.Axis("DEC--TAN", "deg")
     axis = wcs.CoordAxis2D(axis1, axis2)
     spatial_wcs = chunk.SpatialWCS(axis)
     spatial_wcs.equinox = None
     dim = wcs.Dimension2D(1024, 1024)
     ref = wcs.Coord2D(wcs.RefCoord(512.0, 10.0), wcs.RefCoord(512.0, 20.0))
     #  Create Invalid function
     axis.function = wcs.CoordFunction2D(dim, ref, 1.0e-3, 0.0, 0.0,
                                         0.0)  # singular CD matrix
     return spatial_wcs
Ejemplo n.º 4
0
    def bad_delta():
        axis_1d = CoordAxis1D(wcs.Axis("RM", "rad/m**2"))
        # delta < 0.0 is bad
        ref_coord = RefCoord(float(1.0), float(2.0))
        axis_1d.function = CoordFunction1D(int(100), -0.01, ref_coord)

        return chunk.CustomWCS(axis_1d)
Ejemplo n.º 5
0
 def get_custom_wcs(self):
     axis = wcs.Axis('Foo')
     axis1d = wcs.CoordAxis1D(axis)
     axis1d.function = wcs.CoordFunction1D(int(5), 1.0,
                                           wcs.RefCoord(1.0, 1.0))
     custom = chunk.CustomWCS(axis1d)
     return custom
Ejemplo n.º 6
0
 def get_polarization_wcs(self):
     axis = wcs.Axis('STOKES')
     axis1d = wcs.CoordAxis1D(axis)
     #IQUV
     axis1d.function = wcs.CoordFunction1D(int(4), 1.0,
                                           wcs.RefCoord(1.0, 1.0))
     pol = chunk.PolarizationWCS(axis1d)
     return pol
Ejemplo n.º 7
0
    def bad_delta():
        axis_1d = wcs.CoordAxis1D(wcs.Axis("UTC", "d"))
        temporal_wcs = chunk.TemporalWCS(axis_1d)

        # delta == 0.0 is bad
        ref_coord = wcs.RefCoord(float(1.0), float(2.0))
        temporal_wcs.axis.function = CoordFunction1D(int(100), 0.0, ref_coord)

        return temporal_wcs
Ejemplo n.º 8
0
 def bad_range_wcs():
     ctype = "RM"
     unit = "rad/m^2"
     error = None
     start = RefCoord(float(0.9), float(1.1))
     end = RefCoord(float(10.9), float(1.1))
     range = CoordRange1D(start, end)
     axis_1d = CoordAxis1D(wcs.Axis(ctype, unit), error, range)
     return chunk.CustomWCS(axis_1d)
Ejemplo n.º 9
0
 def get_test_function_with_range(ctype, unit, px, sx, nx, ds):
     error = None
     start = RefCoord(float(0.9), float(1.1))
     end = RefCoord(float(10.9), float(11.1))
     range = CoordRange1D(start, end)
     axis_1d = CoordAxis1D(wcs.Axis(ctype, unit), error, range)
     ref_coord = RefCoord(px, sx)
     axis_1d.function = CoordFunction1D(nx, ds, ref_coord)
     custom_wcs = chunk.CustomWCS(axis_1d)
     return custom_wcs
Ejemplo n.º 10
0
 def bad_bounds_wcs():
     ctype = "RM"
     unit = "rad/m^2"
     error = None
     range = None
     c1 = RefCoord(float(0.9), float(1.1))
     c2 = RefCoord(float(10.9), float(1.1))
     bounds = CoordBounds1D()
     bounds.samples.append(CoordRange1D(c1, c2))
     axis_1d = CoordAxis1D(wcs.Axis(ctype, unit), error, range, bounds)
     return chunk.CustomWCS(axis_1d)
Ejemplo n.º 11
0
    def get_test_function(complete, px, sx, nx, ds):
        axis_1d = wcs.CoordAxis1D(wcs.Axis("UTC", "d"))

        if complete:
            wcs.exposure = 300.0
            wcs.resolution = 0.1

        temporal_wcs = chunk.TemporalWCS(axis_1d)
        ref_coord = wcs.RefCoord(px, sx)
        temporal_wcs.axis.function = wcs.CoordFunction1D(nx, ds, ref_coord)
        return temporal_wcs
Ejemplo n.º 12
0
    def getTestFunction(complete, px, sx, nx, ds):
        axis = wcs.CoordAxis1D(wcs.Axis("WAVE", "nm"))
        spectral_wcs = chunk.SpectralWCS(axis, "TOPOCENT")
        if complete:
            spectral_wcs.bandpassName = BANDPASS_NAME
            spectral_wcs.restwav = 6563.0e-10  # meters
            spectral_wcs.resolvingPower = 33000.0
            spectral_wcs.transition = TRANSITION

        c1 = wcs.RefCoord(px, sx)
        spectral_wcs.axis.function = wcs.CoordFunction1D(nx, ds, c1)
        return spectral_wcs
Ejemplo n.º 13
0
    def getTestRange(complete, px, sx, nx, ds):
        axis = wcs.CoordAxis1D(wcs.Axis("WAVE", "nm"))
        spectral_wcs = chunk.SpectralWCS(axis, "TOPOCENT")
        if complete:
            spectral_wcs.bandpassName = BANDPASS_NAME
            spectral_wcs.restwav = 6563.0e-10  # meters
            spectral_wcs.resolvingPower = 33000.0
            spectral_wcs.transition = TRANSITION

        c1 = wcs.RefCoord(px, sx)
        c2 = wcs.RefCoord(px + nx, sx + nx * ds)
        spectral_wcs.axis.range = wcs.CoordRange1D(c1, c2)
        # log.debug("test range: " + axis.range)
        return spectral_wcs
Ejemplo n.º 14
0
 def get_test_function_with_function(ctype, unit, px, sx, nx, ds):
     error = None
     range = None
     bounds = None
     naxis = int(1)
     delta = float(2.5)
     ref_coord = wcs.RefCoord(float(1.0), float(2.0))
     function = CoordFunction1D(naxis, delta, ref_coord)
     axis_1d = CoordAxis1D(wcs.Axis(ctype, unit), error, range, bounds,
                           function)
     ref_coord = RefCoord(px, sx)
     axis_1d.function = CoordFunction1D(nx, ds, ref_coord)
     custom_wcs = chunk.CustomWCS(axis_1d)
     return custom_wcs
Ejemplo n.º 15
0
 def get_coord_axis1d(self):
     coord_axis1d = wcs.CoordAxis1D(wcs.Axis("axisCtype", "axisCunit"))
     if self.complete:
         coord_axis1d.error = wcs.CoordError(1.0, 1.5)
         coord_axis1d.range = wcs.CoordRange1D(wcs.RefCoord(2.0, 2.5),
                                                wcs.RefCoord(3.0, 3.5))
         coord_axis1d.function = (
             wcs.CoordFunction1D(4, 4.5, wcs.RefCoord(5.0, 5.5)))
         bounds = wcs.CoordBounds1D()
         bounds.samples.append(wcs.CoordRange1D(wcs.RefCoord(6.0, 6.5),
                                                wcs.RefCoord(7.0, 7.5)))
         bounds.samples.append(wcs.CoordRange1D(wcs.RefCoord(8.0, 8.5),
                                                wcs.RefCoord(9.0, 9.5)))
         coord_axis1d.bounds = bounds
     return coord_axis1d
Ejemplo n.º 16
0
 def bad_function_wcs():
     ctype = "RM"
     unit = "rad/m^2"
     error = None
     range = None
     c1 = RefCoord(float(0.9), float(1.1))
     c2 = RefCoord(float(10.9), float(1.1))
     bounds = CoordBounds1D()
     bounds.samples.append(CoordRange1D(c1, c2))
     naxis = 1
     delta = 0.0
     ref_coord = RefCoord(float(0.9), float(1.1))
     func = CoordFunction1D(naxis, delta, ref_coord)
     axis_1d = CoordAxis1D(wcs.Axis(ctype, unit), error, range, bounds,
                           func)
     return chunk.CustomWCS(axis_1d)
Ejemplo n.º 17
0
    def bad_range_wcs():
        px = float(0.5)
        sx = float(54321.0)
        nx = 200
        ds = float(0.01)
        axis_1d = wcs.CoordAxis1D(wcs.Axis("RM", "rad/m**2"))

        # divide into 2 samples with a gap between
        c1 = RefCoord(px, sx)
        c2 = RefCoord(0.0, 0.0)
        c3 = RefCoord(px + nx * 0.66, sx + nx * ds * 0.66)
        c4 = RefCoord(px + nx, sx + nx * ds)
        axis_1d.bounds = CoordBounds1D()
        axis_1d.bounds.samples.append(CoordRange1D(c1, c3))
        axis_1d.bounds.samples.append(CoordRange1D(c4, c2))

        return chunk.CustomWCS(axis_1d)
Ejemplo n.º 18
0
    def bad_range_wcs():
        px = float(0.5)
        sx = float(54321.0)
        nx = 200
        ds = float(0.01)
        axis_1d = wcs.CoordAxis1D(wcs.Axis("UTC", "d"))
        temporal_wcs = chunk.TemporalWCS(axis_1d)
        temporal_wcs.exposure = 300.0
        temporal_wcs.resolution = 0.1

        # divide into 2 samples with a gap between
        c1 = wcs.RefCoord(px, sx)
        c2 = wcs.RefCoord(0.0, 0.0)
        c3 = wcs.RefCoord(px + nx * 0.66, sx + nx * ds * 0.66)
        c4 = wcs.RefCoord(px + nx, sx + nx * ds)
        temporal_wcs.axis.bounds = wcs.CoordBounds1D()
        temporal_wcs.axis.bounds.samples.append(wcs.CoordRange1D(c1, c3))
        temporal_wcs.axis.bounds.samples.append(wcs.CoordRange1D(c4, c2))

        return temporal_wcs
Ejemplo n.º 19
0
 def get_test_function_with_bounds_3_samples(ctype, unit, px, sx, nx, ds):
     error = None
     range = None
     start = RefCoord(float(0.8), float(1.1))
     end = RefCoord(float(10.8), float(11.1))
     b_range_1 = CoordRange1D(start, end)
     start = RefCoord(float(0.9), float(1.2))
     end = RefCoord(float(10.9), float(11.2))
     b_range_2 = CoordRange1D(start, end)
     start = RefCoord(float(-0.9), float(-1.2))
     end = RefCoord(float(0.6), float(0.2))
     b_range_3 = CoordRange1D(start, end)
     samples = caom_util.TypedList(CoordRange1D, b_range_1, b_range_2,
                                   b_range_3)
     bounds = CoordBounds1D(samples)
     axis_1d = wcs.CoordAxis1D(wcs.Axis(ctype, unit), error, range, bounds)
     ref_coord = wcs.RefCoord(px, sx)
     axis_1d.function = wcs.CoordFunction1D(nx, ds, ref_coord)
     custom_wcs = chunk.CustomWCS(axis_1d)
     return custom_wcs
Ejemplo n.º 20
0
 def get_test_function(ctype, unit, px, sx, nx, ds):
     axis_1d = CoordAxis1D(wcs.Axis(ctype, unit))
     ref_coord = RefCoord(px, sx)
     axis_1d.function = CoordFunction1D(nx, ds, ref_coord)
     custom_wcs = chunk.CustomWCS(axis_1d)
     return custom_wcs
Ejemplo n.º 21
0
 def get_slice(self):
     return wcs.Slice(wcs.Axis("sliceCtype", "sliceCunit"), int(1))