Changeset 3047 for trunk


Ignore:
Timestamp:
08/06/07 10:58:30 (13 years ago)
Author:
melissa
Message:

Remove invalid metadata.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/in/ZeissZVIReader.java

    r3046 r3047  
    342342    } 
    343343 
     344 
     345    // rearrange axis sizes, if necessary  
     346      
     347    String t = (String) metadata.get("Image Index T"); 
     348    if (t == null) t = (String) metadata.get("Image Index T 0"); 
     349 
     350    String z = (String) metadata.get("Image Index Z"); 
     351    if (z == null) z = (String) metadata.get("Image Index Z 0"); 
     352 
     353    if (z != null && t != null) { 
     354      int firstZ = Integer.parseInt(z); 
     355      int firstT = Integer.parseInt(t); 
     356 
     357      if (firstZ >= core.sizeZ[0] || firstT >= core.sizeT[0]) { 
     358        int tmp = core.sizeZ[0]; 
     359        core.sizeZ[0] = core.sizeT[0]; 
     360        core.sizeT[0] = tmp; 
     361      } 
     362    } 
     363 
    344364    try { 
    345365      initMetadata(); 
     
    350370    catch (IOException exc) { 
    351371      if (debug) trace(exc); 
     372    } 
     373   
     374    // remove extra (invalid) metadata 
     375 
     376    String[] keys = (String[]) metadata.keySet().toArray(new String[0]); 
     377    for (int i=0; i<keys.length; i++) { 
     378      String n = keys[i]; 
     379      if (n.indexOf(" ") != -1) { 
     380        n = n.substring(n.lastIndexOf(" ") + 1); 
     381        try { 
     382          int ndx = Integer.parseInt(n); 
     383          if (ndx >= core.sizeC[0]) metadata.remove(keys[i]); 
     384        } 
     385        catch (NumberFormatException e) { } 
     386      } 
    352387    } 
    353388  } 
     
    425460      int[] zct = FormatTools.getZCTCoords(this, i); 
    426461      String exposure = (String) getMeta("Exposure Time [ms] " + i); 
    427       store.setPlaneInfo(zct[0], zct[1], zct[2], null, 
    428       exposure == null ? null : new Float(exposure), null); 
     462      Float exp = new Float(0.0); 
     463      try { exp = new Float(exposure); } 
     464      catch (Exception e) { } 
     465       
     466      store.setPlaneInfo(zct[0], zct[1], zct[2], null, exp, null); 
    429467    } 
    430468 
     
    503541          dirName.toUpperCase().equals("ROOTENTRY")) 
    504542        { 
    505           /* debug */ System.out.println("************************");  
    506543          if (entryName.equals("Tags")) parseTags(s); 
    507           /* debug */ System.out.println("************************");  
    508544        } 
    509545        else if (dirName.equals("Tags") && isContents) { 
    510           /* debug */ System.out.println("************************");  
    511546          parseTags(s); 
    512           /* debug */ System.out.println("************************");  
    513547        } 
    514548        else if (isContents && (dirName.equals("Image") || 
     
    617651          } 
    618652        } 
     653        else { 
     654          try { parseTags(s); } 
     655          catch (IOException e) { } 
     656        }      
    619657        s.close(); 
    620658        data = null; 
     
    756794      if (metadata.get(key) != null || metadata.get(key + " 0") != null) { 
    757795        if (metadata.get(key) != null) { 
    758           metadata.remove(key); 
     796          Object v = metadata.remove(key); 
     797          metadata.put(key + " 0", v);  
    759798        } 
    760799 
     
    764803      } 
    765804 
    766       /* debug */ System.out.println(key); 
    767  
    768805      addMeta(key, value); 
    769  
    770806    } 
    771807  } 
Note: See TracChangeset for help on using the changeset viewer.