def testvisad(): from visad import RealType, Real, FunctionType, FlatField, RealTuple from visad.java3d import DisplayImplJ3D, DirectManipulationRendererJ3D from visad.java2d import DisplayImplJ2D, DirectManipulationRendererJ2D import subs # make Types for our data ir_radiance = RealType("ir_raidance") count = RealType("count") ir_histogram = FunctionType(ir_radiance, count) vis_radiance = RealType("vis_radiance") # make up the data values... histogram = FlatField.makeField(ir_histogram, 64, 0) direct = Real(ir_radiance, 2.0) direct_tuple = RealTuple( (Real(count, 1.0), Real(ir_radiance,2.0), Real(vis_radiance, 1.0)) ) # create the scalar mappings for display 0 maps0=subs.makeMaps(vis_radiance,"z", ir_radiance,"x", count, "y", count,"green") # make display 0 a 3-D display dpys0 = subs.makeDisplay3D(maps0) subs.setPointSize(dpys0, 5.0) # add the data to display 0 and keep the references ref_hist = subs.addData("histo", histogram, dpys0, renderer=DirectManipulationRendererJ3D()) ref_dir = subs.addData("dir", direct, dpys0, renderer=DirectManipulationRendererJ3D()) ref_dir_tuple = subs.addData("dir_tup", direct_tuple, dpys0, renderer=DirectManipulationRendererJ3D()) # create the scalar mappings for display 1 maps1 = subs.makeMaps(ir_radiance,"x", count,"y", count,"green") # make display 1 a 2-D display dpys1 = subs.makeDisplay2D(maps1) subs.setPointSize(dpys1, 5.0) # add the data to this display, but use the references from # the previous one so the direct manipulations interact with both subs.addData("histo", histogram, dpys1, renderer=DirectManipulationRendererJ2D(), ref=ref_hist) subs.addData("dir", direct, dpys1, renderer=DirectManipulationRendererJ2D(), ref=ref_dir) subs.addData("dir_tup", direct_tuple, dpys1, renderer=DirectManipulationRendererJ2D(), ref=ref_dir_tuple) # function to clean up when display window is closed def cleanup(event): dpys0.destroy() dpys1.destroy() frame.dispose() # create window for display and add the dspy displays to it from javax.swing import JPanel, JFrame from java.awt import GridLayout panel1 = JPanel() panel1.add(dpys0.getComponent()) panel2 = JPanel() panel2.add(dpys1.getComponent()) frame = JFrame("Test35", windowClosing=cleanup) pane = frame.getContentPane() pane.setLayout(GridLayout(1,2)) pane.add(panel1) pane.add(panel2) frame.setSize(600,300) frame.setVisible(1)
from visad import Real, RealTuple, RealType, DataReferenceImpl from visad.java3d import DefaultRendererJ3D from visad.bom import DiscoverableZoom a=load("../data/mcidas/AREA0007") ds = a.getDomainSet() xdim = ds.getX().getLength() ydim = ds.getY().getLength() print "Image size = ",ydim," by",xdim cs = ds.getCoordinateSystem() rangetype = a.getType().getRange() maps=subs.makeMaps(RealType.Latitude, "y", RealType.Longitude, "x", rangetype[0], "text") disp=subs.makeDisplay3D(maps) pcontrol = disp.getProjectionControl() dzoom = DiscoverableZoom() pcontrol.addControlListener(dzoom) tcontrol = maps[2].getControl() tcontrol.setAutoSize(1) rends = [] for i in range (ydim/2, ydim/2 + 20): for j in range (xdim/2, xdim/2 + 20): ref = DataReferenceImpl("data") latlon = cs.toReference( ( (j,), (i,) ))
from visad import Real, RealTuple, RealType, DataReferenceImpl from visad.java3d import DefaultRendererJ3D from visad.bom import DiscoverableZoom a = load("../data/mcidas/AREA0007") ds = a.getDomainSet() xdim = ds.getX().getLength() ydim = ds.getY().getLength() print "Image size = ", ydim, " by", xdim cs = ds.getCoordinateSystem() rangetype = a.getType().getRange() maps = subs.makeMaps(RealType.Latitude, "y", RealType.Longitude, "x", rangetype[0], "text") disp = subs.makeDisplay3D(maps) pcontrol = disp.getProjectionControl() dzoom = DiscoverableZoom() pcontrol.addControlListener(dzoom) tcontrol = maps[2].getControl() tcontrol.setAutoSize(1) rends = [] for i in range(ydim / 2, ydim / 2 + 20): for j in range(xdim / 2, xdim / 2 + 20): ref = DataReferenceImpl("data") latlon = cs.toReference(((j, ), (i, )))