class MultiSpectralFile:
  def __init__(self, reader):
    self.reader = reader

  def getNumObsElements(self, name=None):
    return self.reader.getNumObsElements(name)

  def getNumObsLines(self, name=None):
    return self.reader.getNumObsLines(name)

  def getNumGeoElements(self, name=None):
    return self.reader.getNumGeoElements(name)

  def getNumGeoLines(self, name=None):
    return self.reader.getNumGeoLines(name)

  def getNumObsChannels(self, name=None):
    return self.reader.getNumObsChannels(name)

  def getInstrumentName(self, name):
    return self.reader.getInstrumentName(name)

  def getTrackSegments(self, name):
    return self.reader.getTrackSegments(name)

  def getValues(self, name, start=None, size=None, stride=None):
    return self.reader.getValues(name, start, size, stride)

  def getValue(self, name, start=None):
    return self.reader.getValue(name, start)

  def getObsDimOrder(self):
    return self.reader.getObsDimOrder()

  def getDimOrder(self, name, dim_list):
    return self.reader.getDimOrder(name, dim_list)

  def getObsScaleOffset(self, observation_name, scale_name, offset_name):
    return self.reader.getObsScaleOffset(observation_name, scale_name, offset_name)
  
  def verifyName(self, name):
    return self.reader.verifyName(name)
