
 %---------------------------------------------
 close all 
 clear all
 family = 'Haar'; par = 4;
 wf = MakeONFilter('Haar', 1);
 %make noisy 3D data set
 n3d = Make3DData(64, 0.5);
 %make a movie of a set and view it...
 mov_n3d = DDD2Movie(n3d,3);
 movie(mov_n3d);
 %----------------------------------
 %
 %  transform the noisy 3D  data set in the wavelet domain
 n3d_wav = FWT3_PO(n3d, 1, wf);
 %  make a movie of the data in the wavelet domain and view it
 mov_n3d_wav = DDD2Movie(n3d_wav,3);
 movie(mov_n3d_wav);
 %  threshold, here universal/global is used
 n3dwt = n3d_wav;
 n3dwt( abs(n3dwt) < sqrt(2 * log(64^3))*0.5 ) = 0;
 %  make a movie of thresholded object and view it
 mov_n3dwt = DDD2Movie(n3dwt,3);
 movie(mov_n3dwt);
 %  return the thresholded object to the time domain
 t3d = IWT3_PO( n3dwt, 1, wf);
 %  make a movie of the reconstruction and view it
 mov_t3d = DDD2Movie(t3d,3);
 movie(mov_t3d);
 