MegaWave http://megawave.cmla.ens-cachan.fr
Jacques Froment
LMBA UMR CNRS Université de Bretagne-Sud, France June 27th, 2012
- J. Froment (Université de Bretagne-Sud)
1 / 54
MegaWave http://megawave.cmla.ens-cachan.fr Jacques Froment LMBA - - PowerPoint PPT Presentation
MegaWave http://megawave.cmla.ens-cachan.fr Jacques Froment LMBA UMR CNRS Universit de Bretagne-Sud, France June 27 th, 2012 J. Froment (Universit de Bretagne-Sud) 1 / 54 Outline Overview 1 Basic concept History People Present and
1 / 54
2 / 54
Overview
3 / 54
Overview Basic concept
4 / 54
Overview Basic concept
5 / 54
Overview Basic concept
6 / 54
Overview History
7 / 54
Overview History
8 / 54
Overview History
9 / 54
Overview History
10 / 54
Overview History
11 / 54
Overview History
12 / 54
Overview People
13 / 54
Overview People
14 / 54
Overview People
15 / 54
Overview Present and future
16 / 54
Overview Present and future
17 / 54
Overview Content
18 / 54
Overview Content
19 / 54
Examples of released modules
20 / 54
Examples of released modules Fourier and wavelet transforms
21 / 54
Examples of released modules Fourier and wavelet transforms
fft2dview
22 / 54
Examples of released modules Fourier and wavelet transforms
fftrot
23 / 54
Examples of released modules Fourier and wavelet transforms
fftzoom
24 / 54
Examples of released modules Fourier and wavelet transforms
frandphase
frandphase
25 / 54
Examples of released modules Fourier and wavelet transforms
wiener
26 / 54
Examples of released modules Fourier and wavelet transforms
biowave2
27 / 54
Examples of released modules Fourier and wavelet transforms
wp2ddecomp
28 / 54
Examples of released modules Curves and level lines representation and applications
29 / 54
Examples of released modules Curves and level lines representation and applications
gass
30 / 54
Examples of released modules Curves and level lines representation and applications
gcsf
31 / 54
Examples of released modules Curves and level lines representation and applications
falign
32 / 54
Examples of released modules Curves and level lines representation and applications
falign_mdl
33 / 54
Examples of released modules Curves and level lines representation and applications
ll_boundaries2
34 / 54
Examples of released modules Curves and level lines representation and applications
ll_edges
35 / 54
Examples of released modules Curves and level lines representation and applications
fgrain
36 / 54
Examples of released modules Curves and level lines representation and applications
disocclusion
37 / 54
Examples of released modules Image and signal filtering
38 / 54
Examples of released modules Image and signal filtering
1 3
amss
39 / 54
Examples of released modules Image and signal filtering
40 / 54
Examples of released modules Image and signal filtering
shock
41 / 54
Examples of released modules Image and signal filtering
cfdiffuse
42 / 54
Examples of released modules Image and signal filtering
tvdeblur
43 / 54
Examples of released modules Image and signal filtering
stvrestore
44 / 54
Examples of released modules Image and signal filtering
nlmeans
45 / 54
Examples of released modules Other feature detection
46 / 54
Examples of released modules Other feature detection
canny
47 / 54
Examples of released modules Other feature detection
harris
48 / 54
Examples of released modules Other feature detection
segct
49 / 54
Examples of released modules Other feature detection
segtxt
50 / 54
Example of a module’s source : fftconvol.c
51 / 54
Example of a module’s source : fftconvol.c
52 / 54
Example of a module’s source : fftconvol.c
/*--------------------------- MegaWave2 Module -----------------------------*/ /* mwmodule name = {fftconvol}; version = {"1.2"}; author = {"Lionel Moisan"}; function = {"2D Fourier-convolution of a fimage"}; usage = { in->in "input Fimage", filter->filter "convolution filter in Fourier domain (Fimage)",
"output Fimage" };
#include <stdio.h> #include <math.h> #include "mw.h" extern void fft2d(); // Use this module Fimage fftconvol(in,filter,out) Fimage in,filter,out; { int i,nx,ny;
53 / 54
Example of a module’s source : fftconvol.c
Fimage re,im; nx = in->ncol; ny = in->nrow; // Size of the input image if (filter->ncol!=nx || filter->nrow!=ny) // Check image and filter size mwerror(USAGE,1,"Input image and filter dimensions do not match !\n"); re = mw_new_fimage(); im = mw_new_fimage(); // Create images <re> and <im> fft2d(in,NULL,re,im,0); // Compute the 2D Fourier transform for (i=nx*ny;i--;) { // Multiplication in the Fourier domain re->gray[i] *= filter->gray[i]; im->gray[i] *= filter->gray[i]; }
if (!out) mwerror(FATAL,1,"Not enough memory\n"); // If allocation failed fft2d(re,im,out,NULL,1); // Inverse 2D Fourier transform mw_delete_fimage(re); mw_delete_fimage(im); // Free memory <re> and <im> return(out); // Return the computed image (optional) }
54 / 54