В следующих разделах объясняется, как расширить панель инструментов новыми объектами с помощью четырех примеров.
В этом примере создается новый класс объектов WTREE.
Начиная с класса DTREE и перегружая методы split и merge, мы определяем класс вейвлет-дерева.
Для построения графика WTREE, DTREE plot используют способ.
Определение нового класса описано ниже.
Класс WTREE (родительский класс: DTREE)
dtree | Родительский объект |
dwtMode | Режим расширения DWT |
wavInfo | Структура (вейвлет-информация) |
wavName | Имя вейвлета |
Lo_D | Фильтр низкой декомпозиции |
Hi_D | Фильтр высокой степени разложения |
Lo_R | Фильтр низкой реконструкции |
Hi_R | Фильтр High Reconstruc |
wtree | Конструктор для класса WTREE. |
merge | Объединение (перекомпоновка) данных узла. |
split | Разделение (разложение) данных терминального узла. |
1-D Объект
Загрузите сигнал.
load noisbloc
x = noisbloc;Определите уровень и вейвлет.
lev = 3;
wav = 'db2';Создайте вейвлет-дерево.
t = wtree(x,lev,wav);
Постройте график вейвлет-дерева. Аппроксимации отмечены желтым цветом, а детали - красным. Узлы детализации не могут быть разделены.
plot(t)

Измените метку узла с Визуализировать (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)

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

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

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

В этом примере создается новый класс объектов RWVTREE.
Мы определяем правильный класс вейвлет-дерева, начиная с класса WTREE и перегружая методы split, merge, и plot (унаследовано от DTREE).
plot показывает, как добавить метки узлов.
Определение нового класса описано ниже.
Класс RWVTREE (родительский класс: WTREE)
dummy | Не используется |
wtree | Родительский объект |
rwvtree | Конструктор для класса RWVTREE. |
merge | Объединение (перекомпоновка) данных узла. |
plot | Печать объекта RWVTREE. |
split | Разделение (разложение) данных терминального узла. |
1-D Объект
Загрузите сигнал.
load noisbloc
x = noisbloc;Определите уровень и вейвлет.
lev = 3;
wav = 'db2';Создайте вейвлет-дерево.
t = rwvtree(x,lev,wav);
Постройте график дерева. Аппроксимации отмечены желтым цветом, а детали - красным. Узлы детализации не могут быть разделены.
plot(t)

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

2-D Объект
Загрузите изображение.
load womanОпределите уровень и вейвлет.
lev = 2;
wav = 'db2';Создайте вейвлет-дерево.
t = wtree(X,lev,wav);
Постройте график дерева.
plot(t)

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

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

В этом примере создается новый класс объектов WVTREE.
Мы определяем класс вейвлет-дерева, начиная с класса WTREE и перегружая методы get, plot, и recons (все унаследованы от DTREE).
split и merge используются методы класса WTREE.
plot показывает, как добавить метки узлов и действия узлов.
Определение нового класса описано ниже.
Класс WVTREE (родительский класс: WTREE)
dummy | Не используется |
wtree | Родительский объект |
wvtree | Конструктор для класса WVTREE. |
get | Получение содержимого поля объекта WVTREE. |
plot | Печать объекта WVTREE. |
recons | Реконструировать коэффициенты узла. |
1-D Объект
Загрузите сигнал.
load noisbloc
x = noisbloc;Определите уровень и вейвлет.
lev = 3;
wav = 'db2';Создайте вейвлет-дерево.
t = wvtree(x,lev,wav);
Постройте график дерева. Аппроксимации отмечены желтым цветом, а детали - красным. Узлы детализации не могут быть разделены.
plot(t)

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

2-D Объект
Загрузите изображение.
load womanОпределите уровень и вейвлет.
lev = 2;
wav = 'db1';Создайте вейвлет-дерево.
t = wvtree(X,lev,wav);
Постройте график дерева.
plot(t)

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

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

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

В этом примере создается новый класс объектов 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 | Разделение (разложение) данных терминального узла. |
Загрузите сигнал.
load noisbloc
x = noisbloc;Определите уровень и вейвлет.
lev = 2;
wav = 'haar';Создайте вейвлет-дерево.
t = edwttree(x,lev,wav);
Постройте график дерева. Аппроксимации отмечены желтым цветом, а детали - красным. Узлы детализации не могут быть разделены. Заголовок рисунка содержит используемый режим расширения DWT ('per' в настоящем примере) и название способа деноизирования.
plot(t)

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

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

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