⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dwt_int.c

📁 QccPack-0.54-1 released (2007-04-30) is being developed and tested on Fedora Core Linux. QccPack pro
💻 C
📖 第 1 页 / 共 2 页
字号:
    return(0);  if (wavelet == NULL)    return(0);    if (num_scales <= 0)    return(0);    original_num_frames = num_frames;  original_num_rows = num_rows;  original_num_cols = num_cols;    for (scale = 0; scale < num_scales; scale++)    {      phase_frame = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_frame,                                                    subsample_pattern_frame);      phase_row = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_row,                                                  subsample_pattern_row);      phase_col = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_col,                                                  subsample_pattern_col);            if (QccWAVWaveletAnalysis3DInt(volume,                                     num_frames,                                     num_rows,                                     num_cols,                                     phase_frame,                                     phase_row,                                     phase_col,                                     wavelet))        {          QccErrorAddMessage("(QccWAVWaveletDyadicDWT3DInt): Error calling QccWAVWaveletAnalysis3DInt()");          goto Error;        }            num_frames =        QccWAVWaveletDWTSubbandLength(original_num_frames, scale + 1,                                      0, origin_frame,                                      subsample_pattern_frame);      num_rows =        QccWAVWaveletDWTSubbandLength(original_num_rows, scale + 1,                                      0, origin_row,                                      subsample_pattern_row);      num_cols =        QccWAVWaveletDWTSubbandLength(original_num_cols, scale + 1,                                      0, origin_col,                                      subsample_pattern_col);    }    return_value = 0;  goto Return; Error:  return_value = 1; Return:  return(return_value);}int QccWAVWaveletInverseDyadicDWT3DInt(QccVolumeInt volume,                                       int num_frames,                                       int num_rows,                                       int num_cols,                                       int origin_frame,                                       int origin_row,                                       int origin_col,                                       int subsample_pattern_frame,                                       int subsample_pattern_row,                                       int subsample_pattern_col,                                       int num_scales,                                       const QccWAVWavelet *wavelet){  int return_value;  int scale;  int original_num_frames = 0;  int original_num_rows = 0;  int original_num_cols = 0;  int phase_frame;  int phase_row;  int phase_col;    if (volume == NULL)    return(0);  if (wavelet == NULL)    return(0);    if (num_scales <= 0)    return(0);    original_num_frames = num_frames;  original_num_rows = num_rows;  original_num_cols = num_cols;    for (scale = num_scales - 1; scale >= 0; scale--)    {      num_frames =        QccWAVWaveletDWTSubbandLength(original_num_frames, scale,                                      0, origin_frame,                                      subsample_pattern_frame);      num_rows =        QccWAVWaveletDWTSubbandLength(original_num_rows, scale,                                      0, origin_row,                                      subsample_pattern_row);      num_cols =        QccWAVWaveletDWTSubbandLength(original_num_cols, scale,                                      0, origin_col,                                      subsample_pattern_col);            phase_frame = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_frame,                                                    subsample_pattern_frame);      phase_row = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_row,                                                  subsample_pattern_row);      phase_col = QccWAVWaveletDWTSubbandPhaseInt(scale + 1, origin_col,                                                  subsample_pattern_col);      if (QccWAVWaveletSynthesis3DInt(volume,                                      num_frames,                                      num_rows,                                      num_cols,                                      phase_frame,                                      phase_row,                                      phase_col,                                      wavelet))        {          QccErrorAddMessage("(QccWAVWaveletInverseDyadicDWT3DInt): Error calling QccWAVWaveletSynthesis3DInt()");          goto Error;        }    }    return_value = 0;  goto Return; Error:  return_value = 1; Return:  return(return_value);}int QccWAVWaveletPacketDWT3DInt(QccVolumeInt volume,                                int num_frames,                                int num_rows,                                int num_cols,                                int origin_frame,                                int origin_row,                                int origin_col,                                int subsample_pattern_frame,                                int subsample_pattern_row,                                int subsample_pattern_col,                                int temporal_num_scales,                                int spatial_num_scales,                                const QccWAVWavelet *wavelet){  int return_value;  int frame, row, col;  QccVectorInt temp_z = NULL;    if (volume == NULL)    return(0);  if (wavelet == NULL)    return(0);    if ((temporal_num_scales <= 0) ||      (spatial_num_scales <= 0))    return(0);    if ((temp_z = QccVectorIntAlloc(num_frames)) == NULL)    {      QccErrorAddMessage("(QccWAVWaveletPacketDWT3DInt): Error calling QccVectorIntAlloc()");      goto Error;    }    for (row = 0; row < num_rows; row++)    for (col = 0; col < num_cols; col++)      {        for (frame = 0; frame < num_frames; frame++)          temp_z[frame] = volume[frame][row][col];                if (QccWAVWaveletDWT1DInt(temp_z,                                  num_frames,                                  origin_frame,                                  subsample_pattern_frame,                                  temporal_num_scales,                                  wavelet))          {            QccErrorAddMessage("(QccWAVWaveletPacketDWT3DInt): Error calling QccWAVWaveletDWT1DInt()");            goto Error;          }                for (frame = 0; frame < num_frames; frame++)          volume[frame][row][col] = temp_z[frame];      }    for (frame = 0; frame < num_frames; frame++)    if (QccWAVWaveletDWT2DInt(volume[frame],                              num_rows,                              num_cols,                              origin_row,                              origin_col,                              subsample_pattern_row,                              subsample_pattern_col,                              spatial_num_scales,                              wavelet))      {        QccErrorAddMessage("(QccWAVWaveletPacketDWT3DInt): Error calling QccWAVWaveletDWT2DInt()");        goto Error;      }        return_value = 0;  goto Return; Error:  return_value = 1; Return:  QccVectorIntFree(temp_z);  return(return_value);}int QccWAVWaveletInversePacketDWT3DInt(QccVolumeInt volume,                                       int num_frames,                                       int num_rows,                                       int num_cols,                                       int origin_frame,                                       int origin_row,                                       int origin_col,                                       int subsample_pattern_frame,                                       int subsample_pattern_row,                                       int subsample_pattern_col,                                       int temporal_num_scales,                                       int spatial_num_scales,                                       const QccWAVWavelet *wavelet){  int return_value;  int frame, row, col;  QccVectorInt temp_z = NULL;    if (volume == NULL)    return(0);  if (wavelet == NULL)    return(0);    if ((temporal_num_scales <= 0) ||      (spatial_num_scales <= 0))    return(0);    if ((temp_z = QccVectorIntAlloc(num_frames)) == NULL)    {      QccErrorAddMessage("(QccWAVWaveletInversePacketDWT3DInt): Error calling QccVectorIntAlloc()");      goto Error;    }    for (frame = 0; frame < num_frames; frame++)    if (QccWAVWaveletInverseDWT2DInt(volume[frame],                                     num_rows,                                     num_cols,                                     origin_row,                                     origin_col,                                     subsample_pattern_row,                                     subsample_pattern_col,                                     spatial_num_scales,                                     wavelet))      {        QccErrorAddMessage("(QccWAVWaveletInversePacketDWT3DInt): Error calling QccWAVWaveletInverseDWT2DInt()");        goto Error;      }    for (row = 0; row < num_rows; row++)    for (col = 0; col < num_cols; col++)      {        for (frame = 0; frame < num_frames; frame++)          temp_z[frame] = volume[frame][row][col];                if (QccWAVWaveletInverseDWT1DInt(temp_z,                                         num_frames,                                          origin_frame,                                         subsample_pattern_frame,                                         temporal_num_scales,                                         wavelet))          {            QccErrorAddMessage("(QccWAVWaveletInversePacketDWT3DInt): Error calling QccWAVWaveletInverseDWT1DInt()");            goto Error;          }                for (frame = 0; frame < num_frames; frame++)          volume[frame][row][col] = temp_z[frame];      }    return_value = 0;  goto Return; Error:  return_value = 1; Return:  QccVectorIntFree(temp_z);  return(return_value);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -