exponenta event banner

Построить объекты вейвлет-дерева

В следующих разделах объясняется, как расширить панель инструментов новыми объектами с помощью четырех примеров.

Построение объекта вейвлет-дерева (WTREE)

В этом примере создается новый класс объектов WTREE.

Начиная с класса DTREE и перегружая методы split и merge, мы определяем класс вейвлет-дерева.

Для построения графика WTREE, DTREE plot используют способ.

Определение нового класса описано ниже.

Класс WTREE (родительский класс: DTREE)

Области

dtree

Родительский объект

dwtMode

Режим расширения DWT

wavInfo

Структура (вейвлет-информация)

Информация о структуре WavInfo

wavName

Имя вейвлета

Lo_D

Фильтр низкой декомпозиции

Hi_D

Фильтр высокой степени разложения

Lo_R

Фильтр низкой реконструкции

Hi_R

Фильтр High Reconstruc

Методы

wtree

Конструктор для класса WTREE.

merge

Объединение (перекомпоновка) данных узла.

split

Разделение (разложение) данных терминального узла.

Работа с объектами вейвлет-дерева (WTREE)

1-D Объект

Загрузите сигнал.

load noisbloc
x = noisbloc;

Определите уровень и вейвлет.

lev = 3;
wav = 'db2';

Создайте вейвлет-дерево.

t = wtree(x,lev,wav);

Постройте график вейвлет-дерева. Аппроксимации отмечены желтым цветом, а детали - красным. Узлы детализации не могут быть разделены.

plot(t)

Figure contains 2 axes and other objects of type uimenu. Axes 1 with title Tree Decomposition contains 13 objects of type line, text. Axes 2 with title Node Action Result is empty.

Измените метку узла с Визуализировать (Visualize) на Разделить (Split) - Объединить (Merge), а затем щелкните узел (7), чтобы получить следующий рисунок:

Измените Действие узла (Node Action) с Визуализировать (Visualize) на Разделить (Split) - Объединить (Merge) и Объединить узел (3). Затем измените Действие узла (Node Action) с Разделение (Split) - Объединить (Merge) на Визуализация (Visualize) и щелкните узел (3), чтобы получить следующий рисунок:

2-D Объект

Загрузите изображение.

load woman

Определите уровень и вейвлет.

lev = 2;
wav = 'db2';

Создайте вейвлет-дерево.

t = wtree(X,lev,wav);

Постройте график дерева.

plot(t)

Figure contains 2 axes and other objects of type uimenu. Axes 1 with title Tree Decomposition contains 17 objects of type line, text. Axes 2 with title Node Action Result is empty.

Измените метку узла с Depth_Position на индекс. Щелкните узел (5). Вы получите следующий график.

Щелкните узел (2). Появится следующий график.

Измените действие узла с Визуализировать (Visualize) на Разделить (Split) - Объединить (Merge). Разделите узел (5). Измените действие узла с Разделить (Split) - Объединить (Merge) на Визуализировать (Visualize). Щелкните узел (21). Появится следующий график.

Построение правого объекта вейвлет-дерева (RWVTREE)

В этом примере создается новый класс объектов RWVTREE.

Мы определяем правильный класс вейвлет-дерева, начиная с класса WTREE и перегружая методы split, merge, и plot (унаследовано от DTREE).

plot показывает, как добавить метки узлов.

Определение нового класса описано ниже.

Класс RWVTREE (родительский класс: WTREE)

Области

dummy

Не используется

wtree

Родительский объект

Методы

rwvtree

Конструктор для класса RWVTREE.

merge

Объединение (перекомпоновка) данных узла.

plot

Печать объекта RWVTREE.

split

Разделение (разложение) данных терминального узла.

Работа с объектами дерева правого вейвлета (RWVTREE)

1-D Объект

Загрузите сигнал.

load noisbloc
x = noisbloc;

Определите уровень и вейвлет.

lev = 3;
wav = 'db2';

Создайте вейвлет-дерево.

t = rwvtree(x,lev,wav);

Постройте график дерева. Аппроксимации отмечены желтым цветом, а детали - красным. Узлы детализации не могут быть разделены.

plot(t)

Figure Fig 1 - Right Wavelet Tree Object of Order 2 contains 2 axes and other objects of type uimenu. Axes 1 with title Tree Decomposition contains 13 objects of type line, text. Axes 2 with title Node Action Result is empty.

Измените действие узла с Визуализировать (Visualize) на Разделить (Split) - Объединить (Merge). Объедините узел (6). Измените действие узла с Разделить (Split) - Объединить (Merge) на Визуализировать (Visualize). Щелкните узел (6). Появится следующий график.

2-D Объект

Загрузите изображение.

load woman

Определите уровень и вейвлет.

lev = 2;
wav = 'db2';

Создайте вейвлет-дерево.

t = wtree(X,lev,wav);

Постройте график дерева.

plot(t)

Figure contains 2 axes and other objects of type uimenu. Axes 1 with title Tree Decomposition contains 17 objects of type line, text. Axes 2 with title Node Action Result is empty.

Щелкните узел (2,0). Вы получите следующий график.

Измените действие узла с Визуализировать (Visualize) на Разделить (Split) - Объединить (Merge). Разделение узла (2,0). Измените действие узла с Разделить (Split) - Объединить (Merge) на Визуализировать (Visualize). Щелкните узел (3,0). Появится следующий график.

Построение объекта вейвлет-дерева (WVTREE)

В этом примере создается новый класс объектов WVTREE.

Мы определяем класс вейвлет-дерева, начиная с класса WTREE и перегружая методы get, plot, и recons (все унаследованы от DTREE).

split и merge используются методы класса WTREE.

plot показывает, как добавить метки узлов и действия узлов.

Определение нового класса описано ниже.

Класс WVTREE (родительский класс: WTREE)

Области

dummy

Не используется

wtree

Родительский объект

Методы

wvtree

Конструктор для класса WVTREE.

get

Получение содержимого поля объекта WVTREE.

plot

Печать объекта WVTREE.

recons

Реконструировать коэффициенты узла.

Работа с объектами вейвлет-дерева (WVTREE)

1-D Объект

Загрузите сигнал.

 load noisbloc
 x = noisbloc;

Определите уровень и вейвлет.

lev = 3;
wav = 'db2';

Создайте вейвлет-дерево.

t = wvtree(x,lev,wav);

Постройте график дерева. Аппроксимации отмечены желтым цветом, а детали - красным. Узлы детализации не могут быть разделены.

 plot(t)

Figure Fig 1 - Wavelet Tree Object - DWT extension mode: sym contains 2 axes and other objects of type uimenu. Axes 1 with title Tree Decomposition contains 13 objects of type line, text. Axes 2 with title Node Action Result is empty.

Измените действие узла с Визуализировать (Visualize) на Разделить (Split) - Объединить (Merge). Объедините узел (3). Измените действие узла с Разделить (Split) - Объединить (Merge) на Реконструировать (Reconstruct). Щелкните узел (3). Появится следующий график.

2-D Объект

Загрузите изображение.

load woman

Определите уровень и вейвлет.

lev = 2;
wav = 'db1';

Создайте вейвлет-дерево.

t = wvtree(X,lev,wav);

Постройте график дерева.

plot(t)

Figure Fig 2 - Wavelet Tree Object - DWT extension mode: sym contains 2 axes and other objects of type uimenu. Axes 1 with title Tree Decomposition contains 17 objects of type line, text. Axes 2 with title Node Action Result is empty.

Щелкните узел (5). Вы получите следующий график.

Щелкните узел (2). Появится следующий график.

Измените действие узла с Визуализировать (Visualize) на Разделить (Split) - Объединить (Merge). Разделите узел (5). Измените действие узла с Разделить (Split) - Объединить (Merge) на Реконструировать (Reconstruct). Щелкните узел (21). Появится следующий график.

Построение объекта вейвлет-дерева (EDWTTREE)

В этом примере создается новый класс объектов EDWTTREE.

Мы определяем класс дерева, начиная с класса DTREE и перегружая методы merge, plot, recons, и split.

Для получения дополнительной информации о δ-DWT см. раздел

plot показывает, как добавить метки узлов, действия узлов и действия дерева.

Определение нового класса описано ниже.

Класс EDWTTREE (родительский класс: DTREE)

Области

dtree

Родительский объект

dwtMode

Режим расширения DWT

wavInfo

Структура (вейвлет-информация)

Описание полей

wavInfo

wavName

Имя вейвлета

Lo_D

Фильтр низкой декомпозиции

Hi_D

Фильтр высокой степени разложения

Lo_R

Фильтр низкой реконструкции

Hi_R

Фильтр High Reconstruc

Методы

edwttree

Конструктор для класса EDWTTREE.

merge

Объединение (перекомпоновка) данных узла.

plot

Печать объекта EDWTTREE.

recons

Реконструировать коэффициенты узла.

split

Разделение (разложение) данных терминального узла.

Работа с объектом вейвлет-дерева (EDWTTREE)

Загрузите сигнал.

load noisbloc
x = noisbloc;

Определите уровень и вейвлет.

lev = 2;
wav = 'haar';

Создайте вейвлет-дерево.

t = edwttree(x,lev,wav);

Постройте график дерева. Аппроксимации отмечены желтым цветом, а детали - красным. Узлы детализации не могут быть разделены. Заголовок рисунка содержит используемый режим расширения DWT ('per' в настоящем примере) и название способа деноизирования.

plot(t)

Figure Fig. 1 - EDWT Tree Object - DWT extension mode: per - De-noising Method: sqtwolog contains 2 axes and other objects of type uimenu. Axes 1 with title Tree Decomposition contains 25 objects of type line, text. Axes 2 with title Node Action Result is empty.

Щелкните узел (0). Появится следующий график.

Измените действие узла с Визуализировать (Visualize) на Разделить (Split) - Объединить (Merge). Разделите узлы (5) и (20).

Выберите Действие дерева: Устранение шума. Щелкните узел (0). Появится следующий график.