def scans(auth, label=None, scan_ids=None, project=None, experiment=None):
    '''
    Get scan information for a MR Session as a sequence of dictionaries.

    Example:
        >>> import yaxil
        >>> import json
        >>> auth = yaxil.XnatAuth(url='...', username='...', password='...')
        >>> for scan in yaxil.scans2(auth, 'AB1234C'):
        ...     print(json.dumps(scan, indent=2))

    :param auth: XNAT authentication object
    :type auth: :mod:`yaxil.XnatAuth`
    :param label: XNAT MR Session label
    :type label: str
    :param scan_ids: Scan numbers to return
    :type scan_ids: list
    :param project: XNAT MR Session project
    :type project: str
    :param experiment: YAXIL Experiment
    :type experiment: :mod:`yaxil.Experiment`
    :returns: Generator of scan data dictionaries
    :rtype: dict
    '''
    if experiment and (label or project):
        raise ValueError('cannot supply experiment with label or project')
    if experiment:
        label,project = experiment.label,experiment.project
    aid = accession(auth, label, project)
    path = '/data/experiments'
    params = {
        'xsiType': 'xnat:mrSessionData',
        'columns': ','.join(scans.columns.keys())
    }
    params['xnat:mrSessionData/ID'] = aid
    _,result = _get(auth, path, 'json', autobox=True, params=params)
    for result in result['ResultSet']['Result']:
        if scan_ids == None or result['xnat:mrscandata/id'] in scan_ids:
            data = dict()
            for k,v in iter(scans.columns.items()):
                data[v] = result[k]
            yield data
Get scan information for a MR Session as a sequence of dictionaries.

    Example:
        >>> import yaxil
        >>> import json
        >>> auth = yaxil.XnatAuth(url='...', username='...', password='...')
        >>> for scan in yaxil.scans2(auth, 'AB1234C'):
        ...     print(json.dumps(scan, indent=2))

    :param auth: XNAT authentication object
    :type auth: :mod:`yaxil.XnatAuth`
    :param label: XNAT MR Session label
    :type label: str
    :param scan_ids: Scan numbers to return
    :type scan_ids: list
    :param project: XNAT MR Session project
    :type project: str
    :param experiment: YAXIL Experiment
    :type experiment: :mod:`yaxil.Experiment`
    :returns: Generator of scan data dictionaries
    :rtype: dict