def _parse_sot_segment(self, fptr):
        """Parse the SOT segment.

        Parameters
        ----------
        fptr : file
            Open file object.

        Returns
        -------
        SOTSegment
            The current SOT segment.
        """
        offset = fptr.tell() - 2

        read_buffer = fptr.read(10)
        data = struct.unpack('>HHIBB', read_buffer)

        length = data[0]
        isot = data[1]
        psot = data[2]
        tpsot = data[3]
        tnsot = data[4]

        segment = SOTsegment(isot, psot, tpsot, tnsot, length, offset)

        # Need to keep easy access to tile offsets and lengths for when
        # we encounter start-of-data marker segments.

        self._tile_offset.append(segment.offset)
        if segment.psot == 0:
            tile_part_length = (self.offset + self.length -
                                segment.offset - 2)
        else:
            tile_part_length = segment.psot
        self._tile_length.append(tile_part_length)

        return segment
def _parse_sot_segment ( self , fptr ) : offset = fptr . tell ( ) - 2 read_buffer = fptr . read ( 10 ) data = struct . unpack ( '>HHIBB' , read_buffer ) length = data [ 0 ] isot = data [ 1 ] psot = data [ 2 ] tpsot = data [ 3 ] tnsot = data [ 4 ] segment = SOTsegment ( isot , psot , tpsot , tnsot , length , offset ) self . _tile_offset . append ( segment . offset ) if segment . psot == 0 : tile_part_length = ( self . offset + self . length - segment . offset - 2 ) else : tile_part_length = segment . psot self . _tile_length . append ( tile_part_length ) return segment
Parse the SOT segment.

        Parameters
        ----------
        fptr : file
            Open file object.

        Returns
        -------
        SOTSegment
            The current SOT segment.