docs: def __hdr2dict(self):
          """
          read a HDR file into a dictionary
          http://gis.stackexchange.com/questions/48618/how-to-read-write-envi-metadata-using-gdal
          Returns
          -------
          dict
              the hdr file metadata attributes
          """
          with open(self.filename, 'r') as infile:
              lines = infile.readlines()
          i = 0
          out = dict()
          while i < len(lines):
              line = lines[i].strip('\r\n')
              if '=' in line:
                  if '{' in line and '}' not in line:
                      while '}' not in line:
                          i += 1
                          line += lines[i].strip('\n').lstrip()
                  line = list(filter(None, re.split(r'\s+=\s+', line)))
                  line[1] = re.split(',[ ]*', line[1].strip('{}'))
                  key = line[0].replace(' ', '_')
                  val = line[1] if len(line[1]) > 1 else line[1][0]
                  out[key] = parse_literal(val)
              i += 1
          if 'band_names' in out.keys() and not isinstance(out['band_names'], list):
              out['band_names'] = [out['band_names']]
          return out