Changeset 4132


Ignore:
Timestamp:
06/23/08 08:27:37 (11 years ago)
Author:
melissa
Message:
  • Added MetadataTools utility method to set a default image creation date.
  • RandomAccessStream now caches the first 1 MB of each file, rather than 256 KB.
  • POITools is now faster, as are the readers that use it.
Location:
trunk/loci/formats
Files:
51 edited

Legend:

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

    r4100 r4132  
    241241 
    242242  /** 
     243   * Sets a default creation date.  If the named file exists, then the creation 
     244   * date is set to the file's last modification date.  Otherwise, it is set 
     245   * to the current date. 
     246   */ 
     247  public static void setDefaultCreationDate(MetadataStore store, String id, 
     248    int series) 
     249  { 
     250    Location file = new Location(id).getAbsoluteFile(); 
     251    long time = System.currentTimeMillis(); 
     252    if (file.exists()) time = file.lastModified(); 
     253    store.setImageCreationDate(DataTools.convertDate(time, DataTools.UNIX), 
     254      series); 
     255  } 
     256 
     257  /** 
    243258   * Adds the specified key/value pair as a new OriginalMetadata node 
    244259   * to the given OME-XML metadata object. 
  • trunk/loci/formats/POITools.java

    r4048 r4132  
    5151  private String id; 
    5252  private Vector filePath; 
    53  
     53  private Vector fileList; 
     54  private Hashtable fileSizes; 
     55  
    5456  // -- Constructor -- 
    5557 
     
    7678    int availableBytes = getFileSize(name); 
    7779    int len = count > availableBytes ? availableBytes : count; 
     80    setupFile(name); 
    7881 
    7982    byte[] buf = new byte[len]; 
    8083    try { 
    81       r.setVar(makeVarName("data"), buf); 
    82       r.exec(makeVarName("dis") + ".read(" + makeVarName("data") + ")"); 
     84      String dataVar = makeVarName("data"); 
     85      r.setVar(dataVar, buf); 
     86      r.exec(makeVarName("dis") + ".read(" + dataVar + ")"); 
    8387    } 
    8488    catch (ReflectException e) { 
     
    8993 
    9094  public int getFileSize(String name) throws FormatException { 
    91     setupFile(name); 
    92     try { 
    93       return ((Integer) r.getVar(makeVarName("numBytes"))).intValue(); 
    94     } 
    95     catch (ReflectException e) { 
    96       throw new FormatException(e); 
    97     } 
     95    return ((Integer) fileSizes.get(name)).intValue(); 
    9896  } 
    9997 
    10098  public Vector getDocumentList() throws FormatException { 
    101     Vector list = new Vector(); 
    102     filePath = new Vector(); 
    103     try { 
    104       parseFile(r.getVar(makeVarName("root")), list); 
    105     } 
    106     catch (ReflectException e) { 
    107       throw new FormatException(e); 
    108     } 
    109     return list; 
     99    return fileList; 
    110100  } 
    111101 
     
    155145 
    156146    try { 
    157       r.setVar(makeVarName("file"), file); 
    158       r.setVar(makeVarName("size"), size); 
     147      String fileVar = makeVarName("file"); 
     148      String sizeVar = makeVarName("size"); 
     149      String fsVar = makeVarName("fs"); 
     150      String fisVar = makeVarName("fis"); 
     151      r.setVar(fileVar, file); 
     152      r.setVar(sizeVar, size); 
    159153      r.setVar(makeVarName("littleEndian"), true); 
    160       r.exec(makeVarName("fis") + " = new RandomAccessStream(" + 
    161         makeVarName("file") + ")"); 
    162       r.exec(makeVarName("fs") + " = new POIFSFileSystem(" + 
    163         makeVarName("fis") + ", " + makeVarName("size") + ")"); 
    164       r.exec(makeVarName("root") + " = " + makeVarName("fs") + ".getRoot()"); 
    165     } 
    166     catch (ReflectException e) { 
    167       throw new FormatException(e); 
     154      r.exec(fisVar + " = new RandomAccessStream(" + fileVar + ")"); 
     155      r.exec(fsVar + " = new POIFSFileSystem(" + fisVar + ", " + sizeVar + ")"); 
     156      r.exec(makeVarName("root") + " = " + fsVar + ".getRoot()"); 
     157    } 
     158    catch (ReflectException e) { 
     159      throw new FormatException(e); 
     160    } 
     161  
     162    fileList = new Vector(); 
     163    filePath = new Vector(); 
     164    try { 
     165      parseFile(r.getVar(makeVarName("root")), fileList); 
     166    } 
     167    catch (ReflectException e) { 
     168      throw new FormatException(e); 
     169    } 
     170 
     171    fileSizes = new Hashtable(); 
     172    for (int i=0; i<fileList.size(); i++) { 
     173      String name = (String) fileList.get(i); 
     174      setupFile(name); 
     175      try { 
     176        fileSizes.put(name, r.getVar(makeVarName("numBytes"))); 
     177      } 
     178      catch (ReflectException e) { 
     179        throw new FormatException(e); 
     180      } 
    168181    } 
    169182  } 
     
    171184  private void setupFile(String name) throws FormatException { 
    172185    try { 
    173       r.exec(makeVarName("directory") + " = " + makeVarName("root")); 
     186      String directoryVar = makeVarName("directory"); 
     187      r.exec(directoryVar + " = " + makeVarName("root")); 
    174188 
    175189      StringTokenizer path = new StringTokenizer(name, "/\\"); 
     
    179193        String dir = path.nextToken(); 
    180194        r.setVar(makeVarName("dir"), dir); 
    181         r.exec(makeVarName("directory") + " = " + makeVarName("directory") + 
     195        r.exec(directoryVar + " = " + directoryVar + 
    182196          ".getEntry(" + makeVarName("dir") + ")"); 
    183197      } 
    184198 
    185       r.setVar(makeVarName("filename"), path.nextToken()); 
    186       r.exec(makeVarName("file") + " = " + makeVarName("directory") + 
    187         ".getEntry(" + makeVarName("filename") + ")"); 
    188       r.exec(makeVarName("dis") + " = new DocumentInputStream(" + 
    189         makeVarName("file") + ", " + makeVarName("fis") + ")"); 
    190       r.exec(makeVarName("numBytes") + " = " + makeVarName("dis") + 
    191         ".available()"); 
     199      String filenameVar = makeVarName("filename"); 
     200      String fileVar = makeVarName("file"); 
     201      String disVar = makeVarName("dis"); 
     202 
     203      r.setVar(filenameVar, path.nextToken()); 
     204      r.exec(fileVar + " = " + directoryVar + ".getEntry(" + filenameVar + ")"); 
     205      r.exec(disVar + " = new DocumentInputStream(" + 
     206        fileVar + ", " + makeVarName("fis") + ")"); 
     207      r.exec(makeVarName("numBytes") + " = " + disVar + ".available()"); 
    192208    } 
    193209    catch (ReflectException e) { 
     
    198214  private void parseFile(Object root, Vector fileList) throws FormatException { 
    199215    try { 
    200       r.setVar(makeVarName("dir"), root); 
    201       r.exec(makeVarName("dirName") + " = " + makeVarName("dir") + 
    202         ".getName()"); 
    203       r.exec(makeVarName("iter") + " = " + makeVarName("dir") + 
    204         ".getEntries()"); 
     216      String dirVar = makeVarName("dir"); 
     217      r.setVar(dirVar, root); 
     218      r.exec(makeVarName("dirName") + " = " + dirVar + ".getName()"); 
     219      r.exec(makeVarName("iter") + " = " + dirVar + ".getEntries()"); 
    205220      filePath.add(r.getVar(makeVarName("dirName"))); 
    206221      Iterator iter = (Iterator) r.getVar(makeVarName("iter")); 
     222      String entryVar = makeVarName("entry"); 
    207223      while (iter.hasNext()) { 
    208         r.setVar(makeVarName("entry"), iter.next()); 
    209         boolean isInstance = ((Boolean) r.exec(makeVarName("entry") + 
     224        r.setVar(entryVar, iter.next()); 
     225        boolean isInstance = ((Boolean) r.exec(entryVar + 
    210226          ".isDirectoryEntry()")).booleanValue(); 
    211         boolean isDocument = ((Boolean) r.exec(makeVarName("entry") + 
     227        boolean isDocument = ((Boolean) r.exec(entryVar + 
    212228          ".isDocumentEntry()")).booleanValue(); 
    213229 
    214         if (isInstance) parseFile(r.getVar(makeVarName("entry")), fileList); 
     230        if (isInstance) parseFile(r.getVar(entryVar), fileList); 
    215231        else if (isDocument) { 
    216           r.exec(makeVarName("entryName") + " = " + makeVarName("entry") + 
    217             ".getName()"); 
     232          r.exec(makeVarName("entryName") + " = " + entryVar + ".getName()"); 
    218233          StringBuffer path = new StringBuffer(); 
    219234          for (int i=0; i<filePath.size(); i++) { 
  • trunk/loci/formats/RandomAccessStream.java

    r4048 r4132  
    4545 
    4646  /** Maximum size of the buffer used by the DataInputStream. */ 
    47   // 256 KB - please don't change this 
    48   protected static final int MAX_OVERHEAD = 262144; 
     47  protected static final int MAX_OVERHEAD = 1048576; 
    4948 
    5049  /** Maximum number of open files. */ 
  • trunk/loci/formats/in/AVIReader.java

    r4061 r4132  
    517517      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    518518    store.setImageName("", 0); 
    519     store.setImageCreationDate( 
    520       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     519    MetadataTools.setDefaultCreationDate(store, id, 0); 
    521520    MetadataTools.populatePixels(store, this); 
    522521 
  • trunk/loci/formats/in/AliconaReader.java

    r4061 r4132  
    186186    MetadataStore store = 
    187187      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    188     store.setImageCreationDate( 
    189       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     188    MetadataTools.setDefaultCreationDate(store, id, 0); 
    190189    store.setImageName("", 0); 
    191190    MetadataTools.populatePixels(store, this); 
  • trunk/loci/formats/in/BMPReader.java

    r4054 r4132  
    285285      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    286286    store.setImageName("", 0); 
    287     store.setImageCreationDate( 
    288       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     287    MetadataTools.setDefaultCreationDate(store, id, 0); 
    289288    MetadataTools.populatePixels(store, this); 
    290289 
  • trunk/loci/formats/in/BioRadReader.java

    r4061 r4132  
    681681      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    682682    store.setImageName("", 0); 
    683     store.setImageCreationDate( 
    684       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     683    MetadataTools.setDefaultCreationDate(store, id, 0); 
    685684 
    686685    // populate Pixels 
  • trunk/loci/formats/in/DeltavisionReader.java

    r4060 r4132  
    325325      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    326326    store.setImageName("", 0); 
    327     store.setImageCreationDate( 
    328       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     327    MetadataTools.setDefaultCreationDate(store, id, 0); 
    329328 
    330329    in.seek(224); 
  • trunk/loci/formats/in/DicomReader.java

    r4061 r4132  
    582582    if (stamp == null || stamp.trim().equals("")) stamp = null; 
    583583 
    584     store.setImageCreationDate(stamp, 0); 
     584    if (stamp != null) store.setImageCreationDate(stamp, 0); 
     585    else MetadataTools.setDefaultCreationDate(store, id, 0); 
    585586    store.setImageDescription(imageType, 0); 
    586587 
  • trunk/loci/formats/in/EPSReader.java

    r4061 r4132  
    228228        new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    229229      store.setImageName("", 0); 
    230       store.setImageCreationDate( 
    231         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     230      MetadataTools.setDefaultCreationDate(store, id, 0); 
    232231      MetadataTools.populatePixels(store, this); 
    233232      return; 
  • trunk/loci/formats/in/FEIReader.java

    r4059 r4132  
    131131      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    132132    store.setImageName("", 0); 
    133     store.setImageCreationDate( 
    134       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     133    MetadataTools.setDefaultCreationDate(store, id, 0); 
    135134    MetadataTools.populatePixels(store, this); 
    136135  } 
  • trunk/loci/formats/in/FV1000Reader.java

    r4129 r4132  
    233233 
    234234    if (isOIB) { 
    235       RandomAccessStream ras = poi.getDocumentStream("Root/OibInfo.txt"); 
     235      RandomAccessStream ras = poi.getDocumentStream("Root Entry/OibInfo.txt"); 
    236236 
    237237      oibMapping = new Hashtable(); 
     
    260260            if (checkSuffix(value, OIF_SUFFIX)) oifName = value; 
    261261            if (directoryKey != null) { 
    262               oibMapping.put(value, "Root/" + directoryKey + "/" + key); 
     262              oibMapping.put(value, "Root Entry/" + directoryKey + "/" + key); 
    263263            } 
    264             else oibMapping.put(value, "Root/" + key); 
     264            else oibMapping.put(value, "Root Entry/" + key); 
    265265          } 
    266266          else if (key.startsWith("Storage")) { 
     
    683683    for (int i=0; i<core.sizeX.length; i++) { 
    684684      store.setImageName("Series " + i, i); 
    685       store.setImageCreationDate( 
    686         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), i); 
     685      MetadataTools.setDefaultCreationDate(store, id, i); 
    687686    } 
    688687 
  • trunk/loci/formats/in/FitsReader.java

    r4048 r4132  
    151151      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    152152    store.setImageName("", 0); 
    153     store.setImageCreationDate( 
    154       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     153    MetadataTools.setDefaultCreationDate(store, id, 0); 
    155154    MetadataTools.populatePixels(store, this); 
    156155  } 
  • trunk/loci/formats/in/FluoviewReader.java

    r4095 r4132  
    389389    store.setImageName("", 0); 
    390390    store.setImageDescription(comment, 0); 
    391     store.setImageCreationDate( 
    392       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     391    MetadataTools.setDefaultCreationDate(store, getCurrentFile(), 0); 
    393392 
    394393    // populate Dimensions 
  • trunk/loci/formats/in/GIFReader.java

    r4048 r4132  
    351351      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    352352    store.setImageName("", 0); 
    353     store.setImageCreationDate( 
    354       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     353    MetadataTools.setDefaultCreationDate(store, id, 0); 
    355354    core.pixelType[0] = FormatTools.UINT8; 
    356355    MetadataTools.populatePixels(store, this); 
  • trunk/loci/formats/in/GatanReader.java

    r4061 r4132  
    200200      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    201201    store.setImageName("", 0); 
    202     store.setImageCreationDate( 
    203       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     202    MetadataTools.setDefaultCreationDate(store, id, 0); 
    204203    MetadataTools.populatePixels(store, this); 
    205204 
  • trunk/loci/formats/in/GelReader.java

    r4048 r4132  
    157157    } 
    158158    else { 
    159       store.setImageCreationDate( 
    160         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     159      MetadataTools.setDefaultCreationDate(store, getCurrentFile(), 0); 
    161160    } 
    162161 
  • trunk/loci/formats/in/ICSReader.java

    r4115 r4132  
    452452      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    453453    store.setImageName("", 0); 
    454     store.setImageCreationDate( 
    455       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     454    MetadataTools.setDefaultCreationDate(store, id, 0); 
    456455 
    457456    // populate Pixels element 
  • trunk/loci/formats/in/IPLabReader.java

    r4061 r4132  
    204204      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    205205    store.setImageName("", 0); 
    206     store.setImageCreationDate( 
    207       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     206    MetadataTools.setDefaultCreationDate(store, id, 0); 
    208207    MetadataTools.populatePixels(store, this); 
    209208 
  • trunk/loci/formats/in/IPWReader.java

    r4048 r4132  
    199199        } 
    200200        else { 
    201           store.setImageCreationDate(DataTools.convertDate( 
    202             System.currentTimeMillis(), DataTools.UNIX), 0); 
     201          MetadataTools.setDefaultCreationDate(store, id, 0); 
    203202        } 
    204203      } 
  • trunk/loci/formats/in/ImageIOReader.java

    r4127 r4132  
    127127      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    128128    store.setImageName("", 0); 
    129     store.setImageCreationDate( 
    130       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     129    MetadataTools.setDefaultCreationDate(store, id, 0); 
    131130    MetadataTools.populatePixels(store, this); 
    132131    // CTR CHECK 
  • trunk/loci/formats/in/ImarisHDFReader.java

    r4048 r4132  
    328328    for (int s=0; s<seriesCount; s++) { 
    329329      store.setImageName("Resolution Level " + s, s); 
    330       store.setImageCreationDate( 
    331         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), s); 
     330      MetadataTools.setDefaultCreationDate(store, id, s); 
    332331      for (int i=0; i<core.sizeC[s]; i++) { 
    333332        String[] params = (String[]) channelParameters.get(i); 
  • trunk/loci/formats/in/ImarisReader.java

    r4048 r4132  
    182182      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    183183    store.setImageName("", 0); 
    184     store.setImageCreationDate( 
    185       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     184    MetadataTools.setDefaultCreationDate(store, id, 0); 
    186185    core.pixelType[0] = FormatTools.UINT8; 
    187186    MetadataTools.populatePixels(store, this); 
  • trunk/loci/formats/in/ImprovisionTiffReader.java

    r4094 r4132  
    220220      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    221221    store.setImageName("", 0); 
    222     store.setImageCreationDate( 
    223       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     222    MetadataTools.setDefaultCreationDate(store, getCurrentFile(), 0); 
    224223 
    225224    MetadataTools.populatePixels(store, this); 
  • trunk/loci/formats/in/KhorosReader.java

    r4061 r4132  
    202202      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    203203    store.setImageName("", 0); 
    204     store.setImageCreationDate( 
    205       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     204    MetadataTools.setDefaultCreationDate(store, id, 0); 
    206205    MetadataTools.populatePixels(store, this); 
    207206  } 
  • trunk/loci/formats/in/L2DReader.java

    r4048 r4132  
    219219      } 
    220220      store.setImageName("", i); 
    221       store.setImageCreationDate( 
    222         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), i); 
     221      MetadataTools.setDefaultCreationDate(store, id, i); 
    223222    } 
    224223 
  • trunk/loci/formats/in/LIFReader.java

    r4094 r4132  
    309309      } 
    310310      store.setImageName(seriesName, i); 
    311       store.setImageCreationDate( 
    312         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), i); 
     311      MetadataTools.setDefaultCreationDate(store, getCurrentFile(), i); 
    313312 
    314313      MetadataTools.populatePixels(store, this); 
  • trunk/loci/formats/in/LIMReader.java

    r4061 r4132  
    154154      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    155155    store.setImageName("", 0); 
    156     store.setImageCreationDate( 
    157       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     156    MetadataTools.setDefaultCreationDate(store, id, 0); 
    158157    MetadataTools.populatePixels(store, this); 
    159158  } 
  • trunk/loci/formats/in/LegacyND2Reader.java

    r4048 r4132  
    183183    for (int i=0; i<core.sizeX.length; i++) { 
    184184      store.setImageName("Series " + i, i); 
    185       store.setImageCreationDate( 
    186         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), i); 
     185      MetadataTools.setDefaultCreationDate(store, id, i); 
    187186    } 
    188187    MetadataTools.populatePixels(store, this); 
  • trunk/loci/formats/in/LegacyQTReader.java

    r4128 r4132  
    235235        new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    236236      store.setImageName("", 0); 
    237       store.setImageCreationDate( 
    238         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     237      MetadataTools.setDefaultCreationDate(store, id, 0); 
    239238      MetadataTools.populatePixels(store, this); 
    240239 
  • trunk/loci/formats/in/LeicaReader.java

    r4048 r4132  
    909909      } 
    910910      else { 
    911         store.setImageCreationDate(DataTools.convertDate( 
    912           System.currentTimeMillis(), DataTools.UNIX), i); 
     911        MetadataTools.setDefaultCreationDate(store, id, i); 
    913912      } 
    914913 
  • trunk/loci/formats/in/MNGReader.java

    r4128 r4132  
    246246    for (int i=0; i<core.sizeX.length; i++) { 
    247247      store.setImageName("Series " + i, i); 
    248       store.setImageCreationDate( 
    249         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), i); 
     248      MetadataTools.setDefaultCreationDate(store, id, i); 
    250249    } 
    251250    MetadataTools.populatePixels(store, this); 
  • trunk/loci/formats/in/MRCReader.java

    r4061 r4132  
    231231      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    232232    store.setImageName("", 0); 
    233     store.setImageCreationDate( 
    234       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     233    MetadataTools.setDefaultCreationDate(store, id, 0); 
    235234    MetadataTools.populatePixels(store, this); 
    236235 
  • trunk/loci/formats/in/MicromanagerReader.java

    r4118 r4132  
    276276 
    277277    store.setImageName("", 0); 
    278     store.setImageCreationDate( 
    279       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     278    MetadataTools.setDefaultCreationDate(store, id, 0); 
    280279    MetadataTools.populatePixels(store, this); 
    281280    for (int i=0; i<core.sizeC[0]; i++) { 
  • trunk/loci/formats/in/NAFReader.java

    r4094 r4132  
    213213      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    214214    store.setImageName("", 0); 
    215     store.setImageCreationDate( 
    216       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     215    MetadataTools.setDefaultCreationDate(store, id, 0); 
    217216    MetadataTools.populatePixels(store, this); 
    218217  } 
  • trunk/loci/formats/in/ND2Reader.java

    r4109 r4132  
    485485      for (int i=0; i<core.sizeC.length; i++) { 
    486486        store.setImageName("Series " + i, i); 
    487         store.setImageCreationDate( 
    488           DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), i); 
     487        MetadataTools.setDefaultCreationDate(store, id, i); 
    489488 
    490489        if (tsT.size() > 0) { 
  • trunk/loci/formats/in/NRRDReader.java

    r4061 r4132  
    250250 
    251251    store.setImageName("", 0); 
    252     store.setImageCreationDate( 
    253       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     252    MetadataTools.setDefaultCreationDate(store, id, 0); 
    254253    MetadataTools.populatePixels(store, this); 
    255254 
  • trunk/loci/formats/in/PCIReader.java

    r4048 r4132  
    7878    int endSkip = bpp * (core.sizeX[0] - w - x); 
    7979 
    80     for (int c=0; c<core.sizeC[series]; c++) { 
    81       s.skipBytes(skip); 
    82       for (int row=0; row<h; row++) { 
    83         s.skipBytes(beginSkip); 
    84         s.read(buf, c * h * rowLen + row * rowLen, rowLen); 
    85         s.skipBytes(endSkip); 
    86       } 
    87       s.skipBytes((core.sizeY[series] - h - y) * core.sizeX[series] * bpp); 
     80    if (w == getSizeX() && h == getSizeY() && x == 0 && y == 0) { 
     81      s.read(buf); 
     82    } 
     83    else { 
     84      for (int c=0; c<core.sizeC[series]; c++) { 
     85        s.skipBytes(skip); 
     86        if (beginSkip == 0 && endSkip == 0) { 
     87          s.read(buf, c * h * rowLen, rowLen * h); 
     88        } 
     89        else { 
     90          for (int row=0; row<h; row++) { 
     91            s.skipBytes(beginSkip); 
     92            s.read(buf, c * h * rowLen + row * rowLen, rowLen); 
     93            s.skipBytes(endSkip); 
     94          } 
     95        } 
     96        s.skipBytes((core.sizeY[series] - h - y) * core.sizeX[series] * bpp); 
     97      } 
    8898    } 
    8999 
     
    123133      String relativePath = 
    124134        name.substring(name.lastIndexOf(File.separator) + 1); 
    125  
     135  
    126136      if (relativePath.equals("Field Count")) { 
    127137        byte[] b = poi.getDocumentBytes(name, 4); 
     
    184194        byte[] b = poi.getDocumentBytes(name, 8); 
    185195        int bits = (int) (DataTools.bytesToLong(b, 0, false) & 0xff) >> 2; 
    186         while (bits % 8 != 0) bits++; 
     196        while (bits % 8 != 0 || bits == 0) bits++; 
    187197        switch (bits) { 
    188198          case 8: 
     
    232242      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    233243    store.setImageName("", 0); 
    234     store.setImageCreationDate( 
    235       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     244    MetadataTools.setDefaultCreationDate(store, id, 0); 
    236245    MetadataTools.populatePixels(store, this); 
    237246    store.setDimensionsPhysicalSizeX(new Float(scaleFactor), 0, 0); 
  • trunk/loci/formats/in/PCXReader.java

    r4048 r4132  
    160160      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    161161    store.setImageName("", 0); 
    162     store.setImageCreationDate( 
    163       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     162    MetadataTools.setDefaultCreationDate(store, id, 0); 
    164163    MetadataTools.populatePixels(store, this); 
    165164  } 
  • trunk/loci/formats/in/PGMReader.java

    r4061 r4132  
    167167      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    168168    store.setImageName("", 0); 
    169     store.setImageCreationDate( 
    170       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     169    MetadataTools.setDefaultCreationDate(store, id, 0); 
    171170    MetadataTools.populatePixels(store, this); 
    172171 
  • trunk/loci/formats/in/PSDReader.java

    r4048 r4132  
    289289      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    290290    store.setImageName("", 0); 
    291     store.setImageCreationDate( 
    292       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     291    MetadataTools.setDefaultCreationDate(store, id, 0); 
    293292    MetadataTools.populatePixels(store, this); 
    294293  } 
  • trunk/loci/formats/in/PerkinElmerReader.java

    r4048 r4132  
    785785      SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
    786786      finishTime = fmt.format(date); 
    787     } 
    788     store.setImageCreationDate(finishTime, 0); 
     787      store.setImageCreationDate(finishTime, 0); 
     788    } 
     789    else MetadataTools.setDefaultCreationDate(store, id, 0); 
    789790 
    790791    // populate Pixels element 
  • trunk/loci/formats/in/PictReader.java

    r4094 r4132  
    270270      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    271271    store.setImageName("", 0); 
    272     store.setImageCreationDate( 
    273       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
    274  
     272    MetadataTools.setDefaultCreationDate(store, id, 0); 
    275273    MetadataTools.populatePixels(store, this); 
    276274  } 
  • trunk/loci/formats/in/PrairieReader.java

    r4048 r4132  
    282282          SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
    283283          date = fmt.format(d); 
    284         } 
    285         store.setImageCreationDate(date, 0); 
     284          store.setImageCreationDate(date, 0); 
     285        } 
     286        else MetadataTools.setDefaultCreationDate(store, id, 0); 
    286287 
    287288        /* 
  • trunk/loci/formats/in/QTReader.java

    r4048 r4132  
    438438      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    439439    store.setImageName("", 0); 
    440     store.setImageCreationDate( 
    441       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     440    MetadataTools.setDefaultCreationDate(store, id, 0); 
    442441    MetadataTools.populatePixels(store, this); 
    443442  } 
  • trunk/loci/formats/in/SDTReader.java

    r4048 r4132  
    214214      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    215215    store.setImageName("", 0); 
    216     store.setImageCreationDate( 
    217       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     216    MetadataTools.setDefaultCreationDate(store, id, 0); 
    218217    MetadataTools.populatePixels(store, this); 
    219218    // CTR CHECK 
  • trunk/loci/formats/in/SlidebookReader.java

    r4061 r4132  
    434434    for (int i=0; i<core.sizeX.length; i++) { 
    435435      store.setImageName(imageNames[i], i); 
    436       store.setImageCreationDate( 
    437         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), i); 
     436      MetadataTools.setDefaultCreationDate(store, id, i); 
    438437      for (int c=0; c<core.sizeC[i]; c++) { 
    439438        if (index < channelNames.size()) { 
  • trunk/loci/formats/in/TCSReader.java

    r4048 r4132  
    301301      for (int i=0; i<x.size(); i++) { 
    302302        store.setImageName((String) seriesNames.get(i), i); 
    303         store.setImageCreationDate( 
    304           DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), i); 
     303        MetadataTools.setDefaultCreationDate(store, id, i); 
    305304      } 
    306305 
  • trunk/loci/formats/in/VisitechReader.java

    r4048 r4132  
    262262    for (int i=0; i<numSeries; i++) { 
    263263      store.setImageName("Position " + i, i); 
    264       store.setImageCreationDate( 
    265         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), i); 
     264      MetadataTools.setDefaultCreationDate(store, id, i); 
    266265    } 
    267266    MetadataTools.populatePixels(store, this); 
  • trunk/loci/formats/in/ZeissLSMReader.java

    r4052 r4132  
    299299 
    300300      store.setImageName("", 0); 
    301       store.setImageCreationDate( 
    302         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     301      MetadataTools.setDefaultCreationDate(store, getCurrentFile(), 0); 
    303302 
    304303      int spectralScan = ras.readShort(); 
  • trunk/loci/formats/in/ZeissZVIReader.java

    r4111 r4132  
    528528      new FilterMetadata(getMetadataStore(), isMetadataFiltered()); 
    529529    store.setImageName("", 0); 
    530     store.setImageCreationDate( 
    531       DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     530    MetadataTools.setDefaultCreationDate(store, getCurrentFile(), 0); 
    532531 
    533532    if (bpp == 1 || bpp == 3) core.pixelType[0] = FormatTools.UINT8; 
     
    626625    } 
    627626    else { 
    628       store.setImageCreationDate( 
    629         DataTools.convertDate(System.currentTimeMillis(), DataTools.UNIX), 0); 
     627      MetadataTools.setDefaultCreationDate(store, getCurrentFile(), 0); 
    630628    } 
    631629 
Note: See TracChangeset for help on using the changeset viewer.