<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def save(self, filename):
 """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. """

        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()