Changeset 1979


Ignore:
Timestamp:
12/28/06 15:21:25 (13 years ago)
Author:
chris
Message:

importer:
1) disabled all browser capability for the time being
because it's insanely buggy depending on the options

Browser:
1) made it handle a null FileStitcher in case this
happens to be the case.

Location:
trunk/loci/plugins
Files:
4 edited

Legend:

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

    r1978 r1979  
    6363  private LociImporter plugin; 
    6464  private String stackFormat = ""; 
     65  private String oldId = null; 
    6566 
    6667  // -- Constructor -- 
     
    146147    Vector stackTypes = new Vector(); 
    147148    stackTypes.add(VIEW_STANDARD); 
    148     if (Util.checkClass("loci.plugins.browser.LociDataBrowser")) { 
    149       stackTypes.add(VIEW_BROWSER); 
    150     } 
     149//    if (Util.checkClass("loci.plugins.browser.LociDataBrowser")) { 
     150//      stackTypes.add(VIEW_BROWSER); 
     151//    } 
    151152    if (Util.checkClass("i5d.Image5D")) stackTypes.add(VIEW_IMAGE_5D); 
    152153    if (Util.checkClass("View5D_")) stackTypes.add(VIEW_VIEW_5D); 
     
    197198      if (stackFormat.equals(VIEW_IMAGE_5D)) mergeChannels = false; 
    198199 
     200      oldId = id; 
    199201      FileStitcher fs = null; 
    200202      if (stitchFiles) { 
    201         r = new FileStitcher(r, true); 
     203        fs = new FileStitcher(r, true); 
    202204        // prompt user to confirm detected file pattern 
    203205        id = FilePattern.findPattern(new File(id)); 
     
    213215        id = gd.getNextString(); 
    214216      } 
    215       if (mergeChannels) r = new ChannelMerger(r); 
    216       else r = new ChannelSeparator(r); 
     217      if(fs != null) { 
     218        if (mergeChannels) r = new ChannelMerger(fs); 
     219        else r = new ChannelSeparator(fs); 
     220      } 
     221      else { 
     222        if (mergeChannels) r = new ChannelMerger(r); 
     223        else r = new ChannelSeparator(r); 
     224      } 
    217225 
    218226      r.setColorTableIgnored(ignoreTables); 
     
    695703          if (!mergeChannels && splitWindows) { 
    696704            slice(stackB, id, sizeZ[i], sizeC[i], sizeT[i], 
    697               fi, r, specifyRanges, colorize); 
     705              fi, r, fs, specifyRanges, colorize); 
    698706          } 
    699707          else imp = new ImagePlus(imageName, stackB); 
     
    702710          if (!mergeChannels && splitWindows) { 
    703711            slice(stackS, id, sizeZ[i], sizeC[i], sizeT[i], 
    704               fi, r, specifyRanges, colorize); 
     712              fi, r, fs, specifyRanges, colorize); 
    705713          } 
    706714          else imp = new ImagePlus(imageName, stackS); 
     
    709717          if (!mergeChannels && splitWindows) { 
    710718            slice(stackF, id, sizeZ[i], sizeC[i], sizeT[i], 
    711               fi, r, specifyRanges, colorize); 
     719              fi, r, fs, specifyRanges, colorize); 
    712720          } 
    713721          else imp = new ImagePlus(imageName, stackF); 
     
    716724          if (!mergeChannels && splitWindows) { 
    717725            slice(stackO, id, sizeZ[i], sizeC[i], sizeT[i], 
    718               fi, r, specifyRanges, colorize); 
     726              fi, r, fs, specifyRanges, colorize); 
    719727          } 
    720728          else imp = new ImagePlus(imageName, stackO); 
     
    728736 
    729737          int c = r.getSizeC(id); 
    730           displayStack(imp, r, id); 
     738          displayStack(imp, r, fs, id); 
    731739          r.close(); 
    732740        } 
     
    761769      IJ.showStatus(""); 
    762770      if (!quiet) { 
    763         String msg = exc.getMessage(); 
     771        String msg = exc.toString(); 
     772        StackTraceElement[] ste = exc.getStackTrace(); 
     773        for(int i = 0;i<ste.length;i++) { 
     774          msg = msg + "\n" + ste[i].toString(); 
     775        } 
    764776        IJ.error("LOCI Bio-Formats", "Sorry, there was a problem " + 
    765777          "reading the data" + (msg == null ? "." : (":\n" + msg))); 
     
    772784  /** Opens each channel of the source stack in a separate window. */ 
    773785  private void slice(ImageStack is, String id, int z, int c, int t, 
    774     FileInfo fi, IFormatReader r, boolean range, boolean colorize) 
     786    FileInfo fi, IFormatReader r, FileStitcher fs, boolean range, boolean colorize) 
    775787    throws FormatException, IOException 
    776788  { 
     
    836848 
    837849      imp.setFileInfo(fi); 
    838       displayStack(imp, r, id); 
     850      displayStack(imp, r, fs, id); 
    839851    } 
    840852  } 
     
    865877 
    866878  /** Display the image stack using the appropriate plugin */ 
    867   private void displayStack(ImagePlus imp, IFormatReader r, String id) {    
     879  private void displayStack(ImagePlus imp, IFormatReader r, FileStitcher fs, String id) {    
    868880    try { 
    869881      if (stackFormat.equals(VIEW_STANDARD)) imp.show(); 
    870882      else if (stackFormat.equals(VIEW_BROWSER)) { 
    871         LociDataBrowser ldb = new LociDataBrowser(r,id); 
     883        LociDataBrowser ldb = new LociDataBrowser(r, fs, id); 
    872884      } 
    873885      else if (stackFormat.equals(VIEW_IMAGE_5D)) { 
  • trunk/loci/plugins/browser/CacheManager.java

    r1935 r1979  
    216216    zSel = null; 
    217217    tSel = null; 
    218     synchronized (fs) { 
    219       try { 
    220         sizeZ = fs.getSizeZ(fileName); 
    221         sizeT = fs.getSizeT(fileName); 
    222         sizeC = fs.getSizeC(fileName); 
    223         cache = new ImageProcessor[fs.getImageCount(fileName)]; 
    224       } 
    225       catch (Exception exc) { 
    226         if (DEBUG) System.out.println("Error reading size of file."); 
     218    if (fs != null) { 
     219      synchronized (fs) { 
     220        try { 
     221          sizeZ = fs.getSizeZ(fileName); 
     222          sizeT = fs.getSizeT(fileName); 
     223          sizeC = fs.getSizeC(fileName); 
     224          cache = new ImageProcessor[fs.getImageCount(fileName)]; 
     225        } 
     226        catch (Exception exc) { 
     227          if (DEBUG) System.out.println("Error reading size of file."); 
     228        } 
     229      } 
     230    } 
     231    else { 
     232      synchronized (read) { 
     233        try { 
     234          sizeZ = read.getSizeZ(fileName); 
     235          sizeT = read.getSizeT(fileName); 
     236          sizeC = read.getSizeC(fileName); 
     237          cache = new ImageProcessor[read.getImageCount(fileName)]; 
     238        } 
     239        catch (Exception exc) { 
     240          if (DEBUG) System.out.println("Error reading size of file."); 
     241        } 
    227242      } 
    228243    } 
  • trunk/loci/plugins/browser/CustomWindow.java

    r1922 r1979  
    9494    String id = db.id;     
    9595    FilePattern fp = null; 
    96     try { fp = db.fStitch.getFilePattern(id); } 
     96    try { 
     97      fp = db.fStitch.getFilePattern(id);  
     98      patternTitle = fp.getPattern(); 
     99    } 
    97100    catch (Exception exc) {exc.printStackTrace();} 
    98     patternTitle = fp.getPattern(); 
     101 
     102    if (fp == null) patternTitle = id; 
    99103    setTitle(patternTitle); 
    100104 
  • trunk/loci/plugins/browser/LociDataBrowser.java

    r1978 r1979  
    9797  } 
    9898   
    99   public LociDataBrowser(IFormatReader r, String name) { 
     99  public LociDataBrowser(IFormatReader r, FileStitcher fs, String name) { 
    100100    virtual = true; 
    101101    reader = r; 
    102     if (r instanceof FileStitcher) fStitch = (FileStitcher) r; 
    103     else fStitch = new FileStitcher(r); 
     102    fStitch = fs; 
    104103    id = name; 
    105 //    MessageDialog dia = new MessageDialog((Frame) null,  
    106 //      "Progress", "Got through most of constructor"); 
    107104    run(""); 
    108105  } 
     
    156153  public void setDimensions() { 
    157154    String order = null; 
    158    
    159     try { 
    160       numZ = fStitch.getSizeZ(id); 
    161       numC = fStitch.getEffectiveSizeC(id); 
    162       numT = fStitch.getSizeT(id); 
    163       order = fStitch.getDimensionOrder(id); 
    164     } 
    165     catch (Exception exc) { 
    166       if (DEBUG) exc.printStackTrace(); 
    167       return; 
     155     
     156    if (fStitch != null) { 
     157      try { 
     158        numZ = fStitch.getSizeZ(id); 
     159        numC = fStitch.getEffectiveSizeC(id); 
     160        numT = fStitch.getSizeT(id); 
     161        order = fStitch.getDimensionOrder(id); 
     162      } 
     163      catch (Exception exc) { 
     164        if (DEBUG) exc.printStackTrace(); 
     165        return; 
     166      } 
     167    } 
     168    else { 
     169      try { 
     170        numZ = reader.getSizeZ(id); 
     171        numC = reader.getEffectiveSizeC(id); 
     172        numT = reader.getSizeT(id); 
     173        order = reader.getDimensionOrder(id); 
     174      } 
     175      catch (Exception exc) { 
     176        if (DEBUG) exc.printStackTrace(); 
     177        return; 
     178      } 
    168179    } 
    169180     
     
    312323        IJ.showStatus(""); 
    313324        if (!quiet) { 
    314           String msg = exc.getMessage(); 
     325           String msg = exc.toString(); 
     326           StackTraceElement[] ste = exc.getStackTrace(); 
     327           for(int i = 0;i<ste.length;i++) { 
     328             msg = msg + "\n" + ste[i].toString(); 
     329           } 
     330//          String msg = exc.getMessage(); 
    315331          IJ.showMessage("LOCI Bio-Formats", "Sorry, there was a problem " + 
    316332            "reading the data" + (msg == null ? "." : (": " + msg))); 
Note: See TracChangeset for help on using the changeset viewer.