code: def process(self, index=None):
          
          # Round 0 of twi processing, process the magnitude and directions of
          # slopes
          print "Starting slope calculation round"
          self.process_twi(index, do_edges=False, skip_uca_twi=True)
  
          # Round 1 of twi processing
          print "Starting self-area calculation round"
          self.process_twi(index, do_edges=False)
  
          # Round 2 of twi processing: edge resolution
          i = self.tile_edge.find_best_candidate(self.elev_source_files)
  
          print "Starting edge resolution round: ",
          count = 0
          i_old = -1
          same_count = 0
          while i is not None and same_count < 3:
              count += 1
              print '*' * 10
              print count, '(%d -- > %d) .' % (i_old, i)
              # %%
              self.process_twi(i, do_edges=True)
              i_old = i
              i = self.tile_edge.find_best_candidate(self.elev_source_files)
              if i_old == i:
                  same_count += 1
              else:
                  same_count = 0
  
          print '*'*79
          print '*******    PROCESSING COMPLETED     *******'
          print '*'*79
          return self
docs: This will completely process a directory of elevation tiles (as
          supplied in the constructor). Both phases of the calculation, the
          single tile and edge resolution phases are run.
  
          Parameters
          -----------
          index : int/slice (optional)
              Default None - processes all tiles in a directory. See
              :py:func:`process_twi` for additional options.