Changeset 7980


Ignore:
Timestamp:
04/17/12 19:25:43 (8 years ago)
Author:
avivekan
Message:

changed byte[] to short[] and ByteProcessor to ShortProcessor...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/projects/flow-cytometry/src/main/java/loci/apps/flow/FlowCyto.java

    r7973 r7980  
    1212import ij.plugin.frame.RoiManager; 
    1313import ij.process.ByteProcessor; 
     14import ij.process.ShortProcessor; 
    1415 
    1516import java.awt.image.ColorModel; 
     
    2526        private static ImageStack stack, stackBF, stackIN; 
    2627        private static int nSlices, nSlicesBF, nSlicesIN; 
    27         private static ByteProcessor bp; 
     28//      private static ByteProcessor bp; 
     29        private static ShortProcessor sp; 
    2830        private static ColorModel theCM;         
    2931        //      private static String s_Name, s_Experiment, s_Params, s_Date, tempImageName; 
    3032        private static double pixelMicronSquared; 
    31         private static byte[] dummyData; 
     33        private static short[] dummyData; 
    3234        private static Duplicator dup; 
    3335        private static float sumIntensityAreasHolder; 
     36        private static long debugTimeStart; 
    3437 
    3538 
     
    4649                impBF.close(); 
    4750                impIN.close(); 
    48                 bp=null; 
     51                sp=null; 
     52 
    4953                try{ 
    5054                        ResultsTable.getResultsTable().reset(); 
     
    8387                                r[ii]=(byte)ii; 
    8488 
    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(); 
     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(); 
    9094 
    9195                        mode=mode.toLowerCase(); 
    9296 
    9397                        if ("brightfield".equals(mode)) { 
    94                                 impBF = new ImagePlus("Brightfield images",     initBP); 
     98                                impBF = new ImagePlus("Brightfield images",     initSP); 
    9599                                stackBF = new ImageStack(width,height, theCM); 
    96100                                impBF.show(); 
    97101                                impBF.unlock(); 
    98102 
    99                                 stackBF.addSlice("Slice "+nSlicesBF, bp); 
     103                                stackBF.addSlice("Slice "+nSlicesBF, sp); 
    100104                                impBF.setStack("Brightfield images", stackBF); 
    101105                                impBF.setSlice(1);       
     
    103107                        } 
    104108                        else if ("intensity".equals(mode)) { 
    105                                 impIN = new ImagePlus("Intensity images", initBP); 
     109                                impIN = new ImagePlus("Intensity images", initSP); 
    106110                                stackIN = new ImageStack(width,height, theCM); 
    107111                                impIN.show(); 
    108112                                impIN.unlock(); 
    109113 
    110                                 stackIN.addSlice("Slice "+nSlicesIN, bp); 
     114                                stackIN.addSlice("Slice "+nSlicesIN, sp); 
    111115                                impIN.setStack("Intensity images", stackIN); 
    112116                                impIN.setSlice(1); 
     
    114118                        } 
    115119                        else if ("both".equals(mode)) { 
    116                                 impBF = new ImagePlus("Brightfield images",     initBP); 
     120                                impBF = new ImagePlus("Brightfield images",     initSP); 
    117121                                stackBF = new ImageStack(width,height, theCM); 
    118122                                impBF.show(); 
    119123                                impBF.unlock(); 
    120124 
    121                                 stackBF.addSlice("Slice "+nSlicesBF, bp); 
     125                                stackBF.addSlice("Slice "+nSlicesBF, sp); 
    122126                                impBF.setStack("Brightfield images", stackBF); 
    123127                                impBF.setSlice(1);       
    124128                                impBF.unlock(); 
    125129 
    126                                 impIN = new ImagePlus("Intensity images", initBP); 
     130                                impIN = new ImagePlus("Intensity images", initSP); 
    127131                                stackIN = new ImageStack(width,height, theCM); 
    128132                                impIN.show(); 
    129133                                impIN.unlock(); 
    130134 
    131                                 stackIN.addSlice("Slice "+nSlicesIN, bp); 
     135                                stackIN.addSlice("Slice "+nSlicesIN, sp); 
    132136                                impIN.setStack("Intensity images", stackIN); 
    133137                                impIN.setSlice(1); 
     
    135139                        } 
    136140                        else { 
    137                                 imp = new ImagePlus("Islet images",     initBP); 
     141                                imp = new ImagePlus("Islet images",     initSP); 
    138142                                stack = new ImageStack(width,height, theCM); 
    139143                                imp.show(); 
    140144                                imp.unlock(); 
    141145 
    142                                 stack.addSlice("Slice "+nSlices, bp); 
     146                                stack.addSlice("Slice "+nSlices, sp); 
    143147                                imp.setStack("Islet images", stack); 
    144148                                imp.setSlice(1);         
     
    166170 
    167171        @SuppressWarnings("static-access") 
    168         public static void showImage(int mode, int width, int height, byte[] imageData) { 
     172        public static void showImage(int mode, int width, int height, short[] imageData) { 
    169173                try{ 
    170174                        long initialTime = System.nanoTime(); 
    171                         bp = new ByteProcessor(width,height,imageData, theCM); 
    172                         bp.createImage(); 
     175                //      bp = new ByteProcessor(width,height,imageData, theCM); 
     176                        sp = new ShortProcessor(width, height, imageData, theCM, true); 
     177        //              bp.createImage(); 
    173178 
    174179                        //brightfield 
    175180                        if (mode == 1) { 
    176                                 stackBF.addSlice("Slice "+nSlicesBF, bp); 
     181                                stackBF.addSlice("Slice "+nSlicesBF, sp); 
    177182                                impBF.setStack("Brightfield Images", stackBF); 
    178183                                impBF.setSlice(stackBF.getSize()); 
     
    187192                        //intensity 
    188193                        else if (mode == 2) { 
    189                                 stackIN.addSlice("Slice "+nSlicesIN, bp); 
     194                                stackIN.addSlice("Slice "+nSlicesIN, sp); 
    190195                                impIN.setStack("Intensity Images", stackIN); 
    191196                                impIN.setSlice(stackIN.getSize()); 
     
    200205                        //default 
    201206                        else { 
    202                                 stack.addSlice("Slice "+nSlices, bp); 
     207                                stack.addSlice("Slice "+nSlices, sp); 
    203208                                imp.setStack("Islet Images", stack); 
    204209                                imp.setSlice(stack.getSize()); 
     
    350355                                        if((sumBFPixelAreas!=0) && ((sumIntensityAreasHolder/sumBFPixelAreas) >= compareTOLow) && ((sumIntensityAreasHolder/sumBFPixelAreas) <= compareTOHigh)){ 
    351356 
    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; 
     357                                                //-----------------------FOR DEBUG PURPOSES--------------------// 
     358                                                IJ.log("plugin finished -TRUE- on brightfield ratio image "+nSlicesBF+" in \t \t \t"+ ((System.nanoTime() - initialTime)/1000000) +"ms"); 
     359                                                //-------------------------------------------------------------// 
     360                                                //-----------------------FOR DEBUG PURPOSES--------------------// 
     361                                                IJ.log("_"); 
     362                                                //-------------------------------------------------------------// 
     363 
     364                                                return true; 
    360365                                        } 
    361366 
     
    368373                                        if((sumBFPixelAreas!=0) && ((sumIntensityAreasHolder/sumBFPixelAreas) >= compareTOLow) && ((sumIntensityAreasHolder/sumBFPixelAreas) <= compareTOHigh)){ 
    369374 
    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; 
     375                                                //-----------------------FOR DEBUG PURPOSES--------------------// 
     376                                                IJ.log("plugin finished TRUE on ISLET DEFAULT image "+nSlicesIN+" in \t \t \t"+ ((System.nanoTime() - initialTime)/1000000) +"ms"); 
     377                                                //-------------------------------------------------------------// 
     378                                                //-----------------------FOR DEBUG PURPOSES--------------------// 
     379                                                IJ.log("_"); 
     380                                                //-------------------------------------------------------------// 
     381 
     382                                                return true; 
    378383                                        } 
    379384 
     
    400405        } 
    401406 
     407        @SuppressWarnings("static-access") 
    402408        public static void logInImageJ(String message){ 
    403409                IJ.log(message); 
    404410        } 
     411         
     412        //next two methods are intended to be called from WiscScan's C++ components 
     413        @SuppressWarnings("static-access") 
     414        public static void createDebugTimeStartPoint(String message){ 
     415                debugTimeStart=System.nanoTime(); 
     416                IJ.log(message+" --START noted at \t \t \t"+ (debugTimeStart/1000000) +"ms"); 
     417        } 
     418 
     419        @SuppressWarnings("static-access") 
     420        public static void createDebugTimeCheckPoint(String message){ 
     421                IJ.log(message+" --CHECKPOINT noted at \t \t \t"+ ((System.nanoTime() - debugTimeStart)/1000000) +"ms"); 
     422        } 
     423 
    405424 
    406425} 
Note: See TracChangeset for help on using the changeset viewer.