10
votes
Accepted
Why does the separable filter reduce the cost of computing the operator?
Assume you have a $N\times M$ sized image.
If you know take what is classically used, a square filter kernel, of let's say size $L\times L$, you'd need to convolve that with the picture – which gives ...
7
votes
Accepted
How to Check Separability of 2D Filter / Signal / Matrix
Nilesh Padhi, Welcome to the DSP Community.
The classic definition of separable means the data (2D) given by $ X \in \mathbb{R}^{m \times n} $ can be written as:
$$ X = \sigma u {v}^{T} $$
Where $ \...
6
votes
How Is Laplacian of Gaussian (LoG) Implemented as Four 1D Convolutions?
There are two ways to compute the Laplace of Gaussian operator:
As Royi suggests, by computing
$f * \nabla^2 * g$,where we take the operator $\nabla^2$ as a convolution kernel created using the ...
6
votes
How to Prove a 2D Filter Is Separable?
Given that $G(x)$ is a row vector, while $G(y)$ is a column one, their convolution will be identical to the matrix product $G(x,y)=G(x)*G(y)=G(x)G(y)$. For this reason, as soon as $G(x,y)$ is rank-1, ...
6
votes
Accepted
How to Prove a 2D Filter Is Separable?
Let's have a different perspective on that.
Let's say our 2D Linear Operator is given by the Matrix $ G \in {\mathbb{R}}^{n \times n} $.
Using the SVD Decomposition the operator can be written as:
...
5
votes
Accepted
How to Decompose a Separable Filter?
Indeed you can do that.
You may look on my answer to How to Prove a 2D Filter Is Separable?
By the SVD for any filter $ A $:
$$ A = \sum_{i = 1}^{n} {\sigma}_{i} {u}_{i} {v}_{i}^{T} $$
Since we'...
4
votes
Accepted
Analytical Proof of LoG Filter Separability
The centered Gaussian Kernel can be written, in its general form, as (Up to a scale):
$$ G \left( x, y \right) = \exp \left( -{ \begin{bmatrix} x \\ y \end{bmatrix} }^{T} \boldsymbol{C}^{-1} \begin{...
3
votes
Accepted
How to find out if a transform matrix is separable?
I admit I did not really thought about it before. I hope my notations won't be too sloppy.
I assume that given an operator matrix $A(u,v)$, you can apply this operator as a transform on an image $I$, ...
3
votes
Accepted
Mathematical Approach to Detect If a 2D Signal Is Separable
Let's assume our data is in finite dimension.
So $ x \left[ m, n \right] \in \mathbb{R}^{M \times N} $. So it can be written as a matrix $ X \in \mathbb{R}^{M \times N} $.
Using the SVD Decomposition ...
2
votes
Separability vs. Resolution - Synonymous terms?
Most technical terms, such as these two, do not get their definitions purely from their etymology, but rather from the context of application, by experience and by tradition of acceptance.
And for ...
2
votes
Accepted
How Is Laplacian of Gaussian (LoG) Implemented as Four 1D Convolutions?
I think Chris Luengo's answer is perfect.
The trick is that you can calculate the 2nd derivative of the image (Using Finite Differences -> Convolution) and then blur it with Gaussian Filter.
Since ...
1
vote
Accepted
Rules of image's separability
A separable image $I$ that could be written in a separable way with vectors $a$ and $b$ as:
$$ I= a^Tb$$
would necessarily be of rank one at most. Either a zero-matrix (rank 0), or with only one ...
1
vote
Implementation of a Separable Bilateral Filter for Edge Preserving Smoothing
The idea is the same as any other separable filter:
Work on the columns / rows of the image.
Work on the rows / columns of the output of the previous step.
In Julia it will be something like:
...
1
vote
How Does a Separable Filter Work?
Attaching an example to show how to apply a separable filter to data.
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
separability × 20image-processing × 12
filters × 10
convolution × 5
gaussian × 4
2d × 3
linear-algebra × 2
svd × 2
matlab × 1
discrete-signals × 1
cross-correlation × 1
transform × 1
audio-processing × 1
machine-learning × 1
laplace-transform × 1
dct × 1
eeg × 1
quantization × 1
software-implementation × 1
measurement × 1
source-separation × 1
resolution × 1
ica × 1
edge-preserving-filter × 1
1d × 1