original_docstring: 
      Given a DLIS file, make a short human readable summary of it.
      Show things like headers, well parameters and which well curves are
      available.
  
      Args:
      filename: A DLIS file.
  
      Returns:
      summaryfile: The DLIS file without the extention and the suffix
      _summary.txt.
      
docstring: Given a DLIS file, make a short human readable summary of it.
  Show things like headers, well parameters and which well curves are
  available.
  
  A DLIS file.
  
  The DLIS file without the extention and the suffix
  _summary.txt.
docstring_tokens: Given a DLIS file make a short human readable summary of it . Show things like headers well parameters and which well curves are available . A DLIS file . The DLIS file without the extention and the suffix _summary . txt .
code: def make_summary_file(filename):
      '''
      Given a DLIS file, make a short human readable summary of it.
      Show things like headers, well parameters and which well curves are
      available.
  
      Args:
      filename: A DLIS file.
  
      Returns:
      summaryfile: The DLIS file without the extention and the suffix
      _summary.txt.
      '''
      # To Do:
      # Work out how to get DLISIO to decode the degree unicode symbol.
      summaryfile = open(filename.replace('.DLIS', '_summary.txt'), 'w')
  
      f, *f_tail = dlis.load(filename)
      if len(f_tail):
          print('There are more logical files in tail')
  
      origin, *origin_tail = f.origins
      if len(origin_tail):
          print(filename+' contains multiple origins')
  
      header = f.fileheader
  
      # Parameters.
      parameter_table = summarize(f.parameters,
                                  name='Name',
                                  long_name='Long name',
                                  values='Value(s)'
                                  )
  
      # Hide parameters containing names.
      mask = ~parameter_table['Name'].isin(['R8', 'RR1', 'WITN', 'ENGI'])
      parameter_table = parameter_table[mask]
      parameter_table.sort_values('Name')
  
      summaryfile.write(str(f.describe()))
      summaryfile.write(str(origin.describe()))
      summaryfile.write(str(header.describe()))
      summaryfile.write(str(parameter_table))
  
      for frame in f.frames:
          index_channel = next(ch for ch in frame.channels if ch.name == frame.index)
          summaryfile.write(f'\nFrame {frame.name}:\n')
          summaryfile.write(f'Description      : {frame.description}\n')
          summaryfile.write(f'Indexed by       : {frame.index_type}\n')
          summaryfile.write(f'Interval         : [{frame.index_min}, {frame.index_max}] {index_channel.units}\n')
          summaryfile.write(f'Direction        : {frame.direction}\n')
          summaryfile.write(f'Constant spacing : {frame.spacing} {index_channel.units}\n')
          summaryfile.write(f'Index channel    : {index_channel}\n')
          summaryfile.write(f'No. of channels  : {len(frame.channels)}\n')
  
      channel_table = summarize(f.channels, name='Name',
                                long_name='Long name', units='Units',
                                dimension='Dimension', frame='Frame'
                                )
  
      channel_table.sort_values('Name')
      summaryfile.write(str(channel_table))
  
      summaryfile.close()
      return summaryfile
code_tokens: def make_summary_file ( filename ) : summaryfile = open ( filename . replace ( '.DLIS' , '_summary.txt' ) , 'w' ) f , * f_tail = dlis . load ( filename ) if len ( f_tail ) : print ( 'There are more logical files in tail' ) origin , * origin_tail = f . origins if len ( origin_tail ) : print ( filename + ' contains multiple origins' ) header = f . fileheader parameter_table = summarize ( f . parameters , name = 'Name' , long_name = 'Long name' , values = 'Value(s)' ) mask = ~ parameter_table [ 'Name' ] . isin ( [ 'R8' , 'RR1' , 'WITN' , 'ENGI' ] ) parameter_table = parameter_table [ mask ] parameter_table . sort_values ( 'Name' ) summaryfile . write ( str ( f . describe ( ) ) ) summaryfile . write ( str ( origin . describe ( ) ) ) summaryfile . write ( str ( header . describe ( ) ) ) summaryfile . write ( str ( parameter_table ) ) for frame in f . frames : index_channel = next ( ch for ch in frame . channels if ch . name == frame . index ) summaryfile . write ( f'\nFrame {frame.name}:\n' ) summaryfile . write ( f'Description      : {frame.description}\n' ) summaryfile . write ( f'Indexed by       : {frame.index_type}\n' ) summaryfile . write ( f'Interval         : [{frame.index_min}, {frame.index_max}] {index_channel.units}\n' ) summaryfile . write ( f'Direction        : {frame.direction}\n' ) summaryfile . write ( f'Constant spacing : {frame.spacing} {index_channel.units}\n' ) summaryfile . write ( f'Index channel    : {index_channel}\n' ) summaryfile . write ( f'No. of channels  : {len(frame.channels)}\n' ) channel_table = summarize ( f . channels , name = 'Name' , long_name = 'Long name' , units = 'Units' , dimension = 'Dimension' , frame = 'Frame' ) channel_table . sort_values ( 'Name' ) summaryfile . write ( str ( channel_table ) ) summaryfile . close ( ) return summaryfile
short_docstring: Given a DLIS file, make a short human readable summary of it.
short_docstring_tokens: Given a DLIS file make a short human readable summary of it .
comment: '''
      Given a DLIS file, make a short human readable summary of it.
      Show things like headers, well parameters and which well curves are
      available.
  
      Args:
      filename: A DLIS file.
  
      Returns:
      summaryfile: The DLIS file without the extention and the suffix
      _summary.txt.
      '''$SEP$# To Do:$SEP$# Work out how to get DLISIO to decode the degree unicode symbol.$SEP$# Parameters.$SEP$# Hide parameters containing names.