Changeset 6011


Ignore:
Timestamp:
03/09/10 16:22:48 (10 years ago)
Author:
curtis
Message:

Progress on cleanup of original metadata table handling.

Location:
trunk/components/loci-plugins/src/loci/plugins/importer
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/components/loci-plugins/src/loci/plugins/importer/Importer.java

    r6007 r6011  
    167167 
    168168        // display standard metadata in a table in its own window 
    169         Hashtable meta = r.getMetadata(); 
    170         //if (r.getSeriesCount() == 1) meta = r.getMetadata(); 
    171         meta.put(options.getLocation(), options.getCurrentFile()); 
    172         int digits = digits(r.getSeriesCount()); 
    173         for (int i=0; i<r.getSeriesCount(); i++) { 
    174           if (!options.isSeriesOn(i)) continue; 
    175           r.setSeries(i); 
    176           //meta.putAll(r.getCoreMetadata().seriesMetadata[i]); 
    177  
    178           String s = options.getMetadata().getImageName(i); 
    179           if ((s == null || s.trim().length() == 0) && r.getSeriesCount() > 1) { 
    180             StringBuffer sb = new StringBuffer(); 
    181             sb.append("Series "); 
    182             int zeroes = digits - digits(i + 1); 
    183             for (int j=0; j<zeroes; j++) sb.append(0); 
    184             sb.append(i + 1); 
    185             sb.append(" "); 
    186             s = sb.toString(); 
    187           } 
    188           else s += " "; 
    189  
    190           final String pad = " "; // puts core values first when alphabetizing 
    191           meta.put(pad + s + "SizeX", new Integer(r.getSizeX())); 
    192           meta.put(pad + s + "SizeY", new Integer(r.getSizeY())); 
    193           meta.put(pad + s + "SizeZ", new Integer(r.getSizeZ())); 
    194           meta.put(pad + s + "SizeT", new Integer(r.getSizeT())); 
    195           meta.put(pad + s + "SizeC", new Integer(r.getSizeC())); 
    196           meta.put(pad + s + "IsRGB", new Boolean(r.isRGB())); 
    197           meta.put(pad + s + "PixelType", 
    198             FormatTools.getPixelTypeString(r.getPixelType())); 
    199           meta.put(pad + s + "LittleEndian", new Boolean(r.isLittleEndian())); 
    200           meta.put(pad + s + "DimensionOrder", r.getDimensionOrder()); 
    201           meta.put(pad + s + "IsInterleaved", new Boolean(r.isInterleaved())); 
    202         } 
     169        ImporterMetadata meta = options.getOriginalMetadata(); 
    203170 
    204171        // sort metadata keys 
    205         String metaString = getMetadataString(meta, "\t"); 
    206  
     172        String metaString = meta.getMetadataString("\t"); 
    207173        SearchableWindow w = new SearchableWindow("Original Metadata - " + 
    208174          options.getIdName(), "Key\tValue", metaString, 400, 400); 
     
    292258 
    293259        // place metadata key/value pairs in ImageJ's info field 
    294         String metadata = getMetadataString(r.getMetadata(), " = "); 
     260        String metadata = options.getOriginalMetadata().toString(); 
    295261 
    296262        long startTime = System.currentTimeMillis(); 
     
    728694      imps.add(imp); 
    729695    } 
    730   } 
    731  
    732   /** Computes the given value's number of digits. */ 
    733   private int digits(int value) { 
    734     int digits = 0; 
    735     while (value > 0) { 
    736       value /= 10; 
    737       digits++; 
    738     } 
    739     return digits; 
    740696  } 
    741697 
     
    826782  } 
    827783 
    828   /** Returns a string with each key/value pair on its own line. */ 
    829   private String getMetadataString(Hashtable meta, String separator) { 
    830     ArrayList<String> keys = new ArrayList<String>(meta.keySet()); 
    831     Collections.sort(keys); 
    832  
    833     StringBuffer sb = new StringBuffer(); 
    834     for (String key : keys) { 
    835       sb.append(key); 
    836       sb.append(separator); 
    837       sb.append(meta.get(key)); 
    838       sb.append("\n"); 
    839     } 
    840     return sb.toString(); 
    841   } 
    842  
    843784  // -- Main method -- 
    844785 
  • trunk/components/loci-plugins/src/loci/plugins/importer/ImporterOptions.java

    r5959 r6011  
    133133  // -- Fields - derived values -- 
    134134 
    135   protected ImagePlusReader r; 
    136135  protected String idName; 
    137136  protected Location idLoc; 
    138137  protected IMetadata meta; 
    139138  protected String currentFile; 
     139 
     140  protected ImagePlusReader r; 
     141  protected ImporterMetadata importerMetadata; 
    140142 
    141143  // series options 
     
    254256    if (!promptCrop()) return false; 
    255257 
     258    initializeMetadata(); 
    256259    computeRangeCounts(); 
    257260 
     
    442445  public String getIdName() { return idName; } 
    443446  public Location getIdLocation() { return idLoc; } 
    444   public ImagePlusReader getReader() { return r; } 
    445447  public IMetadata getMetadata() { return meta; } 
    446448  public String getCurrentFile() { return currentFile; } 
     449  public ImagePlusReader getReader() { return r; } 
     450  public ImporterMetadata getOriginalMetadata() { return importerMetadata; } 
    447451 
    448452  // series options 
     
    600604    r = new ImagePlusReader(virtualReader); 
    601605    r.setId(getId()); 
     606  } 
     607 
     608  /** Initializes the ImporterMetadata derived value. */ 
     609  private void initializeMetadata() { 
     610    importerMetadata = new ImporterMetadata(r, this); 
    602611  } 
    603612 
Note: See TracChangeset for help on using the changeset viewer.