Changeset 7287


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

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

Files:
3 edited

Legend:

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

    r7178 r7287  
    11821182          value = binning; 
    11831183          break; 
     1184        case 49: 
     1185          in.seek(valOrOffset); 
     1186          readPlaneData(); 
     1187          break; 
    11841188      } 
    11851189      addSeriesMeta(key, value); 
     
    12691273    FormatTools.assertId(currentId, false, 1); 
    12701274    canLookForND = v; 
     1275  } 
     1276 
     1277  private void readPlaneData() throws IOException { 
     1278    in.skipBytes(4); 
     1279    int keyLength = in.read(); 
     1280    String key = in.readString(keyLength); 
     1281    in.skipBytes(4); 
     1282 
     1283    int type = in.read(); 
     1284    int index = 0; 
     1285 
     1286    switch (type) { 
     1287      case 1: 
     1288        in.skipBytes(1); 
     1289        while (getGlobalMeta("Channel #" + index + " " + key) != null) { 
     1290          index++; 
     1291        } 
     1292        addGlobalMeta("Channel #" + index + " " + key, in.readDouble()); 
     1293        break; 
     1294      case 2: 
     1295        int valueLength = in.read(); 
     1296        String value = in.readString(valueLength); 
     1297        if (valueLength == 0) { 
     1298          in.skipBytes(4); 
     1299          valueLength = in.read(); 
     1300          value = in.readString(valueLength); 
     1301        } 
     1302        while (getGlobalMeta("Channel #" + index + " " + key) != null) { 
     1303          index++; 
     1304        } 
     1305        addGlobalMeta("Channel #" + index + " " + key, value); 
     1306 
     1307        if (key.equals("_IllumSetting_")) { 
     1308          if (waveNames == null) waveNames = new Vector<String>(); 
     1309          waveNames.add(value); 
     1310        } 
     1311        break; 
     1312    } 
    12711313  } 
    12721314 
  • 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 
  • trunk/components/bio-formats/src/loci/formats/in/MetamorphReader.java

    r7207 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.