One more comment here: I think that it is generally preferable to use the following `subplots` API in matplotlib: 

    fig, ax = plt.subplots(2)
    ax[0].imshow(data[:, :, axial_middle].T, cmap='gray', origin='lower')
    ax[0].set_axis_off()
    ax[1].imshow(den[:, :, axial_middle].T, cmap='gray', origin='lower')
    ax[1].set_axis_off()
    fig.savefig('denoised_S0.png')