Changeset 7981
- Timestamp:
- 04/17/12 21:36:18 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/projects/flow-cytometry/src/main/java/loci/apps/flow/FlowCyto.java
r7980 r7981 12 12 import ij.plugin.frame.RoiManager; 13 13 import ij.process.ByteProcessor; 14 import ij.process.ShortProcessor;15 14 16 15 import java.awt.image.ColorModel; … … 26 25 private static ImageStack stack, stackBF, stackIN; 27 26 private static int nSlices, nSlicesBF, nSlicesIN; 28 // private static ByteProcessor bp; 29 private static ShortProcessor sp; 27 private static ByteProcessor bp; 30 28 private static ColorModel theCM; 31 29 // private static String s_Name, s_Experiment, s_Params, s_Date, tempImageName; 32 30 private static double pixelMicronSquared; 33 private static short[] dummyData;31 private static byte[] dummyData; 34 32 private static Duplicator dup; 35 33 private static float sumIntensityAreasHolder; 36 private static long debugTimeStart;37 34 38 35 … … 49 46 impBF.close(); 50 47 impIN.close(); 51 sp=null; 52 48 bp=null; 53 49 try{ 54 50 ResultsTable.getResultsTable().reset(); … … 87 83 r[ii]=(byte)ii; 88 84 89 theCM = new IndexColorModel(8, 256, r,r,r); //8, 256, r,g,b...but r,g,and b are all byte[256], exactly the same...90 ShortProcessor initSP = new ShortProcessor(width,height);91 dummyData = new short[width*height];92 sp = new ShortProcessor(width,height,dummyData, theCM);93 sp.createImage();85 theCM = new IndexColorModel(8, 256, r,r,r); 86 ByteProcessor initBP = new ByteProcessor(width,height); 87 dummyData = new byte[width*height]; 88 bp = new ByteProcessor(width,height,dummyData, theCM); 89 bp.createImage(); 94 90 95 91 mode=mode.toLowerCase(); 96 92 97 93 if ("brightfield".equals(mode)) { 98 impBF = new ImagePlus("Brightfield images", init SP);94 impBF = new ImagePlus("Brightfield images", initBP); 99 95 stackBF = new ImageStack(width,height, theCM); 100 96 impBF.show(); 101 97 impBF.unlock(); 102 98 103 stackBF.addSlice("Slice "+nSlicesBF, sp);99 stackBF.addSlice("Slice "+nSlicesBF, bp); 104 100 impBF.setStack("Brightfield images", stackBF); 105 101 impBF.setSlice(1); … … 107 103 } 108 104 else if ("intensity".equals(mode)) { 109 impIN = new ImagePlus("Intensity images", init SP);105 impIN = new ImagePlus("Intensity images", initBP); 110 106 stackIN = new ImageStack(width,height, theCM); 111 107 impIN.show(); 112 108 impIN.unlock(); 113 109 114 stackIN.addSlice("Slice "+nSlicesIN, sp);110 stackIN.addSlice("Slice "+nSlicesIN, bp); 115 111 impIN.setStack("Intensity images", stackIN); 116 112 impIN.setSlice(1); … … 118 114 } 119 115 else if ("both".equals(mode)) { 120 impBF = new ImagePlus("Brightfield images", init SP);116 impBF = new ImagePlus("Brightfield images", initBP); 121 117 stackBF = new ImageStack(width,height, theCM); 122 118 impBF.show(); 123 119 impBF.unlock(); 124 120 125 stackBF.addSlice("Slice "+nSlicesBF, sp);121 stackBF.addSlice("Slice "+nSlicesBF, bp); 126 122 impBF.setStack("Brightfield images", stackBF); 127 123 impBF.setSlice(1); 128 124 impBF.unlock(); 129 125 130 impIN = new ImagePlus("Intensity images", init SP);126 impIN = new ImagePlus("Intensity images", initBP); 131 127 stackIN = new ImageStack(width,height, theCM); 132 128 impIN.show(); 133 129 impIN.unlock(); 134 130 135 stackIN.addSlice("Slice "+nSlicesIN, sp);131 stackIN.addSlice("Slice "+nSlicesIN, bp); 136 132 impIN.setStack("Intensity images", stackIN); 137 133 impIN.setSlice(1); … … 139 135 } 140 136 else { 141 imp = new ImagePlus("Islet images", init SP);137 imp = new ImagePlus("Islet images", initBP); 142 138 stack = new ImageStack(width,height, theCM); 143 139 imp.show(); 144 140 imp.unlock(); 145 141 146 stack.addSlice("Slice "+nSlices, sp);142 stack.addSlice("Slice "+nSlices, bp); 147 143 imp.setStack("Islet images", stack); 148 144 imp.setSlice(1); … … 170 166 171 167 @SuppressWarnings("static-access") 172 public static void showImage(int mode, int width, int height, short[] imageData) {168 public static void showImage(int mode, int width, int height, byte[] imageData) { 173 169 try{ 174 170 long initialTime = System.nanoTime(); 175 // bp = new ByteProcessor(width,height,imageData, theCM); 176 sp = new ShortProcessor(width, height, imageData, theCM, true); 177 // bp.createImage(); 171 bp = new ByteProcessor(width,height,imageData, theCM); 172 bp.createImage(); 178 173 179 174 //brightfield 180 175 if (mode == 1) { 181 stackBF.addSlice("Slice "+nSlicesBF, sp);176 stackBF.addSlice("Slice "+nSlicesBF, bp); 182 177 impBF.setStack("Brightfield Images", stackBF); 183 178 impBF.setSlice(stackBF.getSize()); … … 192 187 //intensity 193 188 else if (mode == 2) { 194 stackIN.addSlice("Slice "+nSlicesIN, sp);189 stackIN.addSlice("Slice "+nSlicesIN, bp); 195 190 impIN.setStack("Intensity Images", stackIN); 196 191 impIN.setSlice(stackIN.getSize()); … … 205 200 //default 206 201 else { 207 stack.addSlice("Slice "+nSlices, sp);202 stack.addSlice("Slice "+nSlices, bp); 208 203 imp.setStack("Islet Images", stack); 209 204 imp.setSlice(stack.getSize()); … … 355 350 if((sumBFPixelAreas!=0) && ((sumIntensityAreasHolder/sumBFPixelAreas) >= compareTOLow) && ((sumIntensityAreasHolder/sumBFPixelAreas) <= compareTOHigh)){ 356 351 357 358 359 360 361 362 363 364 352 //-----------------------FOR DEBUG PURPOSES--------------------// 353 IJ.log("plugin finished -TRUE- on brightfield ratio image "+nSlicesBF+" in \t \t \t"+ ((System.nanoTime() - initialTime)/1000000) +"ms"); 354 //-------------------------------------------------------------// 355 //-----------------------FOR DEBUG PURPOSES--------------------// 356 IJ.log("_"); 357 //-------------------------------------------------------------// 358 359 return true; 365 360 } 366 361 … … 373 368 if((sumBFPixelAreas!=0) && ((sumIntensityAreasHolder/sumBFPixelAreas) >= compareTOLow) && ((sumIntensityAreasHolder/sumBFPixelAreas) <= compareTOHigh)){ 374 369 375 376 377 378 379 380 381 382 370 //-----------------------FOR DEBUG PURPOSES--------------------// 371 IJ.log("plugin finished TRUE on ISLET DEFAULT image "+nSlicesIN+" in \t \t \t"+ ((System.nanoTime() - initialTime)/1000000) +"ms"); 372 //-------------------------------------------------------------// 373 //-----------------------FOR DEBUG PURPOSES--------------------// 374 IJ.log("_"); 375 //-------------------------------------------------------------// 376 377 return true; 383 378 } 384 379
Note: See TracChangeset
for help on using the changeset viewer.