Changeset 7964
- Timestamp:
- 04/13/12 14:46:17 (8 years ago)
- Location:
- trunk/projects/flow-cytometry/src/main/java/loci/apps/flow
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/projects/flow-cytometry/src/main/java/loci/apps/flow/Find_Particle_Areas.java
r7955 r7964 7 7 import ij.process.ImageProcessor; 8 8 import ij.gui.GenericDialog; 9 import ij.macro.Interpreter; 9 10 import ij.measure.ResultsTable; 10 11 … … 43 44 boolean doTheSum= gd.getNextBoolean(); 44 45 45 //Interpreter.batchMode=true;46 Interpreter.batchMode=true; 46 47 47 48 ImageProcessor duplicatedArg0 = arg0.duplicate(); … … 71 72 } 72 73 73 RoiManager roiMan = RoiManager.getInstance2(); 74 if(roiMan.getCount()>0) 75 roiMan.runCommand("Measure"); 74 76 75 // IJ.runMacro("roiManager(\"Measure\")",null); 77 76 78 77 if (doTheSum){ 78 RoiManager roiMan = RoiManager.getInstance2(); 79 if(roiMan.getCount()>0) 80 roiMan.runCommand("Measure"); 79 81 try{ 80 82 int lengthOfRoiTable=roiMan.getCount(); -
trunk/projects/flow-cytometry/src/main/java/loci/apps/flow/FlowCyto.java
r7955 r7964 3 3 import ij.IJ; 4 4 import ij.ImageJ; 5 import ij.ImageJApplet; 5 6 import ij.ImagePlus; 6 7 import ij.ImageStack; … … 19 20 private static ImageJ imagej; 20 21 private static IJ IJ; 21 private static ImagePlus imp; 22 private static ImageStack stack; 22 private static ImagePlus imp, impBF, impIN; 23 private static ImageStack stack, stackBF, stackIN; 24 private static int nSlices, nSlicesBF, nSlicesIN; 23 25 private static ByteProcessor bp; 24 26 private static ColorModel theCM; 25 private static String s_Name, s_Experiment, s_Params, s_Date ;27 private static String s_Name, s_Experiment, s_Params, s_Date, tempImageName; 26 28 private static double pixelMicronSquared; 29 private static RoiManager rman; 30 private static ResultsTable rtab; 31 private static byte[] dummyData; 32 27 33 28 34 @SuppressWarnings("static-access") … … 30 36 IJ = new IJ(); 31 37 imagej = IJ.getInstance(); 38 if(imagej==null || (imagej!=null && !imagej.isShowing())) 39 new ImageJ(); 32 40 } 33 41 34 42 public static void closeAllWindows() { 35 imp.flush(); 36 ResultsTable.getResultsTable().reset(); 37 RoiManager.getInstance2().dispose(); 38 WindowManager.closeAllWindows(); 39 imagej.exitWhenQuitting(true); 40 imagej.dispose(); 41 IJ = null; 42 System.gc(); 43 imagej.quit(); 43 imp.close(); 44 impBF.close(); 45 impIN.close(); 46 bp=null; 47 try{ 48 ResultsTable.getResultsTable().reset(); 49 RoiManager.getInstance2().dispose(); 50 }catch(Exception e){ 51 //fall through - happens when RoiManager isnt init'ed... 52 } 53 54 IJ = null; 55 56 try{ 57 IJ.run("Close All"); 58 WindowManager.closeAllWindows(); 59 imagej.quit(); 60 garbageCollect(); 61 }catch(Exception e){ 62 garbageCollect(); 63 } 44 64 } 45 65 … … 47 67 public static void init(String mode, int width, int height, double pixelsPerMicron) { 48 68 try{ 49 s_Date = new java.text.SimpleDateFormat("MM.dd.yyyy hh:mm:ss").format( 50 new java.util.Date()); 69 // timer = new Timestamp(0); 70 long initialTime = System.nanoTime(); 71 nSlices=0; 72 nSlicesBF=0; 73 nSlicesIN=0; 74 impBF=new ImagePlus(); 75 impIN=new ImagePlus(); 76 imp=new ImagePlus(); 77 // s_Date = new java.text.SimpleDateFormat("MM.dd.yyyy hh:mm:ss").format(new java.util.Date()); 51 78 byte[] r = new byte[256]; 52 byte[] g = new byte[256];53 byte[] b = new byte[256];54 55 79 for(int ii=0 ; ii<256 ; ii++) 56 r[ii] = g[ii] = b[ii] = (byte)ii; 57 58 theCM = new IndexColorModel(8, 256, r,g,b); 80 r[ii]=(byte)ii; 81 82 theCM = new IndexColorModel(8, 256, r,r,r); 83 ByteProcessor initBP = new ByteProcessor(width,height); 84 dummyData = new byte[width*height]; 85 bp = new ByteProcessor(width,height,dummyData, theCM); 86 bp.createImage(); 87 59 88 mode=mode.toLowerCase(); 89 60 90 if ("brightfield".equals(mode)) { 61 IJ.newImage("Brightfield Images", "8-bit", width, height, 0); 62 // IJ.runMacro("newImage(\"Brightfield Images\", \"8-bit\", "+width+", "+height+", 0)"); 91 impBF = new ImagePlus("Brightfield images", initBP); 92 stackBF = new ImageStack(width,height, theCM); 93 impBF.show(); 94 impBF.unlock(); 95 96 stackBF.addSlice("Slice "+nSlicesBF, bp); 97 impBF.setStack("Brightfield images", stackBF); 98 impBF.setSlice(1); 99 impBF.unlock(); 63 100 } 64 101 else if ("intensity".equals(mode)) { 65 IJ.newImage("Intensity Images", "8-bit", width, height, 0); 66 // IJ.runMacro("newImage(\"Intensity Images\", \"8-bit\", "+width+", "+height+", 0)"); 102 impIN = new ImagePlus("Intensity images", initBP); 103 stackIN = new ImageStack(width,height, theCM); 104 impIN.show(); 105 impIN.unlock(); 106 107 stackIN.addSlice("Slice "+nSlicesIN, bp); 108 impIN.setStack("Intensity images", stackIN); 109 impIN.setSlice(1); 110 impIN.unlock(); 67 111 } 68 112 else if ("both".equals(mode)) { 69 IJ.newImage("Brightfield Images", "8-bit", width, height, 0); 70 IJ.newImage("Intensity Images", "8-bit", width, height, 0); 71 // IJ.runMacro("newImage(\"Brightfield Images\", \"8-bit\", "+width+", "+height+", 0)"); 72 // IJ.runMacro("newImage(\"Intensity Images\", \"8-bit\", "+width+", "+height+", 0)"); 113 impBF = new ImagePlus("Brightfield images", initBP); 114 stackBF = new ImageStack(width,height, theCM); 115 impBF.show(); 116 impBF.unlock(); 117 118 stackBF.addSlice("Slice "+nSlicesBF, bp); 119 impBF.setStack("Brightfield images", stackBF); 120 impBF.setSlice(1); 121 impBF.unlock(); 122 123 impIN = new ImagePlus("Intensity images", initBP); 124 stackIN = new ImageStack(width,height, theCM); 125 impIN.show(); 126 impIN.unlock(); 127 128 stackIN.addSlice("Slice "+nSlicesIN, bp); 129 impIN.setStack("Intensity images", stackIN); 130 impIN.setSlice(1); 131 impIN.unlock(); 73 132 } 74 133 else { 75 IJ.newImage("Islet Images", "8-bit", width, height, 0); 76 // IJ.runMacro("newImage(\"Islet Images\", \"8-bit\", "+width+", "+height+", 0)"); 134 imp = new ImagePlus("Islet images", initBP); 135 stack = new ImageStack(width,height, theCM); 136 imp.show(); 137 imp.unlock(); 138 139 stack.addSlice("Slice "+nSlices, bp); 140 imp.setStack("Islet images", stack); 141 imp.setSlice(1); 142 imp.unlock(); 77 143 } 78 144 if (pixelsPerMicron > 0){ 79 145 pixelMicronSquared = pixelsPerMicron*pixelsPerMicron; 80 IJ.run("Set Scale...", "distance="+width+" known="+((double)width/pixelsPerMicron) +" pixel=1 unit=microns"); 146 IJ.run("Set Scale...", "distance="+width+" known="+((double)width/pixelsPerMicron) +" pixel=1 unit=microns"); 147 //-----------------------FOR DEBUG PURPOSES--------------------// 148 IJ.log("ImageJ started for "+mode+" mode in "+ ((System.nanoTime() - initialTime)/1000) +"us"); 149 //-------------------------------------------------------------// 81 150 } 82 151 else pixelMicronSquared = 0.180028*0.180028; … … 96 165 public static void showImage(String mode, int width, int height, byte[] imageData) { 97 166 try{ 167 long initialTime = System.nanoTime(); 98 168 bp = new ByteProcessor(width,height,imageData, theCM); 99 // String mode = "brightfield"; 100 if ("brightfield".equalsIgnoreCase(mode)) { 101 IJ.selectWindow("Brightfield Images"); 102 // IJ.run("selectWindow(\"Brightfield Images\")"); 103 } 104 else if ("intensity".equalsIgnoreCase(mode)) { 105 IJ.selectWindow("Intensity Images"); 106 // IJ.run("selectWindow(\"Intensity Images\")"); 169 bp.createImage(); 170 mode = mode.toLowerCase(); 171 if ("brightfield".equals(mode)) { 172 stackBF.addSlice("Slice "+nSlicesBF, bp); 173 impBF.setStack("Brightfield Images", stackBF); 174 impBF.setSlice(stackBF.getSize()); 175 impBF.show(); 176 impBF.unlock(); 177 nSlicesBF++; 178 //-----------------------FOR DEBUG PURPOSES--------------------// 179 IJ.log("brightfield image "+nSlicesBF+" displayed in "+ ((System.nanoTime() - initialTime)/1000) +"us"); 180 //-------------------------------------------------------------// 181 } 182 else if ("intensity".equals(mode)) { 183 stackIN.addSlice("Slice "+nSlicesIN, bp); 184 impIN.setStack("Intensity Images", stackIN); 185 impIN.setSlice(stackIN.getSize()); 186 impIN.show(); 187 impIN.unlock(); 188 nSlicesIN++; 189 //-----------------------FOR DEBUG PURPOSES--------------------// 190 IJ.log("intensity image "+nSlicesIN+" displayed in "+ ((System.nanoTime() - initialTime)/1000) +"us"); 191 //-------------------------------------------------------------// 107 192 } 108 193 else { 109 IJ.selectWindow("Islet Images"); 110 // IJ.run("selectWindow(\"Islet Images\")"); 111 } 112 IJ.run("Add Slice"); 113 imp.setImage(bp.createImage()); 114 //imp.show(); 194 stack.addSlice("Slice "+nSlices, bp); 195 imp.setStack("Islet Images", stack); 196 imp.setSlice(stack.getSize()); 197 imp.show(); 198 imp.unlock(); 199 nSlices++; 200 } 201 115 202 } catch(Exception e){ 116 System. out.println("Error at showImage method " + e.getLocalizedMessage());203 System.err.println("Error at showImage method " + e.getLocalizedMessage()); 117 204 } 118 205 } … … 120 207 @SuppressWarnings("static-access") 121 208 public static float[] getParticleAreas(boolean isIntensityImage, boolean excludeOnEdge, double thresholdMin, int sizeMin){ 122 123 float[] retVal = new float[1]; 209 long initialTime = System.nanoTime(); 124 210 Interpreter.batchMode=true; 125 try{ 126 127 if(isIntensityImage){ 128 if(excludeOnEdge) IJ.run("Find Particle Areas", "channel=Intensity threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+" exclude_particles_on_edge"); 129 else IJ.run("Find Particle Areas", "channel=Intensity threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+""); 211 212 try{ 213 214 if(isIntensityImage){ 215 try{ 216 if(excludeOnEdge) IJ.run(impIN, "Find Particle Areas", "channel=Intensity threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+" exclude_particles_on_edge"); 217 else IJ.run(impIN, "Find Particle Areas", "channel=Intensity threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+""); 218 //-----------------------FOR DEBUG PURPOSES--------------------// 219 IJ.log("plugin finished on intensity image "+nSlicesIN+" in "+ ((System.nanoTime() - initialTime)/1000) +"us"); 220 //-------------------------------------------------------------// 221 222 }catch(Exception e){ 223 if(excludeOnEdge)IJ.run(imp, "Find Particle Areas", "channel=Brightfield threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+" exclude_particles_on_edge"); 224 else IJ.run(imp, "Find Particle Areas", "channel=Brightfield threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+""); 225 } 226 // if(excludeOnEdge) IJ.run("Find Particle Areas", "channel=Intensity threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+" exclude_particles_on_edge"); 227 // else IJ.run("Find Particle Areas", "channel=Intensity threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+""); 130 228 } 131 229 else { 132 if(excludeOnEdge)IJ.run("Find Particle Areas", "channel=Brightfield threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+" exclude_particles_on_edge"); 133 else IJ.run("Find Particle Areas", "channel=Brightfield threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+""); 134 } 135 136 RoiManager rman = RoiManager.getInstance2(); 137 ResultsTable rtab = ResultsTable.getResultsTable(); 138 139 int lengthOfRoiTable = rman.getCount(); 140 141 if (lengthOfRoiTable!=0){ 142 143 retVal = new float[lengthOfRoiTable]; 230 try{ 231 if(excludeOnEdge)IJ.run(impBF, "Find Particle Areas", "channel=Brightfield threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+" exclude_particles_on_edge"); 232 else IJ.run(impBF, "Find Particle Areas", "channel=Brightfield threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+""); 233 //-----------------------FOR DEBUG PURPOSES--------------------// 234 IJ.log("plugin finished on brightfield image "+nSlicesBF+" in "+ ((System.nanoTime() - initialTime)/1000) +"us"); 235 //-------------------------------------------------------------// 236 237 }catch(Exception e){ 238 if(excludeOnEdge)IJ.run(imp, "Find Particle Areas", "channel=Brightfield threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+" exclude_particles_on_edge"); 239 else IJ.run(imp, "Find Particle Areas", "channel=Brightfield threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+""); 240 } 241 // if(excludeOnEdge)IJ.run("Find Particle Areas", "channel=Brightfield threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+" exclude_particles_on_edge"); 242 // else IJ.run("Find Particle Areas", "channel=Brightfield threshold_minimum="+thresholdMin+" size_minimum="+sizeMin+""); 243 } 244 245 rman = RoiManager.getInstance2(); 246 if(rman.getCount()>0){ 247 rman.runCommand("Measure"); 248 rtab = ResultsTable.getResultsTable(); 249 250 // int lengthOfRoiTable = rman.getCount(); 251 252 // if (lengthOfRoiTable!=0){ 253 254 // retVal = new float[lengthOfRoiTable]; 144 255 float[] areasArray = rtab.getColumn(rtab.getColumnIndex("Area")); 145 256 146 257 if(areasArray!=null){ 147 for (int i = 0; i < lengthOfRoiTable; i++){148 retVal[i]=areasArray[i];149 }150 rman.dispose();258 // for (int i = 0; i < lengthOfRoiTable; i++){ 259 // retVal[i]=areasArray[i]; 260 // } 261 // rman.dispose(); 151 262 rtab.reset(); 152 return retVal; 263 rman.runCommand("Deselect"); 264 rman.runCommand("Delete"); 265 266 //-----------------------FOR DEBUG PURPOSES--------------------// 267 IJ.log("particle areas calculated in "+ ((System.nanoTime() - initialTime)/1000) +"us"); 268 //-------------------------------------------------------------// 269 // return retVal; 270 return areasArray; 153 271 } 154 272 155 273 rman.runCommand("Deselect"); 156 rman.runCommand("Delete"); 274 rman.runCommand("Delete"); 157 275 } 158 276 }catch (Exception e){ 159 277 //fall through 160 278 } 279 280 float[] defaultVal = new float[1]; 161 281 Interpreter.batchMode=false; 162 retVal[0]=0;163 return retVal;282 defaultVal[0]=0; 283 return defaultVal; 164 284 } 165 285 -
trunk/projects/flow-cytometry/src/main/java/loci/apps/flow/FlowCytometry.java
r7955 r7964 205 205 } 206 206 207 208 209 207 public static void showImage(String mode, int width, int height, byte[] imageData) { 210 try{ 211 bp = new ByteProcessor(width,height,imageData, theCM); 212 // String mode = "brightfield"; 213 if ("brightfield".equalsIgnoreCase(mode)) { 214 IJ.run("selectWindow(\"Brightfield Images\")"); 215 } 216 else if ("intensity".equalsIgnoreCase(mode)) { 217 IJ.run("selectWindow(\"Intensity Images\")"); 218 } 219 else { 220 IJ.run("selectWindow(\"Islet Images\")"); 221 } 222 IJ.run("Add Slice"); 223 imp.setImage(bp.createImage()); 224 imp.show(); 225 } catch(Exception e){ 226 System.out.println("Error at showImage method " + e.getLocalizedMessage()); 227 } 228 /* bp.createImage(); 208 //bp = new ByteProcessor(width,height,imageData, 209 // ImageTools.makeColorModel(1, DataBuffer.TYPE_BYTE)); 210 bp = new ByteProcessor(width,height,imageData, theCM); 211 bp.createImage(); 229 212 stack.addSlice("Slice "+nSlices, bp); 230 imp.setStack( "Islet images", stack);213 imp.setStack(mode, stack); 231 214 imp.setSlice(stack.getSize()); 232 215 imp.show(); … … 238 221 ImageWindow stackwin = imp.getWindow(); 239 222 scroll = stackwin.getComponent(1); 240 241 ComponentListener l = new ComponentListener() { 242 @SuppressWarnings("synthetic-access") 243 public void adjustmentValueChanged(AdjustmentEvent arg0) { 244 try { 245 int slideNum = 246 ((Scrollbar) imp.getWindow().getComponent(1)).getValue(); 247 //for the detected particles window 248 if (showParticles) { 249 d = new Detector(resolutionWidth, 250 intensityThreshold, areaThresholdInPixels); 251 d.findParticles(stack.getProcessor(slideNum)); 252 d.crunchArray(); 253 Detector.displayImage(d.getFloodArray()); 254 } 255 256 //for the graph 257 //IJ.log("This is slide "+slideNum+ 258 // " and particle numbers on this slide go from "+ 259 // sliceBegin[slideNum]+" to "+sliceEnd[slideNum]); 260 //IJ.log(Integer.toString(((Scrollbar) 261 // Intensity_.this.imp.getWindow().getComponent(1)).getValue())); 262 FlowCytometry.data_ref.setData( 263 newestGetData(slideNum, cumulative, intensity, fn)); 264 FlowCytometry.display.reDisplayAll(); 265 //Intensity_.this.data_ref.setData( 266 // getData(imp.getCurrentSlice(), cumulative, intensity, fn)); 267 } 268 catch (RemoteException e) { 269 // ignore exceptions 270 } 271 catch (VisADException e) { 272 // ignore exceptions 273 } 274 */ } 275 276 /* @Override 277 public void componentHidden(ComponentEvent e) { 278 // TODO Auto-generated method stub 279 280 } 281 282 @Override 283 public void componentMoved(ComponentEvent e) { 284 // TODO Auto-generated method stub 285 286 } 287 288 @Override 289 public void componentResized(ComponentEvent e) { 290 // TODO Auto-generated method stub 291 292 } 293 294 @Override 295 public void componentShown(ComponentEvent e) { 296 // TODO Auto-generated method stub 297 298 } 299 }; 300 scroll.addComponentListener((ComponentListener) l); 301 } 302 } 303 */ 223 } 224 nSlices++; 225 } 226 304 227 public static void initVars() { 305 228 maxArea=Double.MIN_VALUE; … … 328 251 329 252 public static void init(String mode, int width, int height, double pixelsPerMicron) { 330 try{331 253 setResolution(width, height); 332 254 s_Date = new java.text.SimpleDateFormat("MM.dd.yyyy hh:mm:ss").format( 333 255 new java.util.Date()); 256 334 257 byte[] r = new byte[256]; 335 258 byte[] g = new byte[256]; … … 340 263 341 264 theCM = new IndexColorModel(8, 256, r,g,b); 342 mode=mode.toLowerCase(); 343 if ("brightfield".equals(mode)) { 344 IJ.runMacro("newImage(\"Brightfield Images\", \"8-bit\", "+width+", "+height+", 0)"); 345 } 346 else if ("intensity".equals(mode)) { 347 IJ.runMacro("newImage(\"Intensity Images\", \"8-bit\", "+width+", "+height+", 0)"); 348 } 349 else if ("both".equals(mode)) { 350 IJ.runMacro("newImage(\"Brightfield Images\", \"8-bit\", "+width+", "+height+", 0)"); 351 IJ.runMacro("newImage(\"Intensity Images\", \"8-bit\", "+width+", "+height+", 0)"); 352 } 353 else { 354 IJ.runMacro("newImage(\"Islet Images\", \"8-bit\", "+width+", "+height+", 0)"); 355 } 356 if (pixelsPerMicron > 0){ 357 pixelMicronSquared = pixelsPerMicron*pixelsPerMicron; 358 IJ.run("Set Scale...", "distance="+width+" known="+((double)width/pixelsPerMicron) +" pixel=1 unit=microns"); 359 } 360 else pixelMicronSquared = 0.149*0.149; 361 } catch(Exception e){ 362 System.out.println("Exception at init mehtod " + e.getLocalizedMessage()); 363 } 364 365 366 /* setResolution(width, height); 367 s_Date = new java.text.SimpleDateFormat("MM.dd.yyyy hh:mm:ss").format( 368 new java.util.Date()); 369 370 byte[] r = new byte[256]; 371 byte[] g = new byte[256]; 372 byte[] b = new byte[256]; 373 374 for(int ii=0 ; ii<256 ; ii++) 375 r[ii] = g[ii] = b[ii] = (byte)ii; 376 377 theCM = new IndexColorModel(8, 256, r,g,b); 378 imp = new ImagePlus("Islet images", 265 imp = new ImagePlus(mode+" images", 379 266 new ByteProcessor(resolutionWidth,resolutionHeight)); 380 267 stack = new ImageStack(resolutionWidth, resolutionHeight, theCM); 381 268 imp.show(); 382 383 Detector.createImageHolder(resolutionWidth, resolutionHeight);384 269 385 270 imp.unlock(); … … 396 281 bp.createImage(); 397 282 stack.addSlice("Slice "+nSlices, bp); 398 imp.setStack("Islet images", stack); 399 283 imp.setStack(mode+" images", stack); 400 284 imp.setSlice(1); 401 402 try { 403 // Display initialization 404 405 display = new DisplayImplJ2D("Graph Display"); 406 data_ref = new DataReferenceImpl("data_ref"); 407 data_ref.setData(null); 408 display.addReference(data_ref); 409 display.getGraphicsModeControl().setScaleEnable(true); 410 display.getGraphicsModeControl().setPointSize(3); 411 setAxes(0,1); 412 413 frame = new JFrame("Graph Window"); 414 frame.setLayout(new BorderLayout()); 415 416 CBcumulative = new JCheckBox("Cumulative"); 417 CBcumulative.setMnemonic(KeyEvent.VK_G); 418 JPanel bottomPanel = new JPanel(); 419 bottomPanel.setLayout(new BoxLayout(bottomPanel, BoxLayout.LINE_AXIS)); 420 bottomPanel.add(CBcumulative); 421 422 frame.getContentPane().add(display.getComponent(), BorderLayout.CENTER); 423 frame.getContentPane().add(bottomPanel, BorderLayout.SOUTH); 424 425 ItemListener CBitemListener = new ItemListener() { 426 @SuppressWarnings("synthetic-access") 427 @Override 428 public void itemStateChanged(ItemEvent itemEvent) { 429 cumulative = itemEvent.getStateChange() == ItemEvent.SELECTED; 430 try { 431 FlowCytometry.data_ref.setData(newestGetData( 432 imp.getCurrentSlice(), cumulative, intensity, fn)); 433 FlowCytometry.display.reDisplayAll(); 434 } 435 catch (RemoteException e) { 436 // ignore exceptions 437 } 438 catch (VisADException e) { 439 // ignore exceptions 440 } 441 } 442 }; 443 CBcumulative.addItemListener(CBitemListener); 444 445 imp.setSlice(1); 446 frame.setSize(600, 600); 447 frame.setVisible(true); 448 } 449 catch (VisADException e) { 450 IJ.log("VisAD Exception in init: "+e.getMessage()); 451 } 452 catch (RemoteException re) { 453 IJ.log("Remote Exception: "+re.getMessage()); 454 } 455 */ 456 } 457 285 } 458 286 public static void setAxes(int x, int y) { 459 287 // 0 - Intensity
Note: See TracChangeset
for help on using the changeset viewer.