code: def test_lpca_rmse(rng):
      S0_w_noise = 100 + 2 * rng.standard_normal((22, 23, 30, 20))
      rmse_w_noise = np.sqrt(np.mean((S0_w_noise - 100) ** 2))
      S0_denoised = localpca(S0_w_noise, sigma=np.std(S0_w_noise))
      rmse_denoised = np.sqrt(np.mean((S0_denoised - 100) ** 2))
      # Denoising should always improve the RMSE:
      assert_(rmse_denoised < rmse_w_noise)
  
imports: import warnings
  import numpy
  import scipy.special
  from numpy.testing import assert_, assert_equal, assert_raises, assert_array_almost_equal, assert_warns
  from dipy.denoise.localpca import dimensionality_problem_message, create_patch_radius_arr, compute_patch_size, compute_num_samples, compute_suggested_patch_radius, localpca, mppca, genpca, _pca_classifier
  from dipy.sims.voxel import multi_tensor
  from dipy.core.gradients import gradient_table, generate_bvecs
  from dipy.testing.decorators import set_random_number_generator
label_desc: Use image node_id 6 for calling a global function with example usage: test_lpca_rmse(rng) without return types