Just to be explicit rather than implicit about the data layout. Especially if 's' is in some weird place, I thought it'd clearer if the user wrote:

    axes=('b', 0, 1, 's', 'c')
    shape=(rows, cols, 2, num_channels)

Rather than:

    axes=('b', 0, 1, 's', 'c')
    shape=(rows, cols, num_channels)