Example #1
0
  def initialiseGraphics(self):
    wiggle=CubicCurve2D.Double(0, 0, 0.3, -0.3, 0.7, 0.3, 1, 0)
    reverseWiggle=CubicCurve2D.Double(1, 0, 0.7, 0.3, 0.3, -0.3, 0, 0)

    self.polygonalTilePath = GeneralPath() 
    self.polygonalTilePath.append(wiggle, 1)

    self.polygonalTilePath.lineTo(math.cos(math.pi / self.n), math.sin(math.pi / self.n))

    t = AffineTransform.getRotateInstance(math.pi / self.n)
    wiggle2 = GeneralPath(reverseWiggle)
    wiggle2.transform(t)
    self.polygonalTilePath.append(wiggle2, 1)

    self.polygonalTilePath.closePath()
    self.polygonalTilePath.transform(self.preTransform)
# Define the interval we want to see: the original image, enlarged by 2X
# E.g. from 0 to 2*width, from 0 to 2*height, etc. for every dimension
# Notice the -1 in maxC: the interval is inclusive of the largest coordinate.
minC = [0 for d in range(img.numDimensions())]
maxC = [int(img.dimension(i) * scale) -1 for i, scale in enumerate(s)]
imgI = Views.interval(bigger, minC, maxC)

# Visualize the bigger view
imp2x = IL.wrap(imgI, imp.getTitle() + " - 2X") # an ImagePlus
imp2x.show()

# Define a rotation by +30ยบ relative to the image center in the XY axes
# (not explicitly XY but the first two dimensions)
angle = radians(30)
rot2d = Affine2D.getRotateInstance(angle, img.dimension(0) / 2, img.dimension(1) / 2)
ndims = img.numDimensions()
matrix = Matrix(ndims, ndims + 1)
matrix.set(0, 0, rot2d.getScaleX())
matrix.set(0, 1, rot2d.getShearX())
matrix.set(0, ndims, rot2d.getTranslateX())
matrix.set(1, 0, rot2d.getShearY())
matrix.set(1, 1, rot2d.getScaleY())
matrix.set(1, ndims, rot2d.getTranslateY())
for i in range(2, img.numDimensions()):
  matrix.set(i, i, 1.0)

from pprint import pprint
pprint([list(row) for row in matrix.getArray()])

# Define a rotated view of the image
Example #3
0
	av.setEntry(0 ,0 , vx)
	av.setEntry(1, 0, vy)

#	dd = [2.0, 6,0]
#	jdd = array(dd, 'd')	
#	bv = am(jdd) 

	rot = rotation
	mat = am(2, 2)
	mat.setEntry(0, 0, math.cos(rot))
	mat.setEntry(0, 1, -1 * math.sin(rot))
	mat.setEntry(1, 0, math.sin(rot))
	mat.setEntry(1, 1, math.cos(rot))
	#print mat.getData()
	avdash = mat.multiply(av)
	return avdash

#rotvec  = rotateVec(1, 1, math.pi/4)
#print rotvec.getData()

roter = AT.getRotateInstance(math.pi/4, 0, 0)
sp = pnt(1, 1)
dp = pnt()
roter.deltaTransform(sp, dp)
print dp.x
print dp.y