code: def getRow(self, row, numberRows=None):
          
          row = int(row)
          if self._raster[0] == 0 or self._raster[1] == 0:
              return self
          if numberRows is None or numberRows < 1 or numberRows > 9:
              numberRows = self._raster[0]
          rowHeight = self.h / numberRows
          if row < 0:
              # If row is negative, count backwards from the end
              row = numberRows - row
              if row < 0:
                  # Bad row index, return last row
                  return Region(self.x, self.y+self.h-rowHeight, self.w, rowHeight)
          elif row > numberRows:
              # Bad row index, return first row
              return Region(self.x, self.y, self.w, rowHeight)
          return Region(self.x, self.y + (row * rowHeight), self.w, rowHeight)
docs: Returns the specified row of the region (if the raster is set)
  
          If numberRows is provided, uses that instead of the raster