def swirl_multi(<EOL>x, center=None, strength=<NUM_LIT:1>, radius=<NUM_LIT:100>, rotation=<NUM_LIT:0>, output_shape=None, order=<NUM_LIT:1>, mode='<STR_LIT>', cval=<NUM_LIT:0>,<EOL>clip=True, preserve_range=False, is_random=False<EOL>):
if radius == <NUM_LIT:0>:<EOL><INDENT>raise AssertionError("<STR_LIT>")<EOL><DEDENT>rotation = np.pi / <NUM_LIT> * rotation<EOL>if is_random:<EOL><INDENT>center_h = int(np.random.uniform(<NUM_LIT:0>, x[<NUM_LIT:0>].shape[<NUM_LIT:0>]))<EOL>center_w = int(np.random.uniform(<NUM_LIT:0>, x[<NUM_LIT:0>].shape[<NUM_LIT:1>]))<EOL>center = (center_h, center_w)<EOL>strength = np.random.uniform(<NUM_LIT:0>, strength)<EOL>radius = np.random.uniform(<NUM_LIT>, radius)<EOL>rotation = np.random.uniform(-rotation, rotation)<EOL><DEDENT>results = []<EOL>for data in x:<EOL><INDENT>max_v = np.max(data)<EOL>if max_v > <NUM_LIT:1>:  <EOL><INDENT>data = data / max_v<EOL><DEDENT>swirled = skimage.transform.swirl(<EOL>data, center=center, strength=strength, radius=radius, rotation=rotation, output_shape=output_shape,<EOL>order=order, mode=mode, cval=cval, clip=clip, preserve_range=preserve_range<EOL>)<EOL>if max_v > <NUM_LIT:1>:<EOL><INDENT>swirled = swirled * max_v<EOL><DEDENT>results.append(swirled)<EOL><DEDENT>return np.asarray(results)<EOL>
Swirl multiple images with the same arguments, randomly or non-randomly.
    Usually be used for image segmentation which x=[X, Y], X and Y should be matched.

    Parameters
    -----------
    x : list of numpy.array
        List of images with dimension of [n_images, row, col, channel] (default).
    others : args
        See ``tl.prepro.swirl``.

    Returns
    -------
    numpy.array
        A list of processed images.