Changeset 2080


Ignore:
Timestamp:
01/12/07 14:16:31 (13 years ago)
Author:
curtis
Message:

Separate local file, OME server, and Internet into separate plugin entries.

Location:
trunk/loci/plugins
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/plugins/Importer.java

    r2067 r2080  
    4545 
    4646/** 
    47  * Core logic for the LOCI Importer ImageJ plugin. 
     47 * Core logic for the Bio-Formats Importer ImageJ plugin. 
    4848 * 
    4949 * @author Curtis Rueden ctrueden at wisc.edu 
     
    8787  /** Executes the plugin. */ 
    8888  public void run(String arg) { 
     89    String location = null; 
     90    if (arg != null && arg.startsWith("location=")) { 
     91      // parse location from argument 
     92      location = Macro.getValue(arg, "location", null); 
     93      arg = null; 
     94    } 
     95 
    8996    boolean quiet = arg != null && !arg.equals(""); 
    90     String options = Macro.getOptions(); 
    9197 
    9298    // -- Step 1: get filename to open -- 
     
    99105    if (id == null) { 
    100106      // try to get filename from macro options 
     107      String options = Macro.getOptions(); 
    101108      if (options != null) { 
    102109        String open = Macro.getValue(options, "open", null); 
     
    107114    String fileName = id; 
    108115 
    109     if (id == null || id.length() == 0) {  
    110       // open a dialog asking the user where their dataset is 
    111       GenericDialog g = new GenericDialog("Specify location"); 
    112       g.addChoice("File location: ",  
    113         new String[] {LOCAL_FILE, OME_FILE, HTTP_FILE}, LOCAL_FILE);  
    114       g.showDialog(); 
    115      
    116       String location = g.getNextChoice(); 
     116    GenericDialog gd; 
     117    if (id == null || id.length() == 0) { 
     118      if (location == null) { 
     119        // open a dialog asking the user where their dataset is 
     120        gd = new GenericDialog("LOCI Bio-Formats Dataset Location"); 
     121        gd.addChoice("Location: ", 
     122          new String[] {LOCAL_FILE, OME_FILE, HTTP_FILE}, LOCAL_FILE); 
     123        gd.showDialog(); 
     124        if (gd.wasCanceled()) { 
     125          plugin.canceled = true; 
     126          return; 
     127        } 
     128        location = gd.getNextChoice(); 
     129      } 
    117130 
    118131      if (location.equals(LOCAL_FILE)) { 
     
    140153        return; 
    141154      } 
    142       else { 
     155      else if (location.equals(HTTP_FILE)) { 
    143156        // prompt for URL 
    144         GenericDialog urlBox = new GenericDialog("Open"); 
    145         urlBox.addStringField("URL: ", "", 30); 
    146         urlBox.showDialog(); 
    147         id = urlBox.getNextString(); 
     157        gd = new GenericDialog("LOCI Bio-Formats URL"); 
     158        gd.addStringField("URL: ", "http://", 30); 
     159        gd.showDialog(); 
     160        if (gd.wasCanceled()) { 
     161          plugin.canceled = true; 
     162          return; 
     163        } 
     164        id = gd.getNextString(); 
    148165        fileName = id; 
    149       }  
     166      } 
     167      else IJ.error("LOCI Bio-Formats", "Invalid location: " + location); 
    150168    } 
    151169 
     
    203221 
    204222    // prompt for parameters, if necessary 
    205     GenericDialog gd = new GenericDialog("LOCI Bio-Formats Import Options"); 
     223    gd = new GenericDialog("LOCI Bio-Formats Import Options"); 
    206224    gd.addCheckbox(mergeString, mergeChannels); 
    207225    gd.addCheckbox(ignoreString, ignoreTables); 
     
    509527 
    510528      // -- Step 4d: read pixel data -- 
    511        
     529 
    512530      // only read data explicitly if not using 4D Data Browser 
    513531      if (!stackFormat.equals(VIEW_BROWSER)) { 
     
    593611                System.arraycopy(tmp, 0, bytes, 0, bytes.length); 
    594612              } 
    595                
     613 
    596614              ip = new ByteProcessor(w, h, bytes, null); 
    597615              if (stackB == null) stackB = new ImageStack(w, h); 
     
    605623                System.arraycopy(tmp, 0, s, 0, s.length); 
    606624              } 
    607                
     625 
    608626              ip = new ShortProcessor(w, h, s, null); 
    609627              if (stackS == null) stackS = new ImageStack(w, h); 
     
    671689                ((ColorProcessor) ip).setRGB(bytes[0], bytes[1], 
    672690                  pix.length >= 3 ? bytes[2] : new byte[w*h]); 
    673                 stackO.addSlice(imageName + ":" + (j + 1), ip);   
     691                stackO.addSlice(imageName + ":" + (j + 1), ip); 
    674692              } 
    675693            } 
     
    681699                System.arraycopy(tmp, 0, d, 0, d.length); 
    682700              } 
    683               
     701 
    684702              ip = new FloatProcessor(w, h, d); 
    685703              if (stackF == null) stackF = new ImageStack(w, h); 
     
    933951    FileStitcher fs, String id) 
    934952  { 
    935     adjustDisplay(imp);  
    936  
    937     try {   
     953    adjustDisplay(imp); 
     954 
     955    try { 
    938956      // convert to RGB if needed 
    939     
    940       if (mergeChannels && r.getSizeC(id) > 1 &&  
    941         r.getPixelType(id) != FormatReader.FLOAT)  
     957 
     958      if (mergeChannels && r.getSizeC(id) > 1 && 
     959        r.getPixelType(id) != FormatReader.FLOAT) 
    942960      { 
    943961        int c = r.getSizeC(id); 
     
    955973              bytes[j] = (byte) Float.floatToIntBits(f[j]); 
    956974            } 
    957              
    958             ByteProcessor p = new ByteProcessor(s.getWidth(),  
     975 
     976            ByteProcessor p = new ByteProcessor(s.getWidth(), 
    959977              s.getHeight(), bytes, null); 
    960978            newStack.addSlice(s.getSliceLabel(i + 1), p); 
     
    9831001        imp.setStack(imp.getTitle(), newStack); 
    9841002      } 
    985      
     1003 
    9861004      if (stackFormat.equals(VIEW_STANDARD)) { 
    9871005        imp.show(); 
     
    10601078      if (p.getMax() > max) max = p.getMax(); 
    10611079    } 
    1062    
     1080 
    10631081    ImageProcessor p = imp.getProcessor(); 
    10641082    if (p instanceof ColorProcessor) { 
  • trunk/loci/plugins/ome/OMEPlugin.java

    r2046 r2080  
    3636public class OMEPlugin implements PlugIn { 
    3737 
    38   /** shows and retrieves info from the SidePanel */ 
     38  /** Executes the plugin. */ 
    3939  public void run(String arg) { 
    4040    if (!Util.checkVersion()) return; 
  • trunk/loci/plugins/ome/OMETablePanel.java

    r2046 r2080  
    322322    } 
    323323    if (results.length == 0) { 
    324       IJ.error("OME Download",  
     324      IJ.error("OME Download", 
    325325        "No images were selected to download.  Try again."); 
    326326      return getInput(); 
  • trunk/loci/plugins/ome/OMETools.java

    r2054 r2080  
    8888    gd.addStringField("Username: ", "", 30); 
    8989    gd.addStringField("Password: ", "", 30); 
    90      
     90 
    9191    // star out the password field 
    92      
     92 
    9393    Vector v = gd.getStringFields(); 
    9494    ((TextField) v.get(2)).setEchoChar('*'); 
    95      
     95 
    9696    gd.showDialog(); 
     97    if (gd.wasCanceled()) { 
     98      cancelPlugin = true; 
     99      return; 
     100    } 
    97101 
    98102    server = gd.getNextString(); 
     
    198202    //table array 
    199203    Object[][] props = new Object[ima.length][4]; 
    200      
     204 
    201205    //details array 
    202206    Object[][] details = new Object[ima.length][10]; 
    203      
     207 
    204208    //build a hashtable of experimenters to display names 
    205      
     209 
    206210    Criteria criteria = new Criteria(); 
    207211    criteria.addWantedField("FirstName"); 
     
    215219      expers[2][i] = "" + ((Experimenter) l.get(i)).getID(); 
    216220    } 
    217      
     221 
    218222    Hashtable hm = new Hashtable(expers.length); 
    219223    for (int i=0; i<expers[0].length; i++) { 
    220224      hm.put(new Integer(expers[2][i]), expers[1][i] + ", " + expers[0][i]); 
    221225    } 
    222      
     226 
    223227    //assemble the table array 
    224228    Pixels p; 
     
    284288      //get database info to use in search 
    285289      IJ.showStatus("Getting database info.."); 
    286        
     290 
    287291      Criteria criteria = new Criteria(); 
    288292      criteria.addWantedField("FirstName"); 
     
    307311      criteria.addWantedField("datasets", "name"); 
    308312      criteria.addWantedField("datasets", "images"); 
    309       
     313 
    310314      FieldsSpecification fs = new FieldsSpecification(); 
    311315      fs.addWantedField("id"); 
     
    333337      gd.addStringField("Image Name: ", "", 30); 
    334338      gd.showDialog(); 
    335        
     339      if (gd.wasCanceled()) { 
     340        pluginCancelled(); 
     341        return; 
     342      } 
     343 
    336344      Image[] images = new Image[0]; 
    337345 
     
    340348      while (images.length == 0) { 
    341349        //get search results 
    342         
     350 
    343351        String project = gd.getNextChoice(); 
    344352        String owner = gd.getNextChoice(); 
     
    383391        if(images == null) images = new Image[0]; 
    384392        if (images.length == 0) { 
    385           IJ.showMessage("OME Download",  
     393          IJ.showMessage("OME Download", 
    386394            "No images matched the specified criteria."); 
    387395        } 
  • trunk/loci/plugins/plugins.config

    r1970 r2080  
    2222# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    2323 
    24 Plugins>LOCI, "4D Data Browser", loci.plugins.browser.BrowserPlugin("") 
    25 Plugins>LOCI, "Bio-Formats Importer", loci.plugins.LociImporter("") 
     24#Plugins>LOCI, "4D Data Browser", loci.plugins.browser.BrowserPlugin("") 
     25#Plugins>LOCI, "OME Plugin", loci.plugins.ome.OMEPlugin("") 
     26Plugins>LOCI, "Bio-Formats Importer", loci.plugins.LociImporter("location=[Local machine]") 
    2627Plugins>LOCI, "Bio-Formats Exporter", loci.plugins.LociExporter("") 
     28Plugins>LOCI, "Bio-Formats Remote Importer", loci.plugins.LociImporter("location=[Internet]") 
     29Plugins>LOCI, "Download from OME", loci.plugins.LociImporter("location=[OME server]") 
    2730Plugins>LOCI, "Upload to OME", loci.plugins.LociUploader("") 
    28 Plugins>LOCI, "OME Plugin", loci.plugins.ome.OMEPlugin("") 
    2931Help>About Plugins, "LOCI Plugins...", loci.plugins.LociImporter("about") 
Note: See TracChangeset for help on using the changeset viewer.