コード例 #1
0
ファイル: waly.c プロジェクト: dgratadour/waly
void dwt2d_inverse_bspline(double *data,int order,int n,int ns)
{  
  gsl_wavelet_workspace *work;
  gsl_wavelet *w;
  gsl_matrix *m1;
  gsl_matrix_view m;
  int i,j;

  long dims[3]={2,n,n};
  double *res = ypush_d(dims);

  int k=0;
  for (i=0;i<n;i++) {
	for (j=0;j<n;j++) {
          k = j+i*n;
	  res[k] = data[k];
	}
  }

  w = gsl_wavelet_alloc(gsl_wavelet_bspline, order);

  work = gsl_wavelet_workspace_alloc(n*n);

  if (ns == 1) gsl_wavelet2d_nstransform_inverse(w, res, n, n, n,work);
  else gsl_wavelet2d_transform_inverse(w, res, n, n, n,work);

  gsl_wavelet_workspace_free (work);
  gsl_wavelet_free (w);

}
コード例 #2
0
ファイル: wavelet2d.hpp プロジェクト: Bhare8972/RFD_modelling
    /**
     * C++ version of gsl_wavelet2d_nstransform_inverse().
     * @param data Data array
     * @param tda Physical row length
     * @param size1 Number of rows
     * @param size2 Number of columns
     * @param work Supply a workspace of appropriate (undocumented) size
     * @return Error code on failure
     */
    int nstransform_inverse( double* data, size_t tda, size_t size1, size_t size2,
			     wavelet::workspace& work ) const {
      return gsl_wavelet2d_nstransform_inverse( get(), data, tda, size1, size2, work.get() ); }