Changeset 7287 for branches/4.2


Ignore:
Timestamp:
12/01/10 17:03:30 (10 years ago)
Author:
melissa
Message:

Parse some more (undocumented) metadata from STK files, including channel names.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/4.2/components/bio-formats/src/loci/formats/in/MetamorphReader.java

    r7208 r7287  
    13501350          } 
    13511351          break; 
     1352        case 49: 
     1353          in.seek(valOrOffset); 
     1354          readPlaneData(); 
     1355          break; 
    13521356      } 
    13531357      addSeriesMeta(key, value); 
     
    14481452    FormatTools.assertId(currentId, false, 1); 
    14491453    canLookForND = v; 
     1454  } 
     1455 
     1456  private void readPlaneData() throws IOException { 
     1457    in.skipBytes(4); 
     1458    int keyLength = in.read(); 
     1459    String key = in.readString(keyLength); 
     1460    in.skipBytes(4); 
     1461 
     1462    int type = in.read(); 
     1463    int index = 0; 
     1464 
     1465    switch (type) { 
     1466      case 1: 
     1467        in.skipBytes(1); 
     1468        while (getGlobalMeta("Channel #" + index + " " + key) != null) { 
     1469          index++; 
     1470        } 
     1471        addGlobalMeta("Channel #" + index + " " + key, in.readDouble()); 
     1472        break; 
     1473      case 2: 
     1474        int valueLength = in.read(); 
     1475        String value = in.readString(valueLength); 
     1476        if (valueLength == 0) { 
     1477          in.skipBytes(4); 
     1478          valueLength = in.read(); 
     1479          value = in.readString(valueLength); 
     1480        } 
     1481        while (getGlobalMeta("Channel #" + index + " " + key) != null) { 
     1482          index++; 
     1483        } 
     1484        addGlobalMeta("Channel #" + index + " " + key, value); 
     1485 
     1486        if (key.equals("_IllumSetting_")) { 
     1487          if (waveNames == null) waveNames = new Vector<String>(); 
     1488          waveNames.add(value); 
     1489        } 
     1490        break; 
     1491    } 
    14501492  } 
    14511493 
Note: See TracChangeset for help on using the changeset viewer.