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_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
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 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
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 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)
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
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