1// -------------------------------------------------------------------------
2// SWT - Scilab wavelet toolbox
3// Copyright (C) 2010-2014  Holger Nahrstaedt
4//
5// This program is free software; you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation; either version 2 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with this program; if not, write to the Free Software
17// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18//-------------------------------------------------------------------------
19//
20//  <-- NO CHECK ERROR OUTPUT -->
21// dwt1d  Test
22loadmatfile("-mat",get_swt_path()+"tests/unit_tests/Data.mat");
23// waverec
24//haar
25[c,l]=wavedec(s1,3,'haar');
26[cA1,cD1]=dwt(s1,'haar');
27[cA2,cD2]=dwt(cA1,'haar');
28[cA3,cD3]=dwt(cA2,'haar');
29ca2=idwt(cA3,cD3,'haar',length(cA2));
30ca1=idwt(ca2,cD2,'haar',length(cA1));
31a0=idwt(ca1,cD1,'haar',length(s1));
32s0=waverec(c,l,'haar');
33assert_checkalmostequal ( a0 , s0 , %eps );
34// db1
35for N=1:36
36  wname="db"+sprintf("%d",N);
37  [c,l]=wavedec(s1,3,wname);
38  [cA1,cD1]=dwt(s1,wname);
39  [cA2,cD2]=dwt(cA1,wname);
40  [cA3,cD3]=dwt(cA2,wname);
41  ca2=idwt(cA3,cD3,wname,length(cA2));
42  ca1=idwt(ca2,cD2,wname,length(cA1));
43  a0=idwt(ca1,cD1,wname,length(s1));
44  s0=waverec(c,l,wname);
45  assert_checkalmostequal ( a0 , s0 , %eps );
46end;
47// coif1
48for N=1:17
49  wname="coif"+sprintf("%d",N);
50  [c,l]=wavedec(s1,3,wname);
51  [cA1,cD1]=dwt(s1,wname);
52  [cA2,cD2]=dwt(cA1,wname);
53  [cA3,cD3]=dwt(cA2,wname);
54  ca2=idwt(cA3,cD3,wname,length(cA2));
55  ca1=idwt(ca2,cD2,wname,length(cA1));
56  a0=idwt(ca1,cD1,wname,length(s1));
57  s0=waverec(c,l,wname);
58  assert_checkalmostequal ( a0 , s0 , %eps );
59end;
60// sym4
61for N=2:20
62wname="sym"+sprintf("%d",N);
63[c,l]=wavedec(s1,3,wname);
64[cA1,cD1]=dwt(s1,wname);
65[cA2,cD2]=dwt(cA1,wname);
66[cA3,cD3]=dwt(cA2,wname);
67ca2=idwt(cA3,cD3,wname,length(cA2));
68ca1=idwt(ca2,cD2,wname,length(cA1));
69a0=idwt(ca1,cD1,wname,length(s1));
70s0=waverec(c,l,wname);
71assert_checkalmostequal ( a0 , s0 , %eps );
72end;
73bior_fam=["bior1.1","bior1.3", "bior1.5", "bior2.2", "bior2.4", "bior2.6",...
74"bior2.8", "bior3.1", "bior3.3", "bior3.5", "bior3.7",...
75"bior3.9", "bior4.4", "bior5.5", "bior6.8"];
76// bior1.1
77for i=1:max(size(bior_fam))
78[c,l]=wavedec(s1,3,bior_fam(i));
79[cA1,cD1]=dwt(s1,bior_fam(i));
80[cA2,cD2]=dwt(cA1,bior_fam(i));
81[cA3,cD3]=dwt(cA2,bior_fam(i));
82ca2=idwt(cA3,cD3,bior_fam(i),length(cA2));
83ca1=idwt(ca2,cD2,bior_fam(i),length(cA1));
84a0=idwt(ca1,cD1,bior_fam(i),length(s1));
85s0=waverec(c,l,bior_fam(i));
86assert_checkalmostequal ( a0 , s0 , %eps );
87end;
88// type 2
89for i=1:max(size(bior_fam))
90[Lo_D,Hi_D,Lo_R,Hi_R]=wfilters(bior_fam(i));
91[c,l]=wavedec(s1,3,bior_fam(i));
92s0=waverec(c,l,Lo_R,Hi_R);
93[cA1,cD1]=dwt(s1,bior_fam(i));
94[cA2,cD2]=dwt(cA1,bior_fam(i));
95[cA3,cD3]=dwt(cA2,bior_fam(i));
96ca2=idwt(cA3,cD3,bior_fam(i),length(cA2));
97ca1=idwt(ca2,cD2,bior_fam(i),length(cA1));
98a0=idwt(ca1,cD1,bior_fam(i),length(s1));
99assert_checkalmostequal ( a0 , s0 , %eps );
100Lo_R=rand(1,length(Lo_D),'normal');
101Hi_R=rand(1,length(Lo_D),'normal');
102ca2=idwt(cA3,cD3,Lo_R,Hi_R,length(cA2));
103ca1=idwt(ca2,cD2,Lo_R,Hi_R,length(cA1));
104a0=idwt(ca1,cD1,Lo_R,Hi_R,length(s1));
105s0=waverec(c,l,Lo_R,Hi_R);
106assert_checkalmostequal ( a0 , s0 , %eps );
107end;
108// type 3
109for i=1:max(size(bior_fam))
110dwtmode("symh");
111[c,l]=wavedec(s1,3,bior_fam(i));
112a0=waverec(c,l,bior_fam(i));
113dwtmode("symw");
114a1=waverec(c,l,bior_fam(i));
115dwtmode("asymh");
116a2=waverec(c,l,bior_fam(i));
117dwtmode("asymw");
118a3=waverec(c,l,bior_fam(i));
119dwtmode("zpd");
120a4=waverec(c,l,bior_fam(i));
121dwtmode("sp0");
122a5=waverec(c,l,bior_fam(i));
123dwtmode("sp1");
124a6=waverec(c,l,bior_fam(i));
125dwtmode("ppd");
126a7=waverec(c,l,bior_fam(i));
127dwtmode("per");
128a8=waverec(c,l,bior_fam(i));
129dwtmode("symh");
130assert_checkalmostequal ( a0 , a1 , %eps );
131assert_checkalmostequal ( a0 , a2 , %eps );
132assert_checkalmostequal ( a0 , a3 , %eps );
133assert_checkalmostequal ( a0 , a4 , %eps );
134assert_checkalmostequal ( a0 , a5 , %eps );
135assert_checkalmostequal ( a0 , a6 , %eps );
136assert_checkalmostequal ( a0 , a7 , %eps );
137assert_checkalmostequal ( a0 , a8 , %eps );
138end;
139!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
140!!     WARNING: Change DWT Extension Mode   !!
141!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
142**********************************************
143** DWT Extension Mode: Half Symmetrization  **
144**********************************************
145!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
146!!     WARNING: Change DWT Extension Mode   !!
147!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
148**********************************************
149** DWT Extension Mode: Whole Symmetrization **
150**********************************************
151!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
152!!     WARNING: Change DWT Extension Mode   !!
153!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
154**********************************************
155** DWT Extension Mode: Half Asymmetrization **
156**********************************************
157!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
158!!     WARNING: Change DWT Extension Mode   !!
159!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
160**********************************************
161** DWT Extension Mode: Whole Asymmetrization**
162**********************************************
163!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
164!!     WARNING: Change DWT Extension Mode   !!
165!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
166**********************************************
167**     DWT Extension Mode: Zero Padding     **
168**********************************************
169!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
170!!     WARNING: Change DWT Extension Mode   !!
171!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
172**********************************************
173** DWT Extension Mode: order 0 smooth padding*
174**********************************************
175!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
176!!     WARNING: Change DWT Extension Mode   !!
177!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
178**********************************************
179** DWT Extension Mode: order 1 smooth padding*
180**********************************************
181!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
182!!     WARNING: Change DWT Extension Mode   !!
183!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
184**********************************************
185**    DWT Extension Mode: Periodic Padding  **
186**********************************************
187!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
188!!     WARNING: Change DWT Extension Mode   !!
189!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
190**********************************************
191**    DWT Extension Mode: Periodization     **
192**********************************************
193!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
194!!     WARNING: Change DWT Extension Mode   !!
195!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
196**********************************************
197** DWT Extension Mode: Half Symmetrization  **
198**********************************************
199!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
200!!     WARNING: Change DWT Extension Mode   !!
201!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
202**********************************************
203** DWT Extension Mode: Half Symmetrization  **
204**********************************************
205!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
206!!     WARNING: Change DWT Extension Mode   !!
207!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
208**********************************************
209** DWT Extension Mode: Whole Symmetrization **
210**********************************************
211!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
212!!     WARNING: Change DWT Extension Mode   !!
213!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
214**********************************************
215** DWT Extension Mode: Half Asymmetrization **
216**********************************************
217!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
218!!     WARNING: Change DWT Extension Mode   !!
219!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
220**********************************************
221** DWT Extension Mode: Whole Asymmetrization**
222**********************************************
223!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
224!!     WARNING: Change DWT Extension Mode   !!
225!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
226**********************************************
227**     DWT Extension Mode: Zero Padding     **
228**********************************************
229!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
230!!     WARNING: Change DWT Extension Mode   !!
231!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
232**********************************************
233** DWT Extension Mode: order 0 smooth padding*
234**********************************************
235!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
236!!     WARNING: Change DWT Extension Mode   !!
237!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
238**********************************************
239** DWT Extension Mode: order 1 smooth padding*
240**********************************************
241!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
242!!     WARNING: Change DWT Extension Mode   !!
243!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
244**********************************************
245**    DWT Extension Mode: Periodic Padding  **
246**********************************************
247!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
248!!     WARNING: Change DWT Extension Mode   !!
249!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
250**********************************************
251**    DWT Extension Mode: Periodization     **
252**********************************************
253!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
254!!     WARNING: Change DWT Extension Mode   !!
255!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
256**********************************************
257** DWT Extension Mode: Half Symmetrization  **
258**********************************************
259!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
260!!     WARNING: Change DWT Extension Mode   !!
261!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
262**********************************************
263** DWT Extension Mode: Half Symmetrization  **
264**********************************************
265!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
266!!     WARNING: Change DWT Extension Mode   !!
267!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
268**********************************************
269** DWT Extension Mode: Whole Symmetrization **
270**********************************************
271!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
272!!     WARNING: Change DWT Extension Mode   !!
273!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
274**********************************************
275** DWT Extension Mode: Half Asymmetrization **
276**********************************************
277!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
278!!     WARNING: Change DWT Extension Mode   !!
279!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
280**********************************************
281** DWT Extension Mode: Whole Asymmetrization**
282**********************************************
283!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
284!!     WARNING: Change DWT Extension Mode   !!
285!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
286**********************************************
287**     DWT Extension Mode: Zero Padding     **
288**********************************************
289!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
290!!     WARNING: Change DWT Extension Mode   !!
291!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
292**********************************************
293** DWT Extension Mode: order 0 smooth padding*
294**********************************************
295!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
296!!     WARNING: Change DWT Extension Mode   !!
297!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
298**********************************************
299** DWT Extension Mode: order 1 smooth padding*
300**********************************************
301!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
302!!     WARNING: Change DWT Extension Mode   !!
303!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
304**********************************************
305**    DWT Extension Mode: Periodic Padding  **
306**********************************************
307!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
308!!     WARNING: Change DWT Extension Mode   !!
309!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
310**********************************************
311**    DWT Extension Mode: Periodization     **
312**********************************************
313!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
314!!     WARNING: Change DWT Extension Mode   !!
315!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
316**********************************************
317** DWT Extension Mode: Half Symmetrization  **
318**********************************************
319!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
320!!     WARNING: Change DWT Extension Mode   !!
321!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
322**********************************************
323** DWT Extension Mode: Half Symmetrization  **
324**********************************************
325!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
326!!     WARNING: Change DWT Extension Mode   !!
327!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
328**********************************************
329** DWT Extension Mode: Whole Symmetrization **
330**********************************************
331!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
332!!     WARNING: Change DWT Extension Mode   !!
333!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
334**********************************************
335** DWT Extension Mode: Half Asymmetrization **
336**********************************************
337!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
338!!     WARNING: Change DWT Extension Mode   !!
339!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
340**********************************************
341** DWT Extension Mode: Whole Asymmetrization**
342**********************************************
343!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
344!!     WARNING: Change DWT Extension Mode   !!
345!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
346**********************************************
347**     DWT Extension Mode: Zero Padding     **
348**********************************************
349!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
350!!     WARNING: Change DWT Extension Mode   !!
351!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
352**********************************************
353** DWT Extension Mode: order 0 smooth padding*
354**********************************************
355!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
356!!     WARNING: Change DWT Extension Mode   !!
357!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
358**********************************************
359** DWT Extension Mode: order 1 smooth padding*
360**********************************************
361!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
362!!     WARNING: Change DWT Extension Mode   !!
363!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
364**********************************************
365**    DWT Extension Mode: Periodic Padding  **
366**********************************************
367!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
368!!     WARNING: Change DWT Extension Mode   !!
369!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370**********************************************
371**    DWT Extension Mode: Periodization     **
372**********************************************
373!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
374!!     WARNING: Change DWT Extension Mode   !!
375!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
376**********************************************
377** DWT Extension Mode: Half Symmetrization  **
378**********************************************
379!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
380!!     WARNING: Change DWT Extension Mode   !!
381!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
382**********************************************
383** DWT Extension Mode: Half Symmetrization  **
384**********************************************
385!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
386!!     WARNING: Change DWT Extension Mode   !!
387!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
388**********************************************
389** DWT Extension Mode: Whole Symmetrization **
390**********************************************
391!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
392!!     WARNING: Change DWT Extension Mode   !!
393!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
394**********************************************
395** DWT Extension Mode: Half Asymmetrization **
396**********************************************
397!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
398!!     WARNING: Change DWT Extension Mode   !!
399!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
400**********************************************
401** DWT Extension Mode: Whole Asymmetrization**
402**********************************************
403!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
404!!     WARNING: Change DWT Extension Mode   !!
405!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
406**********************************************
407**     DWT Extension Mode: Zero Padding     **
408**********************************************
409!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
410!!     WARNING: Change DWT Extension Mode   !!
411!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
412**********************************************
413** DWT Extension Mode: order 0 smooth padding*
414**********************************************
415!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
416!!     WARNING: Change DWT Extension Mode   !!
417!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
418**********************************************
419** DWT Extension Mode: order 1 smooth padding*
420**********************************************
421!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
422!!     WARNING: Change DWT Extension Mode   !!
423!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
424**********************************************
425**    DWT Extension Mode: Periodic Padding  **
426**********************************************
427!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
428!!     WARNING: Change DWT Extension Mode   !!
429!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
430**********************************************
431**    DWT Extension Mode: Periodization     **
432**********************************************
433!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
434!!     WARNING: Change DWT Extension Mode   !!
435!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
436**********************************************
437** DWT Extension Mode: Half Symmetrization  **
438**********************************************
439!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
440!!     WARNING: Change DWT Extension Mode   !!
441!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
442**********************************************
443** DWT Extension Mode: Half Symmetrization  **
444**********************************************
445!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
446!!     WARNING: Change DWT Extension Mode   !!
447!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
448**********************************************
449** DWT Extension Mode: Whole Symmetrization **
450**********************************************
451!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
452!!     WARNING: Change DWT Extension Mode   !!
453!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
454**********************************************
455** DWT Extension Mode: Half Asymmetrization **
456**********************************************
457!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
458!!     WARNING: Change DWT Extension Mode   !!
459!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
460**********************************************
461** DWT Extension Mode: Whole Asymmetrization**
462**********************************************
463!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
464!!     WARNING: Change DWT Extension Mode   !!
465!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
466**********************************************
467**     DWT Extension Mode: Zero Padding     **
468**********************************************
469!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
470!!     WARNING: Change DWT Extension Mode   !!
471!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
472**********************************************
473** DWT Extension Mode: order 0 smooth padding*
474**********************************************
475!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
476!!     WARNING: Change DWT Extension Mode   !!
477!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
478**********************************************
479** DWT Extension Mode: order 1 smooth padding*
480**********************************************
481!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
482!!     WARNING: Change DWT Extension Mode   !!
483!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
484**********************************************
485**    DWT Extension Mode: Periodic Padding  **
486**********************************************
487!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
488!!     WARNING: Change DWT Extension Mode   !!
489!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
490**********************************************
491**    DWT Extension Mode: Periodization     **
492**********************************************
493!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
494!!     WARNING: Change DWT Extension Mode   !!
495!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
496**********************************************
497** DWT Extension Mode: Half Symmetrization  **
498**********************************************
499!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
500!!     WARNING: Change DWT Extension Mode   !!
501!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
502**********************************************
503** DWT Extension Mode: Half Symmetrization  **
504**********************************************
505!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
506!!     WARNING: Change DWT Extension Mode   !!
507!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
508**********************************************
509** DWT Extension Mode: Whole Symmetrization **
510**********************************************
511!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
512!!     WARNING: Change DWT Extension Mode   !!
513!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
514**********************************************
515** DWT Extension Mode: Half Asymmetrization **
516**********************************************
517!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
518!!     WARNING: Change DWT Extension Mode   !!
519!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
520**********************************************
521** DWT Extension Mode: Whole Asymmetrization**
522**********************************************
523!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
524!!     WARNING: Change DWT Extension Mode   !!
525!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
526**********************************************
527**     DWT Extension Mode: Zero Padding     **
528**********************************************
529!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
530!!     WARNING: Change DWT Extension Mode   !!
531!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
532**********************************************
533** DWT Extension Mode: order 0 smooth padding*
534**********************************************
535!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
536!!     WARNING: Change DWT Extension Mode   !!
537!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
538**********************************************
539** DWT Extension Mode: order 1 smooth padding*
540**********************************************
541!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
542!!     WARNING: Change DWT Extension Mode   !!
543!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
544**********************************************
545**    DWT Extension Mode: Periodic Padding  **
546**********************************************
547!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
548!!     WARNING: Change DWT Extension Mode   !!
549!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
550**********************************************
551**    DWT Extension Mode: Periodization     **
552**********************************************
553!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
554!!     WARNING: Change DWT Extension Mode   !!
555!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
556**********************************************
557** DWT Extension Mode: Half Symmetrization  **
558**********************************************
559!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
560!!     WARNING: Change DWT Extension Mode   !!
561!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
562**********************************************
563** DWT Extension Mode: Half Symmetrization  **
564**********************************************
565!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
566!!     WARNING: Change DWT Extension Mode   !!
567!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
568**********************************************
569** DWT Extension Mode: Whole Symmetrization **
570**********************************************
571!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
572!!     WARNING: Change DWT Extension Mode   !!
573!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
574**********************************************
575** DWT Extension Mode: Half Asymmetrization **
576**********************************************
577!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
578!!     WARNING: Change DWT Extension Mode   !!
579!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
580**********************************************
581** DWT Extension Mode: Whole Asymmetrization**
582**********************************************
583!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
584!!     WARNING: Change DWT Extension Mode   !!
585!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
586**********************************************
587**     DWT Extension Mode: Zero Padding     **
588**********************************************
589!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
590!!     WARNING: Change DWT Extension Mode   !!
591!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
592**********************************************
593** DWT Extension Mode: order 0 smooth padding*
594**********************************************
595!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
596!!     WARNING: Change DWT Extension Mode   !!
597!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
598**********************************************
599** DWT Extension Mode: order 1 smooth padding*
600**********************************************
601!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
602!!     WARNING: Change DWT Extension Mode   !!
603!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
604**********************************************
605**    DWT Extension Mode: Periodic Padding  **
606**********************************************
607!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
608!!     WARNING: Change DWT Extension Mode   !!
609!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
610**********************************************
611**    DWT Extension Mode: Periodization     **
612**********************************************
613!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
614!!     WARNING: Change DWT Extension Mode   !!
615!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
616**********************************************
617** DWT Extension Mode: Half Symmetrization  **
618**********************************************
619!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
620!!     WARNING: Change DWT Extension Mode   !!
621!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
622**********************************************
623** DWT Extension Mode: Half Symmetrization  **
624**********************************************
625!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
626!!     WARNING: Change DWT Extension Mode   !!
627!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
628**********************************************
629** DWT Extension Mode: Whole Symmetrization **
630**********************************************
631!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
632!!     WARNING: Change DWT Extension Mode   !!
633!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
634**********************************************
635** DWT Extension Mode: Half Asymmetrization **
636**********************************************
637!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
638!!     WARNING: Change DWT Extension Mode   !!
639!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
640**********************************************
641** DWT Extension Mode: Whole Asymmetrization**
642**********************************************
643!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
644!!     WARNING: Change DWT Extension Mode   !!
645!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
646**********************************************
647**     DWT Extension Mode: Zero Padding     **
648**********************************************
649!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
650!!     WARNING: Change DWT Extension Mode   !!
651!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
652**********************************************
653** DWT Extension Mode: order 0 smooth padding*
654**********************************************
655!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
656!!     WARNING: Change DWT Extension Mode   !!
657!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
658**********************************************
659** DWT Extension Mode: order 1 smooth padding*
660**********************************************
661!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
662!!     WARNING: Change DWT Extension Mode   !!
663!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
664**********************************************
665**    DWT Extension Mode: Periodic Padding  **
666**********************************************
667!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
668!!     WARNING: Change DWT Extension Mode   !!
669!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
670**********************************************
671**    DWT Extension Mode: Periodization     **
672**********************************************
673!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
674!!     WARNING: Change DWT Extension Mode   !!
675!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
676**********************************************
677** DWT Extension Mode: Half Symmetrization  **
678**********************************************
679!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
680!!     WARNING: Change DWT Extension Mode   !!
681!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
682**********************************************
683** DWT Extension Mode: Half Symmetrization  **
684**********************************************
685!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
686!!     WARNING: Change DWT Extension Mode   !!
687!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
688**********************************************
689** DWT Extension Mode: Whole Symmetrization **
690**********************************************
691!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
692!!     WARNING: Change DWT Extension Mode   !!
693!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
694**********************************************
695** DWT Extension Mode: Half Asymmetrization **
696**********************************************
697!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
698!!     WARNING: Change DWT Extension Mode   !!
699!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
700**********************************************
701** DWT Extension Mode: Whole Asymmetrization**
702**********************************************
703!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
704!!     WARNING: Change DWT Extension Mode   !!
705!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
706**********************************************
707**     DWT Extension Mode: Zero Padding     **
708**********************************************
709!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
710!!     WARNING: Change DWT Extension Mode   !!
711!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
712**********************************************
713** DWT Extension Mode: order 0 smooth padding*
714**********************************************
715!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
716!!     WARNING: Change DWT Extension Mode   !!
717!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
718**********************************************
719** DWT Extension Mode: order 1 smooth padding*
720**********************************************
721!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
722!!     WARNING: Change DWT Extension Mode   !!
723!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
724**********************************************
725**    DWT Extension Mode: Periodic Padding  **
726**********************************************
727!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
728!!     WARNING: Change DWT Extension Mode   !!
729!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
730**********************************************
731**    DWT Extension Mode: Periodization     **
732**********************************************
733!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
734!!     WARNING: Change DWT Extension Mode   !!
735!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
736**********************************************
737** DWT Extension Mode: Half Symmetrization  **
738**********************************************
739!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
740!!     WARNING: Change DWT Extension Mode   !!
741!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
742**********************************************
743** DWT Extension Mode: Half Symmetrization  **
744**********************************************
745!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
746!!     WARNING: Change DWT Extension Mode   !!
747!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
748**********************************************
749** DWT Extension Mode: Whole Symmetrization **
750**********************************************
751!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
752!!     WARNING: Change DWT Extension Mode   !!
753!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
754**********************************************
755** DWT Extension Mode: Half Asymmetrization **
756**********************************************
757!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
758!!     WARNING: Change DWT Extension Mode   !!
759!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
760**********************************************
761** DWT Extension Mode: Whole Asymmetrization**
762**********************************************
763!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
764!!     WARNING: Change DWT Extension Mode   !!
765!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
766**********************************************
767**     DWT Extension Mode: Zero Padding     **
768**********************************************
769!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
770!!     WARNING: Change DWT Extension Mode   !!
771!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
772**********************************************
773** DWT Extension Mode: order 0 smooth padding*
774**********************************************
775!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
776!!     WARNING: Change DWT Extension Mode   !!
777!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
778**********************************************
779** DWT Extension Mode: order 1 smooth padding*
780**********************************************
781!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
782!!     WARNING: Change DWT Extension Mode   !!
783!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
784**********************************************
785**    DWT Extension Mode: Periodic Padding  **
786**********************************************
787!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
788!!     WARNING: Change DWT Extension Mode   !!
789!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
790**********************************************
791**    DWT Extension Mode: Periodization     **
792**********************************************
793!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
794!!     WARNING: Change DWT Extension Mode   !!
795!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
796**********************************************
797** DWT Extension Mode: Half Symmetrization  **
798**********************************************
799!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
800!!     WARNING: Change DWT Extension Mode   !!
801!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
802**********************************************
803** DWT Extension Mode: Half Symmetrization  **
804**********************************************
805!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
806!!     WARNING: Change DWT Extension Mode   !!
807!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
808**********************************************
809** DWT Extension Mode: Whole Symmetrization **
810**********************************************
811!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
812!!     WARNING: Change DWT Extension Mode   !!
813!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
814**********************************************
815** DWT Extension Mode: Half Asymmetrization **
816**********************************************
817!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
818!!     WARNING: Change DWT Extension Mode   !!
819!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
820**********************************************
821** DWT Extension Mode: Whole Asymmetrization**
822**********************************************
823!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
824!!     WARNING: Change DWT Extension Mode   !!
825!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
826**********************************************
827**     DWT Extension Mode: Zero Padding     **
828**********************************************
829!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
830!!     WARNING: Change DWT Extension Mode   !!
831!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
832**********************************************
833** DWT Extension Mode: order 0 smooth padding*
834**********************************************
835!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
836!!     WARNING: Change DWT Extension Mode   !!
837!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
838**********************************************
839** DWT Extension Mode: order 1 smooth padding*
840**********************************************
841!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
842!!     WARNING: Change DWT Extension Mode   !!
843!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
844**********************************************
845**    DWT Extension Mode: Periodic Padding  **
846**********************************************
847!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
848!!     WARNING: Change DWT Extension Mode   !!
849!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
850**********************************************
851**    DWT Extension Mode: Periodization     **
852**********************************************
853!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
854!!     WARNING: Change DWT Extension Mode   !!
855!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
856**********************************************
857** DWT Extension Mode: Half Symmetrization  **
858**********************************************
859!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
860!!     WARNING: Change DWT Extension Mode   !!
861!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
862**********************************************
863** DWT Extension Mode: Half Symmetrization  **
864**********************************************
865!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
866!!     WARNING: Change DWT Extension Mode   !!
867!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
868**********************************************
869** DWT Extension Mode: Whole Symmetrization **
870**********************************************
871!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
872!!     WARNING: Change DWT Extension Mode   !!
873!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
874**********************************************
875** DWT Extension Mode: Half Asymmetrization **
876**********************************************
877!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
878!!     WARNING: Change DWT Extension Mode   !!
879!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
880**********************************************
881** DWT Extension Mode: Whole Asymmetrization**
882**********************************************
883!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
884!!     WARNING: Change DWT Extension Mode   !!
885!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
886**********************************************
887**     DWT Extension Mode: Zero Padding     **
888**********************************************
889!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
890!!     WARNING: Change DWT Extension Mode   !!
891!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
892**********************************************
893** DWT Extension Mode: order 0 smooth padding*
894**********************************************
895!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
896!!     WARNING: Change DWT Extension Mode   !!
897!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
898**********************************************
899** DWT Extension Mode: order 1 smooth padding*
900**********************************************
901!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
902!!     WARNING: Change DWT Extension Mode   !!
903!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
904**********************************************
905**    DWT Extension Mode: Periodic Padding  **
906**********************************************
907!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
908!!     WARNING: Change DWT Extension Mode   !!
909!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
910**********************************************
911**    DWT Extension Mode: Periodization     **
912**********************************************
913!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
914!!     WARNING: Change DWT Extension Mode   !!
915!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
916**********************************************
917** DWT Extension Mode: Half Symmetrization  **
918**********************************************
919!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
920!!     WARNING: Change DWT Extension Mode   !!
921!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
922**********************************************
923** DWT Extension Mode: Half Symmetrization  **
924**********************************************
925!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
926!!     WARNING: Change DWT Extension Mode   !!
927!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
928**********************************************
929** DWT Extension Mode: Whole Symmetrization **
930**********************************************
931!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
932!!     WARNING: Change DWT Extension Mode   !!
933!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
934**********************************************
935** DWT Extension Mode: Half Asymmetrization **
936**********************************************
937!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
938!!     WARNING: Change DWT Extension Mode   !!
939!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
940**********************************************
941** DWT Extension Mode: Whole Asymmetrization**
942**********************************************
943!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
944!!     WARNING: Change DWT Extension Mode   !!
945!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
946**********************************************
947**     DWT Extension Mode: Zero Padding     **
948**********************************************
949!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
950!!     WARNING: Change DWT Extension Mode   !!
951!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
952**********************************************
953** DWT Extension Mode: order 0 smooth padding*
954**********************************************
955!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
956!!     WARNING: Change DWT Extension Mode   !!
957!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
958**********************************************
959** DWT Extension Mode: order 1 smooth padding*
960**********************************************
961!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
962!!     WARNING: Change DWT Extension Mode   !!
963!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
964**********************************************
965**    DWT Extension Mode: Periodic Padding  **
966**********************************************
967!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
968!!     WARNING: Change DWT Extension Mode   !!
969!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
970**********************************************
971**    DWT Extension Mode: Periodization     **
972**********************************************
973!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
974!!     WARNING: Change DWT Extension Mode   !!
975!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
976**********************************************
977** DWT Extension Mode: Half Symmetrization  **
978**********************************************
979!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
980!!     WARNING: Change DWT Extension Mode   !!
981!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
982**********************************************
983** DWT Extension Mode: Half Symmetrization  **
984**********************************************
985!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
986!!     WARNING: Change DWT Extension Mode   !!
987!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
988**********************************************
989** DWT Extension Mode: Whole Symmetrization **
990**********************************************
991!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
992!!     WARNING: Change DWT Extension Mode   !!
993!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
994**********************************************
995** DWT Extension Mode: Half Asymmetrization **
996**********************************************
997!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
998!!     WARNING: Change DWT Extension Mode   !!
999!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1000**********************************************
1001** DWT Extension Mode: Whole Asymmetrization**
1002**********************************************
1003!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1004!!     WARNING: Change DWT Extension Mode   !!
1005!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1006**********************************************
1007**     DWT Extension Mode: Zero Padding     **
1008**********************************************
1009!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1010!!     WARNING: Change DWT Extension Mode   !!
1011!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1012**********************************************
1013** DWT Extension Mode: order 0 smooth padding*
1014**********************************************
1015!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1016!!     WARNING: Change DWT Extension Mode   !!
1017!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1018**********************************************
1019** DWT Extension Mode: order 1 smooth padding*
1020**********************************************
1021!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1022!!     WARNING: Change DWT Extension Mode   !!
1023!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1024**********************************************
1025**    DWT Extension Mode: Periodic Padding  **
1026**********************************************
1027!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1028!!     WARNING: Change DWT Extension Mode   !!
1029!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1030**********************************************
1031**    DWT Extension Mode: Periodization     **
1032**********************************************
1033!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1034!!     WARNING: Change DWT Extension Mode   !!
1035!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1036**********************************************
1037** DWT Extension Mode: Half Symmetrization  **
1038**********************************************
1039