code: def save(self, filename):
          
          file_root, file_ext = os.path.splitext(filename)
          if file_ext.lower() != INTR_EXTENSION:
              raise ValueError('Extension %s not supported for OrhtographicIntrinsics. Must be stored with extension %s' %(file_ext, INTR_EXTENSION))
  
          camera_intr_dict = copy.deepcopy(self.__dict__)
          f = open(filename, 'w')
          json.dump(camera_intr_dict, f)
          f.close()
docs: Save the CameraIntrinsics object to a .intr file.
  
          Parameters
          ----------
          filename : :obj:`str`
              The .intr file to save the object to.
  
          Raises
          ------
          ValueError
              If filename does not have the .intr extension.