Home > By category > Scripts >Communication > Separable N-Dimensional Convolution



Separable N-Dimensional Convolution

  • Downloads: 
  • Views: 
  • Rating:

This function is an implementation of N-dimensional convolution for the special case when the convolution kernel is separable.

A continuous function f(x1, x2, ... xN) is considered separable if there exist N functions f1, f2, ... fN such that f(x1, x2, ... xN) = f1(x1)f2(x2)f3(x3)...fN(xN).

In two dimensions, a discrete version of the separability condition is as follows: a 2D matrix is separable if it can be expressed as an outer product of two 1D vectors:

a=[-1 0 1]; b=[1 0 -1]; H=a'*b

In this case, supplying Matlab's conv2 function with the two vectors a & b (one to convolve the rows with, the second to convolve the columns with) results in a faster computation than supplying conv2 with the outer product H.

Convnsep.m extends this functionality to an arbitrary number of dimensions.

This may be useful for applications such as:

1. Smoothing a 3D image with separable filters
2. Bilateral filtering (requires 4D convolution for filtering a 3D image)

Notes and caveats:

- As the total size of the variable being convolved increases towards the largest size allowable by Matlab (platform/architecture dependent), performance significantly degrades due to memory limitations, and may become worse than that of convn. Because Matlab requires a contiguous block of memory to allocate space for a variable, the maximum size for which performance is reasonable may be significantly lower than the "theoretical" size limit (which is 1.5 GB on my platform).

- For convolution types other than 'full' (no discarding of any samples), only odd-sized kernels are currently working properly.

Free download from Shareware Connection - This function is an implementation of N-dimensional convolution for the special case when the convolution kernel is separable.

Publisher: Igor Solovey | License: Freeware | Price: 0.00
Version: 1.0 | Size: 10 KB | Platform: Matlab, Scripts
Released Date: 17-06-2013 | Rating: 0 | Title: Separable N-Dimensional Convolution

Author Url: http://www.mathworks.com
Program Info Url: http://www.mathworks.com
Download Url: http://www.mathworks.com/matlabcentral/fx_files/27957/2/convnsep.zip

More downloads from Separable N-Dimensional Convolution publisher Igor Solovey:

Fast Bilateral Filter for 3D Images - This is an implementation of fast bilateral filtering for 3D images

Separable N-Dimensional Convolution keywords:
Separable N-Dimensional Convolution related downloads:

N-dimensional Hypercubes - N-dimensional Hypercubes was developed as a small and simple tool that will help users learn more about will n-dimensional hypercube graphs.

N-dimensional sparse arrays - The class ndSparse defined in this submission will give a lot of the functionality of N-dimensional sparse arrays for N possibly greater than 2

Snifflib - Snifflib is a Java based numerical library designed to provide honest-to-goodness N-dimensional array construction and manipulation along with standard linear algebra functionality as well as statistics and computational routines in the Java language

Easy memory-mapped arrays for large datasets - Code to generate n-dimensional memory-mapped arrays for efficiently accessing large array datasets

N-level Context menu - This is a versatile context (right click) menu script that supports multiple levels of submenus! Script requires IE to work, though degrades well with others.

Shareware Connection periodically updates pricing and software information of 'Separable N-Dimensional Convolution' from company source 'Igor Solovey' , so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft,  Using 'Separable N-Dimensional Convolution' crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Separable N-Dimensional Convolution.

New Reviews

SnapCrab - Nearly every PC users need to take screenshots from time to time, whether it is for personal or professional needs. While using the basic Windows screenshot capture method is available, it is not adequate for everyone. When you want to capture ...

BitKiller - Dealing with various types of data efficiently holds the key to success in any computing task. Apart from generating new data and modifying existing files, it becomes necessary to delete existing files at times. While most users resort to using ...

AOMEI Partition Assistant Lite Edition - No matter whether you are a casual PC user or deal with a number of computers for professional needs, taking care of hardware components is a necessity. Among all hardware components used in laptop or desktop, hard disk is the most important one. ...

Screenshot Captor - Nowadays, a lot of Windows users need to take screenshots for professional and personal usage needs. It may be required to share an interesting image from web site or part of web pages with friends, making tutorials etc. However, freeware screen ...

Internet Explorer 10 - Up to the late 1990s, the web browser used by the bulk of Windows users was invariably Internet Explorer while Netscape played the second fiddle. The scene was relatively identical post 2000 but emergence of Firefox and later Google Chrome ...

SoftAmbulance Free Eraser - Windows comes with a set of integrated utilities to let users maintain and cleanup their computers. While you can always delete files and folders from partitions, that is not a fail proof method. The data remains on hard disk in reality and any ...

dMaintenance - As a computer user, you may need to deal with several types of applications. For a lot of Windows users, the integrated tools of the OS may not suffice at times. They may need to use several third party apps for needs such as entertainment, ...

FortiClient Standard - Every computer user needs to have adequate protection for his system and this holds true for corporate and network users. In business setups, where multiple desktops and servers are connected to a network, using regular antivirus suite may be ...

SumatraPDF - The PDF format is used worldwide to distribute document files without changing formatting, alignment and layout. It can also be used to share complex engineering designs and diagrams along with massive amounts of text. The biggest benefit of this ...

Windows Live Family Safety - Using parental control applications has become a necessity for those people who have tech savvy kids and computers at home. In fact, you should use such software even if your kid is not tech savvy. Needless to say, children depend on internet for ...




New Downloads

HotDisc DVD Copy

HotDisc DVD Copy is a very
easy, fast and powerful DVD
ripping tool, which can help
you rip and convert your
favorite DVD ...

Free MP3 Cutter

Free MP3 Cutter is a simple
application that enables you
to directly cut large audio
files of MP3 and other audio
formats ...

Music Editor Free 2015

Music Editor Free is an
audio-editing tool for music
production that supports many
popular audio formats and
features ...

Free MP3 WMA Cutter

Free MP3 WMA Cutter can cut
MP3/WMA/WAV/OGG sound piece
from big audio format files
directly. You can add fade-in,
...

MP3 Editor for Free

MP3 Editor for Free is perfect
for home-studio recording and
audio editing. It has dozens
of audio effects, audio ...

Facebook Page Publish

"Facebook Page Publish"
publishes your blog posts to
the wall of your Facebook
profile, page or application

POL LiveZilla

This is a module for appear
livezilla on Joomla Base
websites.

Organic Groups - Multiple
Mandatory Groups by Role

Looking for co-maintainer. See
message in issue queue.

wikimarkup

wikimarkup is a class to
automatically generate
latex/wiki/html markup for
matlab objects

Genetic Algorithms
Application

This code is an application of
GA.

Aggregation Block

This module provides a block
to display a list of titles of
recent articles from a feed
created by the Aggregation
module

rtdemo

The Real Time Toolbox for
Matlab interfaces Matlab to
external world