Published June 14, 2018 | Version 1.6.1
Software Open

Advanced Convolution Coefficient Calculator

Description

CRITICAL UPDATE:  It is found that the algorithm that is employed to detect number of accurate significant digits in this program has some flaws. Therefore, in some cases, the algorithm doesn't yield the expected results. For fully accurate covolution coefficient matrix, please use PCCC (Precise Convolution Coefficient Calculator), which performs rational number computations (opposed to floating-point computations in ACCC) and yields fully accurate results. PCCC can be downloaded from https://doi.org/10.5281/zenodo.1288905.

***         ***          ***        ***

Computations of convolution coefficient matrices (CCM) for multidimensional least-squares filters are challenging, as the truncation errors that are introduced when performing standard floating-point computations in computer programming languages become large and severely degrade accuracy of the CCM. As the spatial dimension, the kernel size, and the polynomial order increase, these errors grow. Sometimes, the errors cause many zero-valued elements of the CCM to appear as non-zero, and introduces large errors in the non-zero elements. Consequently, the CCM cannot be reliably used in filtering applications. The algorithm that is employed in this software correctly separates these fictitious non-zero elements from the genuine non-zero elements. The former elements are set to zero, and the latter are calculated with high accuracy. Precise Convolution Coefficient Calculator (https://doi.org/10.5281/zenodo.1257898) shows that the accuracy of the latter elements typically goes until 15 significant digits.

Important features of ACCC are as follows:

  • It can handle both structured and unstructured kernels of arbitrary size and shape with randomly distributed nodes
  • It can handle extremely stretched kernel nodes, even where distance between adjacent nodes vary by several hundred orders of magnitudes
  • It can handle arbitrary weights that can be given to the sampled values at different kernel nodes
  • It can handle both symmetric and asymmetric polynomials of arbitrary orders
  • It can calculate CCMs with high accuracy (in terms of number of significant digits)
  • Fast computation using OpenMP parallelization

DOWNLOADS:

  • accc-1.6.1-Win-Setup.exe : Setup file to install on 64-bits Microsoft Windows. Can be installed on Unix-like systems also, in Wine environment. Tested OS's: Windows 7 and Fedora-27, 28. Tested processors: Intel's i5 and AMD's A9.
  • accc-1.6-1.x86_64.rpm : RPM package for installation on 64-bits Unix-like systems. Tested OS's: Fedora-23, 27, 28. Tested processors: Intel's i5 and AMD's A9.
  • accc-1.6-1.src.rpm : Source RPM for rebuilding packages on Unix-like systems. Used to build the above RPM package.
  • accc-1.6.tar.gz : Source code, with compilation and installation instructions. Used to build all the aforementioned packages. Tested OS's: 64-bits Windows-7 in MSYS+MinGW environment and 64-bits Fedora-23. Tested processor: Intel's i5.

If you are interested in testing the software on other operating systems, or would like to make its DEB packages, or encounter any bug in the software, please contact me.

CONTACT:
    Dr. Chandra Shekhar
    E-mail: chandra.s.iitk@gmail.com
    Homepage: https://sites.google.com/site/ChandraAcads
    Please visit the homepage for updates.

Files

Files (53.9 MB)

Name Size Download all
md5:5ffb18ff6e0ed39f8083a6bf9136d824
13.4 MB Download
md5:9d6d431ba48ebfdc0e2043c6c5f6bcee
13.2 MB Download
md5:70e8adbf844df9450d3ae4a7bbafc0d6
14.0 MB Download
md5:be62326e071cd932f450ca8f0e59efbe
13.4 MB Download

Additional details

Related works

References
10.5281/zenodo.1257898 (DOI)