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
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
def bad_wcs(): px = float(0.5) sx = float(400.0) nx = 200 ds = float(1.0) bad_energy = EnergyTestUtil.getTestFunction(True, px, sx * nx * ds, nx, ds) # Make function invalid c1 = wcs.RefCoord(0.5, 2000.0) bad_energy.axis.function = wcs.CoordFunction1D(100, 10.0, c1) return wcs
def good_wcs(): px = float(0.5) sx = float(400.0) nx = float(200.0) ds = float(1.0) # SpectralWCS energy = EnergyTestUtil.getTestRange(True, px, sx * nx * ds, nx, ds) c1 = wcs.RefCoord(0.5, 2000.0) energy.axis.function = wcs.CoordFunction1D(100, 10.0, c1) return energy
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
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
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
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
def get_test_function(ctype, unit, px, sx, nx, ds): axis_1d = wcs.CoordAxis1D(wcs.Axis(ctype, unit)) ref_coord = wcs.RefCoord(px, sx) axis_1d.function = wcs.CoordFunction1D(nx, ds, ref_coord) custom_wcs = chunk.CustomWCS(axis_1d) return custom_wcs