code: def apply_numpy_specials(self, copy=True):
          
          if copy:
              data = self.data.astype(numpy.float64)
  
          elif self.data.dtype != numpy.float64:
              data = self.data = self.data.astype(numpy.float64)
  
          else:
              data = self.data
  
          data[data == self.specials['Null']] = numpy.nan
          data[data < self.specials['Min']] = numpy.NINF
          data[data > self.specials['Max']] = numpy.inf
  
          return data
docs: Convert isis special pixel values to numpy special pixel values.
  
              =======  =======
               Isis     Numpy
              =======  =======
              Null     nan
              Lrs      -inf
              Lis      -inf
              His      inf
              Hrs      inf
              =======  =======
  
          Parameters
          ----------
          copy : bool [True]
              Whether to apply the new special values to a copy of the
              pixel data and leave the original unaffected
  
          Returns
          -------
          Numpy Array
              A numpy array with special values converted to numpy's nan, inf,
              and -inf