def testInverted(self): """Test radial = radial Transform """ affineFactory = afwGeom.transformRegistry["affine"] wrapper = afwGeom.OneTransformConfig() wrapper.transform.retarget(affineFactory) affineConfig = wrapper.transform affineConfig.translation = (-2.1, 3.4) rotAng = 0.832 # radians xScale = 3.7 yScale = 45.3 affineConfig.linear = ( math.cos(rotAng) * xScale, math.sin(rotAng) * yScale, -math.sin(rotAng) * xScale, math.cos(rotAng) * yScale, ) inverseFactory = afwGeom.transformRegistry["inverted"] inverseConfig = inverseFactory.ConfigClass() inverseConfig.transform = affineConfig def check(transform): self.checkInverted(transform, affineConfig.apply()) self.checkGenericTransform(inverseFactory, inverseConfig, check)
def testMulti(self): """Test multi transform """ affineFactory = afwGeom.transformRegistry["affine"] wrapper0 = afwGeom.OneTransformConfig() wrapper0.transform.retarget(affineFactory) affineConfig0 = wrapper0.transform affineConfig0.translation = (-2.1, 3.4) rotAng = 0.832 # radians xScale = 3.7 yScale = 45.3 affineConfig0.linear = ( math.cos(rotAng) * xScale, math.sin(rotAng) * yScale, -math.sin(rotAng) * xScale, math.cos(rotAng) * yScale, ) wrapper1 = afwGeom.OneTransformConfig() wrapper1.transform.retarget(affineFactory) affineConfig1 = wrapper1.transform affineConfig1.translation = (26.5, -35.1) rotAng = -0.25 # radians xScale = 1.45 yScale = 0.9 affineConfig1.linear = ( math.cos(rotAng) * xScale, math.sin(rotAng) * yScale, -math.sin(rotAng) * xScale, math.cos(rotAng) * yScale, ) multiFactory = afwGeom.transformRegistry["multi"] multiConfig = multiFactory.ConfigClass() multiConfig.transformDict = { 0: wrapper0, 1: wrapper1, } def check(transform): self.checkMulti( transform, [c.apply() for c in [affineConfig0, affineConfig1]]) self.checkGenericTransform(multiFactory, multiConfig, check)