def reporter(prefix=None, out=None, subdir='', timeout=5, **kwargs):
    """Summary media assets to visualize.

    ``reporter`` function collects media assets by the ``with`` statement and
    aggregates in same row to visualize. This function returns an object which
    provides the following methods.

    * :meth:`~chainerui.summary._Reporter.image`: collect images. almost same \
        as :func:`~chainerui.summary.image`
    * :meth:`~chainerui.summary._Reporter.audio`: collect audio. almost same \
        as :func:`~chainerui.summary.audio`

    Example of how to set several assets::

       >>> from chainerui.summary import reporter
       >>> summary.set_out('/path/to/output')  # same as 'log' file directory
       >>>
       >>> with reporter(epoch=1, iteration=10) as r:
       >>>     r.image(image_array1)
       >>>     r.image(image_array2)
       >>>     r.audio(audio_array, 44100)
       >>> # image_array1 and image_array2 are visualized on a browser
       >>> # audio_array can be listened on a browser

    Args:
        prefix (str): prefix of column name.
        out (str): directory path of output.
        subdir (str): sub-directory path of output.
        **kwargs (dict): key-value pair to show as description. regardless of
            empty or not, timestamp is added.
    """

    report = _Reporter(prefix, out, subdir, **kwargs)
    yield report
    report.save(timeout)
Summary media assets to visualize.

    ``reporter`` function collects media assets by the ``with`` statement and
    aggregates in same row to visualize. This function returns an object which
    provides the following methods.

    * :meth:`~chainerui.summary._Reporter.image`: collect images. almost same \
        as :func:`~chainerui.summary.image`
    * :meth:`~chainerui.summary._Reporter.audio`: collect audio. almost same \
        as :func:`~chainerui.summary.audio`

    Example of how to set several assets::

       >>> from chainerui.summary import reporter
       >>> summary.set_out('/path/to/output')  # same as 'log' file directory
       >>>
       >>> with reporter(epoch=1, iteration=10) as r:
       >>>     r.image(image_array1)
       >>>     r.image(image_array2)
       >>>     r.audio(audio_array, 44100)
       >>> # image_array1 and image_array2 are visualized on a browser
       >>> # audio_array can be listened on a browser

    Args:
        prefix (str): prefix of column name.
        out (str): directory path of output.
        subdir (str): sub-directory path of output.
        **kwargs (dict): key-value pair to show as description. regardless of
            empty or not, timestamp is added.