اخبار ، مقالات و تحقیقات گروهی را دنبال کنید.
کدنویسی در سنجش از دور – با استفاده از زبان برنامه نویسی IDL در نرم افزار ENVI
در زمانی که بصورت حرفه ای قصد یادگیری سنجش از دور رو داشتم، تصمیم گرفتم تا یک نرم افزار و یک زبان برنامه نویسی حرفه ای و کاملا تخصصی در سنجش از دور را بصورت کامل یاد بگیرم. بررسی ها و تجزیه و تحلیل های زیادی کردم تا در نهایت به نرم افزار ENVI و زبان برنامه نویسی IDL رسیدم. البته در همین سایت و در بخش دانلود نرم افزار ENVI در ارتباط با قابلیت ها و ویژگی های این نرم افزار علمی بصورت کامل صحبت کردیم و یک فایل doc نیز در صفحه دانلود ضمیمه شده است. اما طی این چند سالی که در سنجش از دور فعالیت کردم کمتر دیدم که متخصصین در میان زبان های برنامه نویسی سنجش از دور به IDL متمایل باشند. بر خلاف زبان IDL، بیشتر زبان هایی چون MATLAB و به تازگی PYTHON در سنجش از دور استفاده می شود.
واقعا در این که زبان هایی چون MATLAB و PYTHON در سنجش از دور و پردازش داده های رستری و تصویری قدرتمند هستند هیچ شکی وجود ندارد اما به دلایلی که در این متن به آن اشاره کردم زبان IDL خیلی در پردازش تصاویر ماهواره ای و کاربرانی که با نرم افزار ENVI سرو کار دارند میتواند موثرتر باشد.
نرم افزار ENVI قدرتمندترین نرم افزار پردازش تصاویر ماهواره ای در زمینه تحلیل های طیفی است. زبان برنامه نویسی پایه این نرم افزار زبان IDL است. زبان IDL یا (Interface Data Language) در کنار زبان MATLAB جزو قدرتمندترین زبان های پردازش داده های ماتریس مبنا هستند. حتی بررسی های تیم های متخصص و تجربه نشان داده است که از لحاظ سرعت و قدرت زبان IDL در مقایسه با زبان MATLAB درسطح بسیار بالاتری است. درصورتی که از کاربران ENVI هستید، بهترین گزینه پیش روی شما برای برنامه نویسی، IDL است چون پردازش ها، ورودی و خروجی ها و نتایج حاصل از اجرای الگوریتم ها در آن از همبستگی بسیار بالایی با نرم افزار ENVI برخوردار است.
مزیت IDL در خواندن تصاویر ماهواره ای چیست؟
امروزه تنوع داده های ماهواره ای در سنجش از دور از حیث ماهیت و ساختار بسیار زیاد شده است. برخی از داده ها با ساختار فرمت tiff و MTL_file ارائه میشوند و برخی دیگر به فرمت HDF و … .تقریبا هیچ زبان برنامه نویسی نیست (حتی PYTHON و MATLAB) که بتواند بدون هیچ دردسری برای کاربر انواع این فرمت ها به همراه اطلاعات ضمیمه شده در آن ها را بخواند. اما این در حالی است که با استفاده از زبان IDL میتوان انواع داده های ماهواره ای با هر فرمتی را فراخوانی و مورد آنالیز قرار داد و این یک مزیت بزرگ است. علاوه بر خواندن فرمت، زبان IDL قابلیت خواندن اطلاعات ضمیمه شده در MTL_File را نیز دارد. همانطور که میدانید MTL_File ها حاوی اطلاعات مبنا برای تصحیحات هندسی و رادیومتریکی تصاویر ماهواره ای هستند و بدون آنها پردازش داده های ماهواره ای امکان پذیر نخواهد بود.
مزیت دیگر IDL در فراخوانی داده های ماهواره ای آن است که ضمن پشتیبانی از تمامی فرمت ها به راحتی امکان حفظ سیستم مختصات داده ها را فراهم می کند. البته نرم افزار MATLAB نیز با استفاده از دستور Geotiffread و Geotiffwrite این امکان را فراهم آورده است اما این دستورات تنها برای داده هایی با فرمت tiff صادق است و برای سایر فرمت ها قابل استفاده نیست.
مزیت دیگر IDL در فراخوانی داده ها آن است که از فراخوانی داده های وکتوری و حتی مدل های ابر نقطه ای پشتیبانی میکند. مدل های ابر نقطه به عنوان داده هایی هستند که توسط سنجنده های LiDAR تولید شده و از دقت مکانی و ارتفاعی بسیار بالایی برخوردار هستند. این نوع از داده ها به دلیل دقت وصحت بسیار بالایی که دارند حجمشان بسیار زیاد است و همواره پردازش آنها از چالش های مهمی بوده که در سنجش از دور همیشه با آن مواجه هستیم. اما زبان قدرتمند IDL به خوبی امکان فراخونی این نوع از داده ها را با فرمت و اطلاعات اصلی فراهم آورده و در عین حال از مراحل مختلف پردازش آن نیز پشتیبانی میکند. در زمینه کاربرد IDL در فراخوانی داده های ماهواره ای لارم بذکر است که هر نوع داده ماهواره ای که در نرم افزار ENVI قابل فراخوانی باشد در زبان IDL نیز قابل فراخوانی و پردازش است.
مزیت IDL در پردازش ها چیست؟
درصورتی که با زبان های MATLAB و PYTHON درپردازش تصاویر ماهواره ای کار کرده باشید، قطعا زمانی بوده که میخواستید یک دستور خاص را بر روی تصاویر اجرا کنید اما چون الگوریتم آن در این زبان ها تعریف نشده به مشکل خوردید و چون الگوریتم پیچیده ای داشته نتوانستید نسبت به طراحی و نوشتن آن اقدام کنید. در حقیقت ممکن است این مشکل در IDL هم برای شما ایجاد شود اما درصد وقوع آن بسیار بسیار پایین تر از زبان های MATLAB و PYTHON هست.
یکی دیگر از نقاط قوت مهم زبان برنامه نویسی IDL در حقیقت همین هست. بسیاری از دستوراتی که در نرم افزار ENVI برای پردازش تصاویر ماهواره ای فراهم آورده شده، در این زبان نیز قابل استفاده است. حتی شما میتوانید از امکانات و قابلیت هایی که در band math برای فرمول نویسی در ENVI فراهم آورده شده است نیز استفاده کنید. زبان IDL با ایجاد کردن قابلیت پردازش های بهم پیوسته امکان انجام پروژه های سنجش از دوری با سرعت بالاتر و هزینه زمانی بسیار کمتر در مقایسه با سایر زبان های برنامه نویسی ایجاد نموده است.
اخیرا طراحان زبان برنامه نویسی IDL قابلیتی با عنوان IDL/ENVI API را ارائه کردند که در آن ساختار جدیدی از کدنویسی در سنجش از دور ارائه شده است به گونه ای که هر فردی بتواند به راحتی نسبت به پردازش تصاویر ماهواره ای بصورت سلسله مراتبی و پیوسته اقدام نماید. این ساختار مخصوص دو دسته از افراد است:
- افرادی که با برنامه نویسی آشنایی ندارند
- افرادی که فرصت یادگیری برنامه نویسی را ندارند.
قابلیت IDL در ارائه پردازش ها به حدی است که شما میتوانید به راحتی نرم افزار ENVI را ویرایش کنید و دستوراتی متناسب با نیاز پروژه خود را طراحی نموده و آن را به نرم افزار ENVI اضافه کنید. اخیرا در سایت GIRS تیم متخصصین سنجش از دور ما یک افزونه کاربردی برای پیش پردازش داده های سنتینل را طراحی کردند که میتواند به راحتی نسبت به انجام پیش پردازش های مورد نیاز بریا داده های لندست ۸ اقدام کند.
در یک جمله بصورت خلاصه میتوان گفت که با استفاده از زبان برنامه نویسی IDL میتوان تمامی مراحل پیش پردازش، پردازش و پس پردازش تصاویر ماهواره ای را مدیریت نمود. علاوه بر این، امکان نوشتن الگوریتم های مدنظر با استفاده از قابلیت های فرمول نویسی band math در زبان IDL نیز میسر خواهد بود.
زمینه های کاربردی زبان IDL
این زبان برنامه نویسی قدرتمند که به عنوان یک زبان مخصوص برای پردازش داده های علمی شناخته شده است در زمینه های مرتبط با پردازش تصاویر دیجیتالی کاربردی و قابل استفاده است. از همین رو سه زمینه کاربردی مهم برای IDL قابل تشریح است:
- پردازش تصاویر ماهواره ای
- پردازش تصاویر میکروسکپی
- پردازش تصاویر ستاره شناسی تهیه شده توسط تلسکوپ ها
کتب و مراجع بادگیری
کتب و مراجع محدودی در ارتباط با زبان IDL وجود دارد، اما با این حال تجربه ما در یادگیری این زبان برنامه نویسی نشان داده است که مراجع زیر به عنوان بهترین گزینه های یادگیری هستند.
- کتاب IDL Programming Techniques, Dafid W.Faning
- کتاب Image Analysis , Classification and Change Detection in Remote Sensing, M.Canty (برای دانلود کلیک کنید)
نتیجه گیری
چرا باید از IDL استفاده کنیم؟
- سادگی
- کاربردی تر نسبت به MATLAB و PYTHON
- سرعت و قدرت بالاتر نسبت به MATLAB و PYTHON
- لینک بهتر با نرم افزار های پردازش تصاویر ماهواره ای
- همخوانی با فرمت، ساختار و ماهیت تصاویر ماهواره ای
- تعریف الگوریتم های جدیدتر و پیوسته تر
چگونه میتوان به این زبان برنامه نویسی دسترسی داشت؟
زمانی که نرم افزار ENVI را بر روی سیستم خود نصب کنید، بلافاصله کنسول زبان IDL نیز بر روی سیستم شما نصب خواهد شد بطوریکه با تایپ کردن عبارت idl در منوی start محیط ویندوز به آن دسترسی خواهید داشت.
25 دیدگاه. ارسال دیدگاه جدید
سلام وقتتون بخیر براتون مقدور هست ک تایم کلاس برنامه نویسی idl رو سه شنبه ها ۱۲ تا ۴ بزارین ؟
با عرض سلام
ساعت کلاس برنامه ریزی شده. اگر میتونید حتما برنامه ریزی کنید و شرکن کنید. حدود ۵ جلسه یا در واقع یکماه طول میکشه و کلاسش کاملا کاربردی و پروژه محور برگزار میشه.
سلام وقتتون بخیر. ممنون از اطلاعات خیلی خوبتون. فیلم اموزش ویدوی این نرم افزار را در سایت نمیذارید؟
با عرض سلام
دو سه محصول خوب آموزشی از زبان برنامه نویسی آی دی ال در سایت موجود می باشد. به بخش فروشگاه مراجعه کنید لطفا
سلام
وقتتون بخیر
ببخشید امکانش هست یک فایل یا کتاب آموزشی قابل دانلود برای آموزش ایجاد extension ها در IDL معرفی کنید
ممنون میشم
با سلام و احترام
بهترین مرجعی که در این رابطه میتوانید استفاده کنید Help خود زبان IDL است.
موفق باشید
ممنون که پاسخ دادید
ببخشید یک سوال دیگه هم داشتم
فیوژن کردن باند پانکروماتیک با باندهای محدوده مرئی تصاویر لندست ۸
تاثیری در استخراج خطوط ساحلی دارد؟
با توجه به اینگه برای استخراج خطوط ساحلی از یک سری شاخص طیفی استفاده میشه
به نظر شما فیوژن کردن، دقت را افزایش میده؟
ممنون از راهنمایی هاتون
بله درسته. با استفاده از فرایند تلفیق دقت پردازش شما در شناسایی خطوط ساحلی افزایش پیدا خواهد کرد.
موفق باشید
با سلام و عرض ادب
ببخشید من دیتای indian pine رو بدون تصحیح و بدون هیچ گونه دستکاری لازم دارم
البته بصورتی که تو انوی بتونم ازش استفاده کنم
داده هایی که بصورت mat فایل هستن (و همه سایت ها گذاشتن) رو نمیخوام
هر چی گشتم نتونستم تو نت پیداش کنم
شما نمیدونین از کدوم سایت میشه دانلود کرد؟
ممنون از پاسخ شما
با سلام و احترام
لینک داده مورد نظر براتون آپلود شد. از لینک زیر دانلود کنید.
http://www.mediafire.com/file/1sn9upcmwpsj3n1/indian_pine.zip/file
موفق باشید
سلام
وقتتون بخیر
ببخشید من یه مشکلی تو انوی داشتم
ممنون میشم کمکم کنید
خیلی لازمش دارم
یک تصویر هایپریون رو در محیط انوی باز کردم
با توحه به نوع تصویر برداری، عکس بصورت کج ظاهر میشه در محیط انوی
من میخوام این تصویر بصورت قائم نمایش داده بشه
این حالتو لازم دارم
ولی نمیدونم چه جوری باید این کارو انجام بدم
ممنون میشم راهنماییم کنید
در ایمیل یه عکس فرستادم تا منظورم از کج بودن تصویر رو برسونم
با سلام و احترام
تصویری که ارسال کردید رو نگاه کردم. داده شما هیچ گونه مشکلی نداره و این اثر چرخش و کرویت زمین هست که در تصویر شما دیده شده و تصویر شما در جهت شمال قرار گرفته است. در واثع این یک مشکل نیست بلکه ویژگی است که در بسیاری از تصاویر ماهواره ای دیده میشود.
موفق باشید
سلام
بله می دونم مشکلی نداره
ولی من میخوام این تصویر رو خیلی دقیق برش بزنم (یک محدوده بصورت متوازی الاضلاع)
واسه همین لازم دارم که بصورت قائم باشه (در این صورت اون محدوده مستطیلی میشه)
چون در حالتی که کج هست و واسه برش زدن از ROI استفاده میکنم محدوده هایی که لازم ندارم هم برش زد میشن
فکر کنم در دستور layer stacking در بخش پایینی صفحه مربوط به این دستور دوتا گزینه هست که یکی از آنها Exclusive هست. به جای این گزینه تیک گزینه دیگر را بزنید احتمالا درست میشود.
موفق باشید
سلام. ضمن تشکر از مطالب ارزشمندتان.هیچ کدام از بخشهای زبان idl فعال نیست
با سلام و احترام خدمت شما.
ببخشید منظورتون از غیرفعال بودن بخش ها چیست؟ ممنون میشم بیشتر توضیح بفرمایید.
سلام.جناب احراری من این بسته IDL را خریداری کردم. در ابتدای کار فایلی را در بخش FILEPATH معرفی کردید که متاسفانه من این فایل را نداشتم به جای آن یک تصویر لندست را معرفی کردم و به آن مسیر تصویر و اسم را دادم ولی قبول نمیکند و خطا میدهد .میخواستم علت را بپرسم
با سلام و احترام
پاسخ سوال شما ارائه شده است.
موفق باشید
با سلام و وقت بخیر خدمتشما
لینک قرار داده شده جهت اطلاعات تکمیلی و ثبت نام دارای مشکل میباشد.. پیج قرار داده شده با ارور ۴۰۴ مواجه میشود.
لطفا رسیدگی فرمایید
با سلام و احترام
به مدیر سایت ایمیل بزنید. ahmad.najafy@gmail.com
موفق باشید
سلام وقت بخیر و ممنون
چرا در اموزش محاسبه LST در IDL جای سوال و نظر دادن وجود ندارد
در ویدئو عنوان کردید که یک اموزش دیگری به همراه اموزش خریداری شده برای idl مقدماتی ارسال میکنید ولی همجین چیزی برای من ارسال نشده
با سلام و احترام
داخل صفحه محصول این مورد حذف شده است. قبلا این محصول در شرایط دیگری به فروش میرفته. به همین دلیل در ارتباط با این آموزش دیگر در صفحه محصول هیچ نکته ای گفته نشده است.
موفق باشید
خب الان باید چکار کرد
من الان دقیقا خاطری نیست تو ویدیو به کدام آموزش اشاره کردم. اما اون یک آموزش مکمل شاید بوده و بعدا حذف شده. حتی در هنگام خرید هم (در صفحه محصول) ما ذکر نکردیم که یک محصول مکمل همراه آن است. نه تنها برای شما بله برای هیچ خریداری تا کنون ارسال نشده است.
موفق باشید
با سلام و خسته نباشید خدمت شما. عذر میخوام شما پروژه در زمینه نمایش تصویر سه بعدی از داده های ماهواره MODIS و همزمان داده های زمین محور مانند لایدار در رابطه با آلودگی هوا انجام میدهید؟ ممنون میشم بهم اطلاع بدید.