Changeset 5112


Ignore:
Timestamp:
05/15/09 08:45:47 (11 years ago)
Author:
melissa
Message:

Various bug fixes.

Location:
trunk/components/bio-formats/src/loci/formats/in
Files:
5 edited

Legend:

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

    r5109 r5112  
    728728 
    729729    core[0].sizeT = getImageCount() / (getSizeZ() * (getSizeC() / rgbChannels)); 
     730    if (getSizeT() * getSizeZ() * (getSizeC() / rgbChannels) != 
     731      getImageCount()) 
     732    { 
     733      core[0].sizeT = 1; 
     734      core[0].sizeZ = getImageCount() / (getSizeC() / rgbChannels); 
     735    } 
    730736 
    731737    // if '_t' is present in the file name, swap Z and T sizes 
     
    740746      core[0].sizeT = z; 
    741747    } 
     748    if (getSizeZ() == 0) core[0].sizeZ = 1; 
     749    if (getSizeT() == 0) core[0].sizeT = 1; 
    742750  } 
    743751 
  • trunk/components/bio-formats/src/loci/formats/in/MinimalTiffReader.java

    r5093 r5112  
    161161      return super.openThumbBytes(no); 
    162162    } 
     163    int[] bps = TiffTools.getBitsPerSample(thumbnailIFDs[no]); 
     164    int b = bps[0]; 
     165    while ((b % 8) != 0) b++; 
     166    b /= 8; 
     167    if (b != FormatTools.getBytesPerPixel(getPixelType()) || 
     168      bps.length != getRGBChannelCount()) 
     169    { 
     170      return super.openThumbBytes(no); 
     171    } 
     172 
    163173    byte[] buf = new byte[getThumbSizeX() * getThumbSizeY() * 
    164174      getRGBChannelCount() * FormatTools.getBytesPerPixel(getPixelType())]; 
     
    213223        TiffTools.getIFDIntValue(ifds[i], TiffTools.NEW_SUBFILE_TYPE) == 1; 
    214224      if (thumbnail) thumbs.add(ifds[i]); 
    215       else v.add(ifds[i]); 
     225      else if (ifds[i].get(new Integer(TiffTools.IMAGE_WIDTH)) != null) { 
     226        v.add(ifds[i]); 
     227      } 
    216228    } 
    217229 
  • trunk/components/bio-formats/src/loci/formats/in/OMETiffReader.java

    r5093 r5112  
    270270        int effSizeC = meta.getPixelsSizeC(i, p).intValue() / samples; 
    271271        if (effSizeC == 0) effSizeC = 1; 
     272        if (effSizeC * samples != meta.getPixelsSizeC(i, p).intValue()) { 
     273          effSizeC = meta.getPixelsSizeC(i, p).intValue(); 
     274        } 
    272275        int sizeT = meta.getPixelsSizeT(i, p).intValue(); 
    273276        int sizeZ = meta.getPixelsSizeZ(i, p).intValue(); 
     
    383386            warn("PixelType mismatch: OME=" + core[s].pixelType + 
    384387              ", TIFF=" + tiffPixelType); 
     388            core[s].pixelType = tiffPixelType; 
    385389          } 
    386390          core[s].imageCount = num; 
     
    389393          int photo = TiffTools.getPhotometricInterpretation(firstIFD); 
    390394          core[s].rgb = samples > 1 || photo == TiffTools.RGB; 
     395          if (samples != core[s].sizeC && (samples % core[s].sizeC) != 0) { 
     396            core[s].sizeC *= samples; 
     397          } 
    391398          core[s].littleEndian = !meta.getPixelsBigEndian(i, p).booleanValue(); 
    392399          boolean tiffLittleEndian = TiffTools.isLittleEndian(firstIFD); 
  • trunk/components/bio-formats/src/loci/formats/in/TiffReader.java

    r5093 r5112  
    148148        } 
    149149 
    150         core[0].sizeZ = ifds.length; 
     150        if (z * c * t == ifds.length) { 
     151          core[0].sizeZ = z; 
     152          core[0].sizeT = t; 
     153          core[0].sizeC = c; 
     154        } 
     155        else core[0].sizeZ = ifds.length; 
    151156        core[0].imageCount = ifds.length; 
    152157      } 
  • trunk/components/bio-formats/src/loci/formats/in/ZipReader.java

    r5093 r5112  
    7575  } 
    7676 
    77   /* @see loci.formats.IFormatReader#fileGroupOption(String) */ 
    78   public int fileGroupOption(String id) throws FormatException, IOException { 
    79     return reader.fileGroupOption(id); 
    80   } 
    81  
    8277  /* @see loci.formats.IFormatReader#getUsedFiles() */ 
    8378  public String[] getUsedFiles() { 
Note: See TracChangeset for help on using the changeset viewer.