Changeset 3323


Ignore:
Timestamp:
10/29/07 09:33:06 (12 years ago)
Author:
melissa
Message:

Populate PixelSize*, if values exist in metadata; better parsing of channel wavelengths.

File:
1 edited

Legend:

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

    r3316 r3323  
    7171  private int previousImageNumber; 
    7272  private Vector channelParameters; 
     73  private float pixelSizeX, pixelSizeY, pixelSizeZ; 
    7374 
    7475  // -- Constructor -- 
     
    190191 
    191192    FormatTools.populatePixels(store, this); 
     193    store.setDimensions(new Float(pixelSizeX), new Float(pixelSizeY), 
     194      new Float(pixelSizeZ), null, null, null); 
    192195 
    193196    for (int i=0; i<core.sizeC[0]; i++) { 
     
    202205      catch (NumberFormatException e) { } 
    203206      catch (NullPointerException e) { } 
    204       try { emWaveValue = new Integer(params[1]); } 
     207      try { 
     208        if (params[1].indexOf("-") != -1) { 
     209          params[1] = params[1].substring(params[1].indexOf("-") + 1); 
     210        } 
     211        emWaveValue = new Integer(params[1]); 
     212      } 
    205213      catch (NumberFormatException e) { } 
    206214      catch (NullPointerException e) { } 
    207       try { exWaveValue = new Integer(params[2]); } 
     215      try { 
     216        if (params[2].indexOf("-") != -1) { 
     217          params[2] = params[2].substring(params[2].indexOf("-") + 1); 
     218        } 
     219        exWaveValue = new Integer(params[2]); 
     220      } 
    208221      catch (NumberFormatException e) { } 
    209222      catch (NullPointerException e) { } 
     
    258271        core.sizeT[0] = Integer.parseInt(st.trim()); 
    259272      } 
    260       else if (name.equals("FileTimePoints")) { 
    261         core.sizeT[0] = Integer.parseInt(st.trim()); 
     273      else if (name.equals("RecordingEntrySampleSpacing")) { 
     274        pixelSizeX = Float.parseFloat(st.trim()); 
     275      } 
     276      else if (name.equals("RecordingEntryLineSpacing")) { 
     277        pixelSizeY = Float.parseFloat(st.trim()); 
     278      } 
     279      else if (name.equals("RecordingEntryPlaneSpacing")) { 
     280        pixelSizeZ = Float.parseFloat(st.trim()); 
    262281      } 
    263282 
     
    297316        String name = (String) r.getVar("name"); 
    298317        String v = getValue("group", (String) r.getVar("name")); 
    299         if (groupName.startsWith("Channel_")) { 
     318        if (groupName.startsWith("/DataSetInfo/Channel_")) { 
    300319          if (name.equals("Gain")) params[0] = v; 
    301320          else if (name.equals("LSMEmissionWavelength")) params[1] = v; 
     
    316335            } 
    317336            if (params[j].indexOf("-") != -1) { 
    318               int idx = params[j].indexOf("-"); 
    319               float a = Float.parseFloat(params[j].substring(0, idx)); 
    320               float b = Float.parseFloat(params[j].substring(idx + 1)); 
    321               params[j] = "" + ((int) (b - a)); 
     337              params[j] = params[j].substring(params[j].indexOf("-") + 1); 
    322338            } 
    323339            if (params[j].indexOf(".") != -1) { 
Note: See TracChangeset for help on using the changeset viewer.