Changeset 4242


Ignore:
Timestamp:
07/23/08 14:20:36 (12 years ago)
Author:
melissa
Message:

Added support for objective name and physical X, Y, and Z sizes.

File:
1 edited

Legend:

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

    r4205 r4242  
    296296    // determine total number of pixel bytes 
    297297 
     298    float pixelSize = 1f; 
     299    String objective = null; 
     300    Vector pixelSizeZ = new Vector(); 
     301 
    298302    long pixelBytes = 0; 
    299303    for (int i=0; i<pixelLengths.size(); i++) { 
     
    324328        if (n == 'i') { 
    325329          iCount++; 
    326           in.skipBytes(78); 
     330          in.skipBytes(94); 
     331          pixelSizeZ.add(new Float(in.readFloat())); 
     332          in.seek(in.getFilePointer() - 20); 
     333 
    327334          int start = 0; 
    328335          for (int j=start; j<pixelOffsets.size(); j++) { 
     
    392399          } 
    393400        } 
     401        else if (n == 'd') { 
     402          // objective info and pixel size X/Y 
     403          in.skipBytes(6); 
     404          objective = in.readCString(); 
     405          in.skipBytes(126); 
     406          pixelSize = in.readFloat(); 
     407        } 
    394408      } 
    395409    } 
     
    423437    int index = 0; 
    424438 
     439    store.setObjectiveModel(objective, 0, 0); 
     440 
    425441    for (int i=0; i<core.sizeX.length; i++) { 
    426442      store.setImageName(imageNames[i], i); 
     443      store.setDimensionsPhysicalSizeX(new Float(pixelSize), i, 0); 
     444      store.setDimensionsPhysicalSizeY(new Float(pixelSize), i, 0); 
     445      int idx = 0; 
     446      for (int q=0; q<i; q++) { 
     447        idx += core.sizeC[q]; 
     448      } 
     449 
     450      if (idx < pixelSizeZ.size()) { 
     451        store.setDimensionsPhysicalSizeZ((Float) pixelSizeZ.get(idx), i, 0); 
     452      } 
    427453      MetadataTools.setDefaultCreationDate(store, id, i); 
    428454      for (int c=0; c<core.sizeC[i]; c++) { 
Note: See TracChangeset for help on using the changeset viewer.