جعبه ابزار موجک MATLAB: راهنمای جامع توابع و قابلیتها
این سند به معرفی جعبه ابزار موجک برای MATLAB میپردازد و توابع و قابلیتهای آن را به طور کامل شرح میدهد. در ادامه، توضیحات مفصلتری در مورد هر بخش ارائه شده است:
تبدیلات موجک اصلی:
-
تبدیل موجک متعامد:
perform_wavelet_transform
یک پیادهسازی استاندارد از تبدیل موجک را بر اساس WAVELAB ارائه میدهد. این تابع برای انجام تبدیل موجک متعامد بر روی سیگنالها و تصاویر استفاده میشود. تبدیل موجک متعامد، خاصیتی دارد که ضرایب موجک حاصل از آن، اطلاعات اضافی ندارند و برای بازسازی سیگنال اصلی کافی هستند. -
تبدیل موجک مبتنی بر Lifting: مجموعهای از توابع (
perform_lifting_transform
,perform_lifting_transform_slow
,perform_lifting_transform_byname
,perform_79_transform
) تبدیل موجک را با استفاده از طرح Lifting پیادهسازی میکنند. این رویکرد عموماً کارآمدتر است و میتواند شرایط مرزی سفارشی را مدیریت کند. طرح Lifting، یک روش محاسباتی سریع و حافظه-کارآمد برای محاسبه تبدیل موجک است.perform_79_transform
به طور خاص تبدیل موجک دوطرفه 7/9 را پیادهسازی میکند که یک انتخاب محبوب در بین انواع تبدیل موجک است. تبدیل موجک دوطرفه 7/9 به دلیل خواص خوب آن در فشردهسازی و حذف نویز، کاربرد فراوانی دارد. -
تبدیلات موجک ایزوتروپیک و هیپربولیک:
perform_wavelet_transform_isotropic
تبدیل موجک چند بعدی را انجام میدهد که در آن موجک یکسانی در همه ابعاد اعمال میشود (ایزوتروپیک). این نوع تبدیل موجک برای تحلیل سیگنالها و تصاویری که در همه ابعاد، رفتار مشابهی دارند، مناسب است.perform_wavelet_transform_hyperbolic
یک تبدیل موجک چند بعدی کاملاً تانسوری (هیپربولیک) را پیادهسازی میکند که امکان استفاده از موجکهای مختلف را در هر بعد فراهم میکند. این نوع تبدیل موجک برای تحلیل سیگنالها و تصاویری که در ابعاد مختلف، رفتار متفاوتی دارند، کاربرد دارد.
تبدیلات هرمی (مرتبط با موجکها):
-
هرم لاپلاسی:
perform_pyramid_transform
یک تبدیل مشابه به هرم لاپلاسی را محاسبه میکند. هرم لاپلاسی، یک نمایش سلسله مراتبی از یک تصویر است که در آن هر سطح، تفاوت بین دو سطح متوالی از تصویر را نشان میدهد. -
هرم مینگ دو:
perform_pyramid_transform_do
تبدیل هرمی مینگ دو را پیادهسازی میکند که به دلیل عملکرد برتر خود شناخته شده است. این نوع هرم، برای فشردهسازی و تحلیل تصاویر، بسیار مؤثر است. -
هرم steerable:
perform_pyramid_transform_simoncelli
پیادهسازی از هرم steerable را ارائه میدهد که نوعی تبدیل هرمی است که برای تحلیل تصویر مفید است. این هرم، به دلیل خاصیت steerable بودن خود، در تشخیص جهت لبهها و ساختارها در تصاویر، کاربرد دارد. -
هرم تغییر ناپذیر:
perform_pyramid_transform_ti
یک هرم تغییر ناپذیر را بر اساس تفاضل فیلترهای گاوسی محاسبه میکند. این نوع هرم، به تغییرات کوچک در تصویر، حساس نیست و برای کاربردهایی مانند تشخیص الگو، مناسب است.
سایر تبدیلات:
-
تبدیل هار:
perform_haar_transform
یک پیادهسازی سریع از تبدیل هار را ارائه میدهد. تبدیل هار، یک تبدیل موجک ساده اما مؤثر است که به دلیل سرعت بالای محاسبات، در کاربردهایی که نیاز به پردازش سریع دارند، مورد استفاده قرار میگیرد. -
تبدیل موجک “à trous”:
perform_atrou_transform
تبدیل موجک “à trous” را محاسبه میکند که یک تبدیل موجک بدون نمونهبرداری است. در این نوع تبدیل، اندازه سیگنال در هر سطح از تبدیل، ثابت میماند. -
تبدیل درخت دوگانه مختلط:
perform_cpx_dualtree_transform
تبدیل موجک درخت دوگانه مختلط را پیادهسازی میکند که برای جلوگیری از ایجاد مصنوعات در پردازش مبتنی بر موجک مفید است. این تبدیل، با استفاده از دو درخت موجک، اطلاعات سیگنال را به صورت冗 redundancy ذخیره میکند و از این طریق، از ایجاد مصنوعات جلوگیری میکند. -
تبدیل steerable:
perform_steerable_transform
پیادهسازی دیگری از تبدیل هرمی steerable را ارائه میدهد.
توابع فشردهسازی و کدگذاری:
-
تخریب JPEG2000:
perform_jp2k_degradation
اثرات فشردهسازی JPEG2000 را بر روی ضرایب موجک شبیهسازی میکند. این تابع، با استفاده از استاندارد JPEG2000، ضرایب موجک را فشرده و سپس بازسازی میکند و از این طریق، میزان تخریب ناشی از فشردهسازی را بررسی میکند. -
کدگذاری SPIHT:
perform_spiht_coding
الگوریتم کدگذاری Set Partitioning in Hierarchical Trees (SPIHT) را پیادهسازی میکند که یک روش محبوب و کارآمد برای فشردهسازی ضرایب موجک است (توجه داشته باشید که به عنوان کند ذکر شده است). الگوریتم SPIHT، با استفاده از ساختار درختی ضرایب موجک، به طور مؤثری اطلاعات را فشرده میکند. -
کدگذاری حسابی:
perform_wavelet_arithmetic_coding
یک پیادهسازی اولیه از کدگذاری حسابی را برای ضرایب موجک ارائه میدهد. کدگذاری حسابی، یک روش فشردهسازی entropy است که میتواند به طور مؤثری اطلاعات را فشرده کند. -
محاسبه آنتروپی:
evaluate_nbr_bits_wavelets
آنتروپی تبدیل موجک را محاسبه میکند که برای تخمین میزان فشردهپذیری دادهها مفید است. آنتروپی، معیاری از میزان اطلاعات موجود در یک سیگنال است.
توابع کمکی:
-
انتخاب ربع:
compute_quadrant_selection
به انتخاب ضرایب در مقیاسها و جهتگیریهای خاص کمک میکند. -
مرتبسازی مجدد ضرایب:
reorder_coefs
ضرایب موجک را از ترتیب in-place (مورد استفاده در lifting) به ترتیب کلاسیک تبدیل میکند. -
طرح موجک:
plot_wavelet
تابعی را برای تجسم موجکها با استفاده از ترتیب Mallat ارائه میدهد. -
استخراج زیر تصویر:
convert_wavelets2list
هر زیر تصویر را از تبدیل موجک استخراج میکند.
نصب:
این جعبه ابزار نیاز به اضافه کردن پوشه toolbox/
به مسیر MATLAB شما دارد.
حق چاپ:
این جعبه ابزار توسط Gabriel Peyré (2006) دارای حق چاپ است.
به طور خلاصه، این جعبه ابزار موجک، مجموعه کاملی از توابع را برای تحلیل موجک در MATLAB فراهم میکند، از جمله تبدیلهای موجک مختلف، تبدیلهای هرمی، الگوریتمهای فشردهسازی و توابع کمکی. مستندات، استفاده از lifting را برای تبدیلهای موجک کارآمد برجسته میکند و جایگزینهایی را برای برخی از توابع پیشنهاد میدهد.