Changeset 2053


Ignore:
Timestamp:
01/10/07 09:59:21 (13 years ago)
Author:
melissa
Message:

Added new IFormatReader API method: String getCurrentFile().
If you need to display the current file name, it is better to print the value
returned by getCurrentFile() (instead of referencing currentId directly) -
see OMEReader for an example of why this is important.

Location:
trunk/loci
Files:
8 edited

Legend:

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

    r2039 r2053  
    467467    return files; 
    468468  } 
     469 
     470  /* @see IFormatReader#getCurrentFile() */ 
     471  public String getCurrentFile() { return currentId; } 
    469472 
    470473  /* @see IFormatReader#swapDimensions(String, String) */ 
  • trunk/loci/formats/FormatReader.java

    r2040 r2053  
    373373    if (!id.equals(currentId)) initFile(id); 
    374374    return new String[] {id}; 
     375  } 
     376 
     377  /* @see IFormatReader#getCurrentFile() */ 
     378  public String getCurrentFile() {  
     379    return currentId;  
    375380  } 
    376381 
     
    615620    System.out.println(); 
    616621    System.out.println("Reading core metadata"); 
    617     System.out.println((stitch ? "File pattern" : "Filename") + " = " + id); 
     622    System.out.println((stitch ? "File pattern = " + id : 
     623      "Filename = " + reader.getCurrentFile())); 
    618624    if (map != null) System.out.println("Mapped filename = " + map); 
    619625    int seriesCount = reader.getSeriesCount(id); 
  • trunk/loci/formats/IFormatReader.java

    r2003 r2053  
    204204  String[] getUsedFiles(String id) throws FormatException, IOException; 
    205205 
     206  /** Returns the current file */ 
     207  String getCurrentFile(); 
     208 
    206209  /** 
    207210   * Swaps the dimensions according to the given dimension order.  If the given 
  • trunk/loci/formats/ImageReader.java

    r2005 r2053  
    379379  } 
    380380 
     381  /* @see IFormatReader#getCurrentFile() */ 
     382  public String getCurrentFile() { 
     383    try { 
     384      return getReader(currentId).getCurrentFile(); 
     385    } 
     386    catch (FormatException e) { e.printStackTrace(); } 
     387    catch (IOException e) { e.printStackTrace(); } 
     388    return null; 
     389  } 
     390 
    381391  /* @see IFormatReader#swapDimensions(String, String) */ 
    382392  public void swapDimensions(String id, String order) 
  • trunk/loci/formats/ImageViewer.java

    r1903 r2053  
    276276    sb.setLength(0); 
    277277    if (id != null) { 
    278       sb.append(new File(id).getName()); 
     278      sb.append(reader.getCurrentFile()); 
    279279      sb.append(" "); 
    280280    } 
  • trunk/loci/formats/ReaderWrapper.java

    r2005 r2053  
    212212  } 
    213213 
     214  public String getCurrentFile() { return reader.getCurrentFile(); } 
     215 
    214216  public void swapDimensions(String id, String order) 
    215217    throws FormatException, IOException 
  • trunk/loci/formats/in/OMEReader.java

    r2049 r2053  
    4848  // -- Fields -- 
    4949 
     50  /** String containing authentication information */ 
     51  private String loginString; 
     52   
    5053  /** Number of images */ 
    5154  private int numImages; 
     
    192195  /* @see IFormatReader#initFile(String) */ 
    193196  protected void initFile(String id) throws FormatException, IOException { 
     197    if (id.equals(loginString) || id.equals(imageId)) return; 
    194198    super.initFile(id); 
    195199 
     200    loginString = id; 
    196201    server = id.substring(0, id.lastIndexOf("?")); 
    197202    int ndx = id.indexOf("&"); 
    198203    String user = null; 
    199204    String pass = null; 
    200     if (id.indexOf("server") != -1) { 
     205    if (id.indexOf("user") != -1) { 
    201206      user = id.substring(id.lastIndexOf("?") + 6, ndx); 
    202207      pass = id.substring(ndx + 10, id.indexOf("&", ndx + 1)); 
     
    209214      imageId = id.substring(ndx + 4); 
    210215    } 
    211    
     216    currentId = imageId; 
     217  
    212218    Criteria c = new Criteria(); 
    213219    c.addWantedField("id"); 
     
    235241 
    236242    rc = rs.getRemoteCaller(); 
     243     
    237244    if (user != null && pass != null) rc.login(user, pass); 
    238245    else if (sessionKey != null) rc.setSessionKey(sessionKey); 
  • trunk/loci/plugins/Importer.java

    r2051 r2053  
    502502      // only read data explicitly if not using 4D Data Browser 
    503503      if (!stackFormat.equals(VIEW_BROWSER)) { 
    504         IJ.showStatus("Reading " + fileName); 
     504        IJ.showStatus("Reading " + r.getCurrentFile()); 
    505505 
    506506        for (int i=0; i<seriesCount; i++) { 
     
    509509 
    510510          String name = store.getImageName(new Integer(i)); 
    511           String imageName = fileName; 
     511          String imageName = r.getCurrentFile(); 
    512512          if (name != null && name.length() > 0) imageName += " - " + name; 
    513513 
     
    992992    FileStitcher fs, String id) 
    993993  { 
    994     ImageStack s = imp.getStack(); 
    995     double min = Double.MAX_VALUE; 
    996     double max = Double.MIN_VALUE; 
    997     for (int i=0; i<s.getSize(); i++) { 
    998       ImageProcessor p = s.getProcessor(i + 1); 
    999       p.resetMinAndMax(); 
    1000       if (p.getMin() < min) min = p.getMin(); 
    1001       if (p.getMax() > max) max = p.getMax(); 
    1002     } 
    1003     
    1004     imp.getProcessor().setMinAndMax(min, max); 
    1005  
    1006994    try { 
    1007       if (stackFormat.equals(VIEW_STANDARD)) imp.show(); 
     995      if (stackFormat.equals(VIEW_STANDARD)) { 
     996        adjustDisplay(imp); 
     997        imp.show(); 
     998      } 
    1008999      else if (stackFormat.equals(VIEW_BROWSER)) {} 
    10091000      else if (stackFormat.equals(VIEW_IMAGE_5D)) { 
     
    10291020        } 
    10301021 
     1022        adjustDisplay(imp); 
     1023 
    10311024        ReflectedUniverse ru = null; 
    10321025        ru = new ReflectedUniverse(); 
     
    10601053          imp.setStack(imp.getTitle(), is); 
    10611054        } 
    1062  
     1055        adjustDisplay(imp); 
    10631056        WindowManager.setTempCurrentImage(imp); 
    10641057        IJ.run("View5D ", "slicecount=" + sizeZ + " timecount=" + sizeT); 
     
    10661059    } 
    10671060    catch (Exception e) { 
     1061      adjustDisplay(imp); 
    10681062      imp.show(); 
    10691063    } 
     1064  } 
     1065 
     1066  private void adjustDisplay(ImagePlus imp) { 
     1067    ImageStack s = imp.getStack(); 
     1068    double min = Double.MAX_VALUE; 
     1069    double max = Double.MIN_VALUE; 
     1070    for (int i=0; i<s.getSize(); i++) { 
     1071      ImageProcessor p = s.getProcessor(i + 1); 
     1072      p.resetMinAndMax(); 
     1073      if (p.getMin() < min) min = p.getMin(); 
     1074      if (p.getMax() > max) max = p.getMax(); 
     1075    } 
     1076   
     1077    ImageProcessor p = imp.getProcessor(); 
     1078    if (p instanceof ColorProcessor) { 
     1079      ((ColorProcessor) p).setMinAndMax(min, max, 3); 
     1080    } 
     1081    else p.setMinAndMax(min, max); 
     1082    imp.setProcessor(imp.getTitle(), p); 
    10701083  } 
    10711084 
Note: See TracChangeset for help on using the changeset viewer.