Changeset 4684


Ignore:
Timestamp:
12/10/08 08:28:59 (11 years ago)
Author:
melissa
Message:

Parse timestamps.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/components/bio-formats/src/loci/formats/in/MicromanagerReader.java

    r4683 r4684  
    198198    status("Populating metadata"); 
    199199 
    200     int start = s.indexOf("Summary"); 
    201     int end = s.indexOf("}", start); 
    202     if (start != -1 && end > start) { 
    203       s = s.substring(s.indexOf("\n", start), end).trim(); 
    204     } 
    205  
    206200    Vector stamps = new Vector(); 
    207201 
     
    209203    int[] slice = new int[3]; 
    210204    while (st.hasMoreTokens()) { 
    211       String token = st.nextToken(); 
     205      String token = st.nextToken().trim(); 
    212206      boolean open = token.indexOf("[") != -1; 
    213207      boolean closed = token.indexOf("]") != -1; 
    214       if (open || (!open && !closed)) { 
     208      if (open || (!open && !closed && !token.equals("{") && 
     209        !token.startsWith("}"))) 
     210      { 
    215211        int quote = token.indexOf("\"") + 1; 
    216212        String key = token.substring(quote, token.indexOf("\"", quote)); 
     
    264260      } 
    265261 
    266       if (token.trim().startsWith("\"FrameKey")) { 
     262      if (token.startsWith("\"FrameKey")) { 
    267263        int dash = token.indexOf("-") + 1; 
    268         slice[2] = Integer.parseInt(token.substring(dash, 
    269           token.indexOf("-", dash))); 
    270         dash = token.indexOf("-", dash); 
    271         slice[1] = Integer.parseInt(token.substring(dash, 
    272           token.indexOf("-", dash))); 
    273         dash = token.indexOf("-", dash); 
     264        int nextDash = token.indexOf("-", dash); 
     265        slice[2] = Integer.parseInt(token.substring(dash, nextDash)); 
     266        dash = nextDash + 1; 
     267        nextDash = token.indexOf("-", dash); 
     268        slice[1] = Integer.parseInt(token.substring(dash, nextDash)); 
     269        dash = nextDash + 1; 
    274270        slice[0] = Integer.parseInt(token.substring(dash, 
    275271          token.indexOf("\"", dash))); 
     
    282278          value = token.substring(colon + 1, token.length() - 1).trim(); 
    283279 
     280          key = key.replaceAll("\"", ""); 
     281 
    284282          addMeta(key, value); 
    285283 
    286284          if (key.equals("Exposure-ms")) { 
    287             exposureTime = new Float(value); 
     285            float t = Float.parseFloat(value); 
     286            exposureTime = new Float(t / 1000); 
    288287          } 
    289288          else if (key.equals("ElapsedTime-ms")) { 
    290             stamps.add(new Float(value)); 
     289            float t = Float.parseFloat(value); 
     290            stamps.add(new Float(t / 1000)); 
    291291          } 
    292292 
     
    387387    for (int i=0; i<getImageCount(); i++) { 
    388388      store.setPlaneTimingExposureTime(exposureTime, 0, 0, i); 
    389       // TODO : timestamps not correctly parsed 
    390       //store.setPlaneTimingDeltaT(timestamps[i], 0, 0, i); 
     389      if (i < timestamps.length) { 
     390        store.setPlaneTimingDeltaT(timestamps[i], 0, 0, i); 
     391      } 
    391392    } 
    392393  } 
Note: See TracChangeset for help on using the changeset viewer.