Построение Вейвлета древовидных объектов

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

Создание объекта дерева вейвлетов (WTREE)

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

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

Чтобы построить график WTREE, DTREE plot используется метод.

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

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

Области

dtree

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

dwtMode

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

wavInfo

Структура (вейвлет)

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

wavName

Имя вейвлета

Lo_D

Фильтр низкого разложения

Hi_D

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

Lo_R

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

Hi_R

Фильтр Высокой Реконструкции

Методы

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.

Измените метку узла с визуализации на разделение-объединение, а затем щелкните узел (7), чтобы получить этот рисунок:

Измените Действие узла с Визуализировать на Разделить-Объединить и объедините узел (3). Затем измените Действие узла с Разделить-Объединить на Визуализировать и щелкните узел (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). Вы получаете следующий график.

Измените действие узла с «Визуализировать» на «Разделить - Объединить». Разделите узел (5). Измените действие узла с «Разделить-объединить» на «Визуализировать». Щелкните узел (21). Вы получаете следующий график.

Создание объекта дерева вейвлетов вправо (RWVTREE)

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

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

The 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.

Измените действие узла с «Визуализировать» на «Разделить - Объединить». Объедините узел (6). Измените действие узла с «Разделить-объединить» на «Визуализировать». Щелкните узел (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). Вы получаете следующий график.

Измените действие узла с «Визуализировать» на «Разделить - Объединить». Разделите узел (2,0). Измените действие узла с «Разделить-объединить» на «Визуализировать». Щелкните узел (3,0). Вы получаете следующий график.

Создание объекта дерева вейвлетов (WVTREE)

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

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

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

The 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.

Измените действие узла с «Визуализировать» на «Разделить - Объединить». Объедините узел (3). Измените действие узла с «Разделить-объединить» на «Восстановить». Щелкните узел (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). Вы получаете следующий график.

Измените действие узла с «Визуализировать» на «Разделить - Объединить». Разделите узел (5). Измените действие узла с «Разделить-объединить» на «Восстановить». Щелкните узел (21). Вы получаете следующий график.

Создание объекта дерева вейвлет (EDWTTREE)

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

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

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

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

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

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

Области

dtree

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

dwtMode

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

wavInfo

Структура (вейвлет)

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

wavInfo

wavName

Имя вейвлета

Lo_D

Фильтр низкого разложения

Hi_D

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

Lo_R

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

Hi_R

Фильтр Высокой Реконструкции

Методы

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). Вы получаете следующий график.

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

Выберите Tree Action: De-noise. Щелкните узел (0). Вы получаете следующий график.