code: private void readStrips() {
      ImageStrips imageStrips = new ImageStrips();
      List<Strip> strips = new ArrayList<Strip>();
      long rps = 0;
      if (ifd.containsTagId(TiffTags.getTagId("StripOffsets"))
          && ifd.containsTagId(TiffTags.getTagId("StripBYTECount"))) {
        long tsbc = ifd.getTag("StripBYTECount").getFirstNumericValue();
        if (!ifd.containsTagId(TiffTags.getTagId("RowsPerStrip")) || ifd.getTag("RowsPerStrip").getCardinality() == 0)
          rps = 1;
        else rps = ifd.getTag("RowsPerStrip").getFirstNumericValue();
        long rowLength = tsbc / rps;
        if (rowLength == 0)
          rowLength = 1;
        for (int i = 0; i < ifd.getTag("StripOffsets").getValue().size(); i++) {
          try {
            int so = ifd.getTag("StripOffsets").getValue().get(i).toInt();
            int sbc = ifd.getTag("StripBYTECount").getValue().get(i).toInt();
            Strip strip = new Strip();
            strip.setOffset(so);
            strip.setLength(sbc);
            strip.setStripRows((int) (sbc / rowLength));
            strips.add(strip);
          } catch (Exception ex) {
  
          }
        }
      }
      imageStrips.setStrips(strips);
      imageStrips.setRowsPerStrip(rps);
  
      ifd.setImageStrips(imageStrips);
    }
docs: Read the strips and store them (its offsets) in the imagestrips object.