Changeset 1939


Ignore:
Timestamp:
12/18/06 11:00:40 (13 years ago)
Author:
melissa
Message:

Bugfixes.

Location:
trunk/loci/formats
Files:
5 edited

Legend:

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

    r1908 r1939  
    480480      sizeT[0] = ifds.length; 
    481481 
    482       int bitsPerSample = TiffTools.getIFDIntValue(ifds[0], 
    483         TiffTools.BITS_PER_SAMPLE); 
    484482      int bitFormat = TiffTools.getIFDIntValue(ifds[0], 
    485483        TiffTools.SAMPLE_FORMAT); 
    486484 
    487       //if (bitsPerSample == 12) bitsPerSample = 8;  // special case 
    488       while (bitsPerSample % 8 != 0) bitsPerSample++; 
    489       if (bitsPerSample == 24 || bitsPerSample == 48) bitsPerSample /= 3; 
     485      while (bps % 8 != 0) bps++; 
     486      if (bps == 24 || bps == 48) bps /= 3; 
    490487 
    491488      if (bitFormat == 3) pixelType[0] = FormatReader.FLOAT; 
    492489      else if (bitFormat == 2) { 
    493         switch (bitsPerSample) { 
     490        switch (bps) { 
    494491          case 8: 
    495492            pixelType[0] = FormatReader.UINT8; 
     
    505502      } 
    506503      else { 
    507         switch (bitsPerSample) { 
     504        switch (bps) { 
    508505          case 8: 
    509506            pixelType[0] = FormatReader.UINT8; 
     
    521518      currentOrder[0] = "XYCZT"; 
    522519    } 
    523     catch (Exception e) { } 
     520    catch (Exception e) { /* debug */ e.printStackTrace(); } 
    524521  } 
    525522 
  • trunk/loci/formats/in/IPLabReader.java

    r1806 r1939  
    259259    in.read(fourBytes); 
    260260    String tag = new String(fourBytes); 
    261     while (!tag.equals("fini")) { 
     261    while (!tag.equals("fini") && in.getFilePointer() < in.length() - 4) { 
    262262      if (tag.equals("clut")) { 
    263263        // read in Color Lookup Table 
  • trunk/loci/formats/in/OIFReader.java

    r1926 r1939  
    375375      new Integer(Integer.parseInt((String) metadata.get("ImageHeight"))), 
    376376      new Integer(sizeZ[0]), 
    377       new Integer(getSizeC(id)), 
     377      new Integer(sizeC[0]), 
    378378      new Integer(sizeT[0]), 
    379379      new Integer(pixelType[0]), 
  • trunk/loci/formats/in/OpenlabReader.java

    r1826 r1939  
    332332        throw new FormatException("Unsupported image type : " + volumeType); 
    333333      } 
     334    } 
     335  
     336    int bpp = b.length / (width[series] * height[series]); 
     337    int expected = width[series] * height[series] * bpp; 
     338    if (b.length > expected) { 
     339      byte[] tmp = b; 
     340      b = new byte[expected]; 
     341      System.arraycopy(tmp, 0, b, 0, b.length); 
    334342    } 
    335343    return b; 
  • trunk/loci/formats/test/ReaderTest.java

    r1927 r1939  
    113113      catch (IOException io) { } 
    114114    } 
    115      
     115   
     116    Runtime rt = Runtime.getRuntime(); 
     117    /* debug */ System.out.println("memory used : " +  
     118      (rt.freeMemory() / (1024*1024)) + " MB"); 
     119 
     120    if (!root.endsWith(File.separator)) root += File.separator; 
    116121    File f = new File(root); 
    117122    String[] subs = f.list(); 
     
    119124      for (int i=0; i<subs.length; i++) { 
    120125        if (!isBadFile(subs[i])) { 
    121           subs[i] = root +  
    122             (root.endsWith(File.separator) ? "" : File.separator) + subs[i]; 
     126          subs[i] = root + subs[i];  
    123127          File tmp = new File(subs[i]); 
    124128          if (!tmp.isDirectory() && reader.isThisType(subs[i])) { 
     
    129133              } 
    130134            } 
    131             catch (IOException io) { } 
    132             catch (FormatException fe) { } 
     135            catch (IOException io) { files.add(subs[i]); } 
     136            catch (FormatException fe) { files.add(subs[i]); } 
    133137          } 
    134138          else if (tmp.isDirectory()) getFiles(subs[i], files); 
    135         } 
    136       } 
    137     } 
     139          else /* debug */ System.out.println(subs[i] + "has invalid type"); 
     140          tmp = null; 
     141          try { reader.close(); } 
     142          catch (Exception e) { } 
     143        } 
     144        else /* debug */ System.out.println(subs[i] + " is a bad file"); 
     145      } 
     146    } 
     147    else System.out.println("Invalid directory : " + root + "(" + f.isDirectory() + 
     148      ")"); 
     149    f = null; 
    138150  } 
    139151 
Note: See TracChangeset for help on using the changeset viewer.