def METHOD_NAME(dir_path, file_name):
    """ Read in a *.vid file. 
    Arguments:
        dir_path: [str] path to the directory where the *.vid file is located
        file_name: [str] name of the *.vid file
    Return:
        [VidStruct object]
    """
    # Open the file for binary reading
    fid = open(os.path.join(dir_path, file_name), 'rb')
    # Init the vid struct
    vid = VidStruct()
    # Read the info from the first frame
    readFrame(vid, fid, metadata_only=True)
    # Reset the file pointer to the beginning
    fid.seek(0)
    vid.frames = []
    # Read in the frames
    while True:
        # Init a new frame structure
        frame = VidStruct()
        # Read one frame
        #fr = np.fromfile(fid, dtype=np.uint16, count=vid.seqlen//2)
        frame.img_data = readFrame(frame, fid)
        # Check if we have reached the end of file
        if frame.img_data is None:
            break
        # Reshape the frame and add it to the frame list
        vid.frames.append(frame)
    fid.close()
    return vid