Changeset 3920


Ignore:
Timestamp:
04/14/08 14:58:26 (12 years ago)
Author:
melissa
Message:

More bug fixes.

Location:
trunk/loci/formats
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/TiffTools.java

    r3918 r3920  
    10921092      } 
    10931093 
    1094       //for (int i=0; i<stripByteCounts.length; i++) { 
    1095       //  stripByteCounts[i] *= 2; 
    1096       //} 
     1094      if (compression != UNCOMPRESSED) { 
     1095        for (int i=0; i<stripByteCounts.length; i++) { 
     1096          stripByteCounts[i] *= 2; 
     1097        } 
     1098      } 
    10971099    } 
    10981100 
  • trunk/loci/formats/in/OMETiffReader.java

    r3904 r3920  
    9494    OMETiffHandler handler = new OMETiffHandler(false); 
    9595    String comment = TiffTools.getComment(ifds[0]); 
     96 
     97    // remove invalid characters from comment 
     98 
     99    for (int i=0; i<comment.length(); i++) { 
     100      char c = comment.charAt(i); 
     101      if (Character.isISOControl(c) || !Character.isDefined(c)) { 
     102        comment = comment.replace(c, ' '); 
     103      } 
     104    } 
    96105 
    97106    currentSeries = -1; 
  • trunk/loci/formats/in/ZeissLSMReader.java

    r3918 r3920  
    437437        int numEvents = in.readInt(); 
    438438        for (int i=0; i<numEvents; i++) { 
    439           int size = in.readInt(); 
    440           double eventTime = in.readDouble(); 
    441           int eventType = in.readInt(); 
    442           put("Event" + i + " Time", eventTime); 
    443           put("Event" + i + " Type", eventType); 
    444           put("Event" + i + " Description", in.readString(size - 16)); 
     439          if (in.getFilePointer() + 16 <= in.length()) { 
     440            int size = in.readInt(); 
     441            double eventTime = in.readDouble(); 
     442            int eventType = in.readInt(); 
     443            put("Event" + i + " Time", eventTime); 
     444            put("Event" + i + " Type", eventType); 
     445            long fp = in.getFilePointer(); 
     446            int len = size - 16; 
     447            if (len > 65536) len = 65536; 
     448            if (len < 0) len = 0; 
     449            put("Event" + i + " Description", in.readString(len)); 
     450            in.seek(fp + size - 16); 
     451            if (in.getFilePointer() < 0) break; 
     452          } 
    445453        } 
    446454      } 
     
    761769    } 
    762770    else if (core.imageCount[0] != ifds.length) { 
     771      int diff = core.imageCount[0] - ifds.length; 
    763772      core.imageCount[0] = ifds.length; 
    764       if (core.sizeZ[0] > 1) { 
     773      if (diff % core.sizeZ[0] == 0) { 
     774        core.sizeT[0] -= (diff / core.sizeZ[0]); 
     775      } 
     776      else if (diff % core.sizeT[0] == 0) { 
     777        core.sizeZ[0] -= (diff / core.sizeT[0]); 
     778      } 
     779      else if (core.sizeZ[0] > 1) { 
    765780        core.sizeZ[0] = ifds.length; 
    766781        core.sizeT[0] = 1; 
Note: See TracChangeset for help on using the changeset viewer.