Changeset 7955


Ignore:
Timestamp:
04/10/12 00:29:07 (7 years ago)
Author:
avivekan
Message:

changes to plugin, and new flowcyto class created with only the methods needed because old one was too cumbersome.

Location:
trunk/projects/flow-cytometry/src/main/java/loci/apps/flow
Files:
1 added
2 edited

Legend:

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

    r7916 r7955  
    11package loci.apps.flow; 
     2 
    23 
    34import ij.*; 
     
    67import ij.process.ImageProcessor; 
    78import ij.gui.GenericDialog; 
    8 import ij.macro.*; 
     9import ij.measure.ResultsTable; 
    910 
    1011public class Find_Particle_Areas implements PlugInFilter { 
     
    3132                        gd.addNumericField ("Size_Minimum",  0, 0); 
    3233                        gd.addCheckbox("Exclude_Particles_on_Edge",true); 
     34                        gd.addCheckbox("Show summed areas",false); 
    3335 
    3436                        gd.showDialog(); 
     
    3941                        int sizeMin= (int) gd.getNextNumber(); 
    4042                        boolean exclude=gd.getNextBoolean ();  
     43                        boolean doTheSum= gd.getNextBoolean(); 
    4144 
    42                         Interpreter.batchMode=true; 
     45        //              Interpreter.batchMode=true; 
    4346 
    4447                        ImageProcessor duplicatedArg0 = arg0.duplicate(); 
     
    4750                        if(myMethod.equals("Intensity")){ 
    4851                                imp.getProcessor().setThreshold(thresholdMin, 255, ImageProcessor.RED_LUT); 
    49 /*                              IJ.run(imp, "Threshold...", null); 
     52                                /*                              IJ.run(imp, "Threshold...", null); 
    5053                                IJ.runMacro("setAutoThreshold(\"Default dark\")", null); 
    5154                                IJ.runMacro("setThreshold("+thresholdMin+", 255)", null); 
    52 */                              IJ.run(imp, "Convert to Mask", null); 
     55                                 */                             IJ.run(imp, "Convert to Mask", null); 
    5356 
    54                                 if(exclude) IJ.run(imp, "Analyze Particles...", "size="+sizeMin+"-Infinity circularity=0.00-1.00 show=Masks display exclude clear include add"); 
    55                                 else IJ.run(imp, "Analyze Particles...", "size="+sizeMin+"-Infinity circularity=0.00-1.00 show=Masks display clear include add"); 
     57                                 if(exclude) IJ.run(imp, "Analyze Particles...", "size="+sizeMin+"-Infinity circularity=0.00-1.00 show=Masks display exclude clear include add"); 
     58                                 else IJ.run(imp, "Analyze Particles...", "size="+sizeMin+"-Infinity circularity=0.00-1.00 show=Masks display clear include add"); 
    5659                        }                        
    5760                        else{ 
     
    6770 
    6871                        } 
    69                         if(RoiManager.getInstance().getCount()>0) 
    70                                 IJ.runMacro("roiManager(\"Measure\")",null); 
     72                                 
     73                        RoiManager roiMan = RoiManager.getInstance2(); 
     74                        if(roiMan.getCount()>0) 
     75                                roiMan.runCommand("Measure"); 
     76//                              IJ.runMacro("roiManager(\"Measure\")",null); 
     77 
     78                        if (doTheSum){ 
     79                                try{ 
     80                                        int lengthOfRoiTable=roiMan.getCount(); 
     81                                        float retVal=0; 
     82                                        float[] temp = ResultsTable.getResultsTable().getColumn(ResultsTable.getResultsTable().getColumnIndex("Area")); 
     83                                        for (int i = 0; i < lengthOfRoiTable; i++){ 
     84                                                retVal+=temp[i]; 
     85                                        } 
     86                                        IJ.showMessage("Sum of all particle areas: "+retVal+" (pixels)"); 
     87                                } catch(Exception e){ 
     88                                        IJ.showMessage("Error with doTheSum"); 
     89                                } 
     90                        } 
    7191 
    7292                        imp.close(); 
    7393 
    74                         Interpreter.batchMode=false; 
    7594 
    7695                } catch(Exception e){ 
     
    7897 
    7998                } 
    80                 Interpreter.batchMode=false; 
     99        //      Interpreter.batchMode=false; 
    81100 
    82101        } 
  • trunk/projects/flow-cytometry/src/main/java/loci/apps/flow/FlowCytometry.java

    r7934 r7955  
    208208 
    209209        public static void showImage(String mode, int width, int height, byte[] imageData) { 
    210                  
    211                 bp = new ByteProcessor(width,height,imageData, theCM); 
    212 //              String mode = "brightfield"; 
    213                 if ("brightfield".equals(mode)) { 
    214                         IJ.run("selectWindow(\"Brightfield Images\")"); 
    215                 } 
    216                 else if ("intensity".equals(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                  
    226 /*              bp.createImage(); 
     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(); 
    227229                stack.addSlice("Slice "+nSlices, bp); 
    228230                imp.setStack("Islet images", stack); 
     
    236238                        ImageWindow stackwin = imp.getWindow(); 
    237239                        scroll = stackwin.getComponent(1); 
    238                  
     240 
    239241                        ComponentListener l = new ComponentListener() { 
    240242                                @SuppressWarnings("synthetic-access") 
     
    270272                                                // ignore exceptions 
    271273                                        } 
    272 */                              } 
    273  
    274 /*                              @Override 
     274                 */                             } 
     275 
     276        /*                              @Override 
    275277                                public void componentHidden(ComponentEvent e) { 
    276278                                        // TODO Auto-generated method stub 
     
    299301                } 
    300302        } 
    301 */ 
     303         */ 
    302304        public static void initVars() { 
    303305                maxArea=Double.MIN_VALUE; 
     
    326328 
    327329        public static void init(String mode, int width, int height, double pixelsPerMicron) { 
    328  
     330                try{ 
    329331                setResolution(width, height); 
    330332                s_Date = new java.text.SimpleDateFormat("MM.dd.yyyy hh:mm:ss").format( 
     
    338340 
    339341                theCM = new IndexColorModel(8, 256, r,g,b); 
    340 //              String mode = "brightfield"; 
    341342                mode=mode.toLowerCase(); 
    342343                if ("brightfield".equals(mode)) { 
    343                         IJ.newImage("Brightfield Images", "8-bit", width, height, 0); 
     344                        IJ.runMacro("newImage(\"Brightfield Images\", \"8-bit\", "+width+", "+height+", 0)");                    
    344345                } 
    345346                else if ("intensity".equals(mode)) { 
    346                         IJ.newImage("Intensity Images", "8-Bit", width, height, 0); 
     347                        IJ.runMacro("newImage(\"Intensity Images\", \"8-bit\", "+width+", "+height+", 0)"); 
    347348                } 
    348349                else if ("both".equals(mode)) { 
    349                         IJ.newImage("Brightfield Images", "8-bit", width, height, 0); 
    350                         IJ.newImage("Intensity Images", "8-Bit", width, height, 0); 
     350                        IJ.runMacro("newImage(\"Brightfield Images\", \"8-bit\", "+width+", "+height+", 0)"); 
     351                        IJ.runMacro("newImage(\"Intensity Images\", \"8-bit\", "+width+", "+height+", 0)"); 
    351352                } 
    352353                else { 
    353                         IJ.newImage("Islet Images", "8-Bit", width, height, 0); 
     354                        IJ.runMacro("newImage(\"Islet Images\", \"8-bit\", "+width+", "+height+", 0)"); 
    354355                } 
    355356                if (pixelsPerMicron > 0){  
     
    358359                } 
    359360                else pixelMicronSquared = 0.149*0.149; 
    360                  
     361                } catch(Exception e){ 
     362                        System.out.println("Exception at init mehtod " + e.getLocalizedMessage()); 
     363                } 
    361364 
    362365 
Note: See TracChangeset for help on using the changeset viewer.