Changeset 1346


Ignore:
Timestamp:
08/24/06 10:24:13 (14 years ago)
Author:
melissa
Message:
  • fixed OME plugin
  • tweaked Data Browser to be compatible with OME plugin
  • Bio-Formats bugfixes
Location:
trunk/loci
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/ChannelMerger.java

    r1329 r1346  
    126126  { 
    127127    if (!id.equals(currentId)) initFile(id); 
    128     MetadataStore store = reader.getMetadataStore(id); 
    129     store.setPixels(new Integer(getSizeX(id)), new Integer(getSizeY(id)), 
     128    MetadataStore s = reader.getMetadataStore(id); 
     129    s.setPixels(new Integer(getSizeX(id)), new Integer(getSizeY(id)), 
    130130      new Integer(getSizeZ(id)), new Integer(getSizeC(id)), 
    131131      new Integer(getSizeT(id)), null, null, null, null); 
     132    store = s; 
    132133    return store; 
     134  } 
     135 
     136  /** 
     137   * Sets the default metadata store for this reader. 
     138   * 
     139   * @param store a metadata store implementation. 
     140   */ 
     141  public void setMetadataStore(MetadataStore store) { 
     142    this.store = store; 
     143    reader.setMetadataStore(store); 
    133144  } 
    134145 
     
    286297    currentId = id; 
    287298 
    288     MetadataStore store = reader.getMetadataStore(id); 
    289     store.setPixels(new Integer(getSizeX(id)), new Integer(getSizeY(id)), 
     299    MetadataStore s = reader.getMetadataStore(id); 
     300    s.setPixels(new Integer(getSizeX(id)), new Integer(getSizeY(id)), 
    290301      new Integer(getSizeZ(id)), new Integer(getSizeC(id)), 
    291302      new Integer(getSizeT(id)), null, null, null, null); 
    292     setMetadataStore(store); 
     303    setMetadataStore(s); 
    293304  } 
    294305 
  • trunk/loci/formats/FileStitcher.java

    r1334 r1346  
    136136  { 
    137137    if (!id.equals(currentId)) initFile(id); 
    138     MetadataStore store = reader.getMetadataStore(id); 
    139     store.setPixels(new Integer(getSizeX(id)), new Integer(getSizeY(id)), 
     138    MetadataStore s = reader.getMetadataStore(id); 
     139    s.setPixels(new Integer(getSizeX(id)), new Integer(getSizeY(id)), 
    140140      new Integer(getSizeZ(id)), new Integer(getSizeC(id)), 
    141141      new Integer(getSizeT(id)), null, null, null, null); 
    142     return store; 
     142    store = s; 
     143    return s; 
     144  } 
     145 
     146  /** 
     147   * Sets the default metadata store for this reader. 
     148   * 
     149   * @param store a metadata store implementation. 
     150   */ 
     151  public void setMetadataStore(MetadataStore store) { 
     152    this.store = store; 
     153    reader.setMetadataStore(store); 
    143154  } 
    144155 
     
    296307    setDimensions(dims); 
    297308 
    298     MetadataStore store = reader.getMetadataStore(id); 
    299     store.setPixels(new Integer(getSizeX(id)), new Integer(getSizeY(id)), 
     309    MetadataStore s = reader.getMetadataStore(id); 
     310    s.setPixels(new Integer(getSizeX(id)), new Integer(getSizeY(id)), 
    300311      new Integer(getSizeZ(id)), new Integer(getSizeC(id)), 
    301312      new Integer(getSizeT(id)), null, null, null, null); 
    302     setMetadataStore(store); 
     313    setMetadataStore(s); 
    303314  } 
    304315 
  • trunk/loci/formats/FormatReader.java

    r1333 r1346  
    5757   * semantics of {@link #getMetadataStore()} prevent "null" access. 
    5858   */ 
    59   private MetadataStore store = new DummyMetadataStore(); 
     59  protected MetadataStore store = new DummyMetadataStore(); 
    6060 
    6161  // -- Constructors -- 
  • trunk/loci/formats/OMEXMLMetadataStore.java

    r1264 r1346  
    745745    Element rel = root.getDOMElement(); 
    746746    Vector elements = DOMUtil.findElementList(name, rel.getOwnerDocument()); 
     747    if (elements == null || elements.size() == 0) return null; 
    747748    Element el = (Element) elements.get(i); 
    748749    return OMEXMLNode.createNode(el); 
  • trunk/loci/plugins/LociImporter.java

    r1328 r1346  
    2727import ij.*; 
    2828import ij.gui.GenericDialog; 
     29import ij.io.FileInfo; 
    2930import ij.io.OpenDialog; 
    3031import ij.plugin.PlugIn; 
     
    118119      ChannelMerger cm = new ChannelMerger(stitchFiles ? fs : r); 
    119120      cm.setSeparated(!mergeChannels); 
     121 
     122      OMEXMLMetadataStore store = new OMEXMLMetadataStore(); 
     123      store.createRoot(); 
     124      cm.setMetadataStore(store); 
     125 
    120126      int num = cm.getImageCount(id); 
    121127      ImageStack stackB = null, stackS = null, stackF = null, stackO = null; 
     
    123129      long time = start; 
    124130      int channels = cm.getSizeC(id); 
     131 
     132      FileInfo fi = new FileInfo(); 
     133      fi.description = 
     134        ((OMEXMLMetadataStore) cm.getMetadataStore(id)).dumpXML(); 
    125135 
    126136      for (int i=0; i<num; i++) { 
     
    183193      IJ.showStatus("Creating image"); 
    184194      IJ.showProgress(1); 
     195      ImagePlus ip = null; 
    185196      if (stackB != null) { 
    186         if (!mergeChannels && splitWindows) slice(stackB, fileName, channels); 
    187         else new ImagePlus(fileName, stackB).show(); 
     197        if (!mergeChannels && splitWindows) { 
     198          slice(stackB, fileName, channels, fi); 
     199        } 
     200        else ip = new ImagePlus(fileName, stackB); 
    188201      } 
    189202      if (stackS != null) { 
    190         if (!mergeChannels && splitWindows) slice(stackS, fileName, channels); 
    191         else new ImagePlus(fileName, stackS).show(); 
     203        if (!mergeChannels && splitWindows) { 
     204          slice(stackS, fileName, channels, fi); 
     205        } 
     206        else ip = new ImagePlus(fileName, stackS); 
    192207      } 
    193208      if (stackF != null) { 
    194         if (!mergeChannels && splitWindows) slice(stackF, fileName, channels); 
    195         else new ImagePlus(fileName, stackF).show(); 
     209        if (!mergeChannels && splitWindows) { 
     210          slice(stackF, fileName, channels, fi); 
     211        } 
     212        else ip = new ImagePlus(fileName, stackF); 
    196213      } 
    197214      if (stackO != null) { 
    198         if (!mergeChannels && splitWindows) slice(stackO, fileName, channels); 
    199         else new ImagePlus(fileName, stackO).show(); 
    200       } 
     215        if (!mergeChannels && splitWindows) { 
     216          slice(stackO, fileName, channels, fi); 
     217        } 
     218        else ip = new ImagePlus(fileName, stackO); 
     219      } 
     220 
     221      if (ip != null) ip.setFileInfo(fi); 
     222      if (ip != null) ip.show(); 
     223 
    201224      long end = System.currentTimeMillis(); 
    202225      double elapsed = (end - start) / 1000.0; 
     
    222245  } 
    223246 
    224   private void slice(ImageStack is, String file, int c) { 
     247  private void slice(ImageStack is, String file, int c, FileInfo fi) { 
    225248    ImageStack[] newStacks = new ImageStack[c]; 
    226249    for (int i=0; i<newStacks.length; i++) { 
     
    235258 
    236259    for (int i=0; i<newStacks.length; i++) { 
    237       new ImagePlus(file + " - Ch" + (i+1), newStacks[i]).show(); 
     260      ImagePlus ip = new ImagePlus(file + " - Ch" + (i+1), newStacks[i]); 
     261      ip.setFileInfo(fi); 
     262      ip.show(); 
    238263    } 
    239264  } 
  • trunk/loci/plugins/browser/CustomWindow.java

    r1271 r1346  
    457457    if (cmd.equals("xml")) { 
    458458      FileInfo fi = imp.getOriginalFileInfo(); 
    459       String description = fi == null ? null : fi.description; 
     459      String description = fi == null ? "" : fi.description; 
     460 
     461      try { 
     462        String altDescription = imp.getFileInfo().description; 
     463        if (altDescription.length() > description.length()) { 
     464          description = altDescription; 
     465        } 
     466      } 
     467      catch (Exception exc) { } 
    460468 
    461469      // HACK - if ImageDescription does not end with a null character 
     
    494502        setIndices(); 
    495503      } 
     504 
    496505      showSlice(z, t, c); 
    497506    } 
  • trunk/loci/plugins/browser/LociDataBrowser.java

    r1305 r1346  
    9595 
    9696    new CustomWindow(this, imp, new ImageCanvas(imp)); 
     97  } 
     98 
     99  /** Set the length of each dimensional axis and the dimension order. */ 
     100  public void setDimensions(int sizeZ, int sizeC, int sizeT, int z, 
     101    int c, int t) 
     102  { 
     103    numZ = sizeZ; 
     104    numC = sizeC; 
     105    numT = sizeT; 
     106 
     107    hasZ = numZ > 1; 
     108    hasC = numC > 1; 
     109    hasT = numT > 1; 
     110 
     111    lengths = new int[3]; 
     112    lengths[z] = numZ; 
     113    lengths[c] = numC; 
     114    lengths[t] = numT; 
     115 
     116    zIndex = z; 
     117    cIndex = c; 
     118    tIndex = t; 
    97119  } 
    98120 
  • trunk/loci/plugins/ome/MetaPanel.java

    r1273 r1346  
    284284 
    285285    OMEXMLNode xml = null; 
    286     if (!element.toString().startsWith("[")) { 
     286 
     287    try { 
    287288      xml = (OMEXMLNode) element; 
    288289    } 
     290    catch (Exception exc) { } 
    289291 
    290292    String[] tempAttrs = null; 
     
    345347      names = new String[childs.length]; 
    346348      for (int i=0; i<childs.length; i++) { 
    347         String tmp = childs[i].toString(); 
    348         names[i] = tmp.substring(tmp.lastIndexOf(".")+1, tmp.lastIndexOf("@")); 
     349        String tmp = tempChilds.item(i).toString(); 
     350        names[i] = tmp.substring(1, tmp.indexOf(":")); 
    349351      } 
    350352    } 
  • trunk/loci/plugins/ome/OMEController.java

    r1273 r1346  
    8383        if (fi == null) fi = img.getFileInfo(); 
    8484        descriptions[i] = fi.description; 
     85 
     86        if (img.getFileInfo().description.length() > descriptions[i].length()) { 
     87          descriptions[i] = img.getFileInfo().description; 
     88        } 
    8589      } 
    8690      catch (NullPointerException n) { 
     
    225229          catch (ArrayIndexOutOfBoundsException e) { 
    226230            // fails if this is a disk image opened with the LOCI data browser 
    227             ImagePlus img = WindowManager.getImage(current[i]); 
    228             FileInfo fi = img.getOriginalFileInfo(); 
    229             descriptions[i] = fi == null ? null : fi.description; 
    230             o[1] = MetaPanel.exportMeta(descriptions[i], current[i]); 
     231            //ImagePlus img = WindowManager.getImage(current[i]); 
     232            //FileInfo fi = img.getOriginalFileInfo(); 
     233            //descriptions[i] = fi == null ? null : fi.description; 
     234            //o[1] = MetaPanel.exportMeta(descriptions[i], current[i]); 
    231235            metadata.put(new Integer(current[i]), o); 
    232236          } 
  • trunk/loci/plugins/ome/OMEDownPanel.java

    r1273 r1346  
    4141  private JButton search, cancel; 
    4242  private JDialog dia; 
    43   private JComboBox cproj, ctype, cowner; 
     43  private JComboBox cproj, cowner; 
    4444  private JTextField id, name; 
    4545  public boolean cancelPlugin; 
     
    205205      cproj.setSelectedIndex(0); 
    206206      cowner.setSelectedIndex(0); 
    207       ctype.setSelectedIndex(0); 
    208207      id.setText(null); 
    209208      name.setText(null); 
  • trunk/loci/plugins/ome/OMESidePanel.java

    r1273 r1346  
    263263  /** implements the ActionListener actionPerformed method */ 
    264264  public void actionPerformed(ActionEvent e) { 
    265     if ("download".equals(e.getActionCommand())) { 
     265    String cmd = e.getActionCommand(); 
     266 
     267    if (cmd.equals("download")) { 
    266268      OMETools omed = new OMETools(); 
    267269      omed.run(this); 
    268270    } 
    269     else if ("upload".equals(e.getActionCommand())) { 
     271    else if (cmd.equals("upload")) { 
    270272      if (list.getSelectedIndex() != -1) { 
    271273        OMETools omeu = new OMETools(); 
     
    283285      } 
    284286    } 
    285     else if ("edit".equals(e.getActionCommand())) { 
     287    else if (cmd.equals("edit")) { 
    286288      int z = list.getSelectedIndex(); 
    287289      if (z != -1) { 
     
    293295      else { 
    294296        JOptionPane.showMessageDialog(parentWindow, 
    295           "Please select an image to edit.", 
     297          "Please select the image whose metadata you would like to view.", 
    296298          "OME Plugin",JOptionPane.INFORMATION_MESSAGE); 
    297299        showIt(); 
    298300      } 
    299301    } 
    300     else if ("open".equals(e.getActionCommand())) { 
    301       IJ.runPlugIn("loci.browser.LociDataBrowser", ""); 
     302    else if (cmd.equals("open")) { 
     303      IJ.runPlugIn("loci.plugins.browser.LociDataBrowser", ""); 
    302304    } 
    303305    else { 
  • trunk/loci/plugins/ome/OMETablePanel.java

    r1273 r1346  
    9797    JLabel owner = new JLabel("Owner: ", JLabel.RIGHT); 
    9898    JLabel type = new JLabel("Image Type: ", JLabel.RIGHT); 
    99     JLabel c = new JLabel("Size C: ", JLabel.RIGHT); 
    100     JLabel t = new JLabel("Size T: ", JLabel.RIGHT); 
    10199    JLabel x = new JLabel("Size X: ", JLabel.RIGHT); 
    102100    JLabel y = new JLabel("Size Y: ", JLabel.RIGHT); 
    103101    JLabel z = new JLabel("Size Z: ", JLabel.RIGHT); 
     102    JLabel c = new JLabel("Size C: ", JLabel.RIGHT); 
     103    JLabel t = new JLabel("Size T: ", JLabel.RIGHT); 
    104104    JLabel descrip = new JLabel("Description: ", JLabel.RIGHT); 
    105105    owner.setMinimumSize(new Dimension(15, 2)); 
     
    112112    descrip.setMinimumSize(new Dimension(20, 2)); 
    113113 
    114     areas = new JTextArea[] {own, typ, c1, t1, x1, y1, z1}; 
     114    areas = new JTextArea[] {own, typ, x1, y1, z1, c1, t1}; 
    115115    for(int i=0; i<areas.length; i++) { 
    116116      areas[i] = new JTextArea("", 1, 6); 
     
    133133    JScrollPane desScroll = new JScrollPane(des); 
    134134 
    135     JLabel[] labels = {owner, type, c, t, x, y, z}; 
     135    JLabel[] labels = {owner, type, x, y, z, c, t}; 
    136136    for(int i=0; i<labels.length; i++) { 
    137137      paneOwner.add(labels[i], e); 
  • trunk/loci/plugins/ome/OMETools.java

    r1275 r1346  
    298298      int sizeT = results[1]; 
    299299      int sizeZ = results[0]; 
    300  
    301       /* debug */ System.out.println("sizeT : " + sizeT); 
    302       /* debug */ System.out.println("sizeZ : " + sizeZ); 
    303300 
    304301      IJ.showProgress(.25); 
     
    703700    IJ.showStatus("Displaying Image"); 
    704701    viewer = new LociDataBrowser(); 
    705     //viewer.show(imageP, null, new int[] {sizeZ, sizeT, sizeC}, 
    706     //  sizeZ, sizeT, sizeC, 0, 1, 2); 
     702 
     703    viewer.setDimensions(sizeZ, sizeC, sizeT, 0, 2, 1); 
    707704    viewer.show(imageP); 
    708705    OMESidePanel.hashInImage(-image.getID(), metas); 
     
    747744 
    748745      details[i][2] = p.getPixelType(); 
    749       details[i][3] = p.getSizeC().toString(); 
    750       details[i][4] = p.getSizeT().toString(); 
    751       details[i][5] = p.getSizeX().toString(); 
    752       details[i][6] = p.getSizeY().toString(); 
    753       details[i][7] = p.getSizeZ().toString(); 
     746      details[i][3] = p.getSizeX().toString(); 
     747      details[i][4] = p.getSizeY().toString(); 
     748      details[i][5] = p.getSizeZ().toString(); 
     749      details[i][6] = p.getSizeC().toString(); 
     750      details[i][7] = p.getSizeT().toString(); 
    754751      details[i][9] = String.valueOf(ima[i].getID()); 
    755752    } 
     
    795792      catch (NullPointerException n) { return; } 
    796793      Image[] images = new Image[0]; 
     794 
    797795      //do the image search 
    798796      IJ.showStatus("Searching for images..."); 
     
    819817          } 
    820818        } 
     819        if (images == null) return; 
    821820      } 
    822821      //download into ImageJ 
Note: See TracChangeset for help on using the changeset viewer.