def flags2segs(Flags, window):
 preFlag = 0
 curFlag = 0
 numOfSegments = 0
 curVal = Flags[curFlag]
 segsList = []
 classes = []
 while (curFlag < (len(Flags) - 1)):
  stop = 0
  preFlag = curFlag
  preVal = curVal
  while (stop == 0):
   curFlag = (curFlag + 1)
   tempVal = Flags[curFlag]
   if ((tempVal != curVal) | (curFlag == (len(Flags) - 1))):
    numOfSegments = (numOfSegments + 1)
    stop = 1
    curSegment = curVal
    curVal = Flags[curFlag]
    segsList.append((curFlag * window))
    classes.append(preVal)
 segs = numpy.zeros((len(segsList), 2))
 for i in range(len(segsList)):
  if (i > 0):
   segs[(i, 0)] = segsList[(i - 1)]
  segs[(i, 1)] = segsList[i]
 return (segs, classes)

def flags2segs ( Flags , window ) : preFlag = 0 curFlag = 0 numOfSegments = 0 curVal = Flags [ curFlag ] segsList = [ ] classes = [ ] while ( curFlag < ( len ( Flags ) - 1 ) ) : stop = 0 preFlag = curFlag preVal = curVal while ( stop == 0 ) : curFlag = ( curFlag + 1 ) tempVal = Flags [ curFlag ] if ( ( tempVal != curVal ) | ( curFlag == ( len ( Flags ) - 1 ) ) ) : numOfSegments = ( numOfSegments + 1 ) stop = 1 curSegment = curVal curVal = Flags [ curFlag ] segsList . append ( ( curFlag * window ) ) classes . append ( preVal ) segs = numpy . zeros ( ( len ( segsList ) , 2 ) ) for i in range ( len ( segsList ) ) : if ( i > 0 ) : segs [ ( i , 0 ) ] = segsList [ ( i - 1 ) ] segs [ ( i , 1 ) ] = segsList [ i ] return ( segs , classes )
arguments: - flags: a sequence of class flags - window: window duration returns: - segs: a sequence of segments limits: segs[i .