moaminsharifi/fa-wiki-spell-checker huggingface dataset:
در انتقال دیجیتالی، تعداد اشتباهات بیتی تعداد بیت‌های دریافت شده از یک جریان داده در یک کانال ارتباطی است که به علت نویز، تداخل، تحریف و خطاهای همگام سازی بیت تغییر یافته‌اند.
میزان خطای بیت یا نسبت خطای بیت (BER) تعداد اشتباهات بیتی تقسیم بر تعداد کل بیت‌های منتقل شده در طول یک بازه زمانی مورد مطالعه است. BER معیار عملکرد بدون واحد است که اغلب به صورت یک درصد بیان می‌شود.
احتمال خطای بیتی "p " مقدار انتظار برای BER است. BER را می‌توان به عنوان تخمین تقریبی احتمال خطای بیت در نظر گرفت. این تخمین دقیق برای یک فاصله زمانی طولانی و تعداد زیادی از خطاهای بیت است.
تمام عوامل فوق، همراه با نیازهای کاربر و درک کاربر، نقش مهمی در تعیین «سرعت» یا فایده مشاهده شده از یک اتصال شبکه ایفا می‌کنند. رابطه بین بازده، تأخیر و تجربه کاربر به‌طور دقیق در بطن یک رسانه شبکه به اشتراک گذاشته شده و به عنوان یک مشکل زمانبندی قابل درک است.
برای بعضی از سیستم‌ها، تأخیر و بازدهی، اجزای مرتبط هستند. در TCP / IP، تأخیر نیز می‌تواند به‌طور مستقیم بر بازدهی تأثیر گذار باشد. در ارتباطات TCP، محصول با تأخیر پهنای باند وسیع اتصالات با تأخیر بالا، همراه با پنجره‌های نسبتاً کوچک TCP در بسیاری از دستگاه‌ها، به‌طور مؤثر باعث افزایش کارایی یک اتصال با تأخیر زیاد می‌شود تا با افت شدید تأخیر مواجه شود. این می‌تواند با تکنیک‌های مختلفی مانند افزایش اندازه پنجره تراکم TCP یا راه حل‌های دشوارتر مانند یکی شدن بسته، شتاب TCP و تصحیح خطای پیش رو جبران شود که همه آنها معمولاً برای ارتباطات ماهواره ای با تأخیر بالا استفاده می‌شود.
شتاب‌دهنده TCP بسته‌های TCP را به یک جریان که شبیه به UDP است تبدیل می‌کند. به همین علت، نرم‌افزار شتاب‌دهنده TCP باید مکانیسم‌های خود را برای اطمینان از قابل اطمینان بودن ارتباط، گرفتن زمان تأخیر و پهنای باند ارتباط درون حساب کاربری را در نظر بگیرد و هر دو انتهای ارتباط با تأخیر باید روش مورد استفاده را پشتیبانی کنند.
در لایه کنترل دسترسی رسانه (MAC)، از مسائل مربوط به عملکرد مانند کارایی و تأخیر انتها به انتها سخن به میان آمده‌است.
بسیاری از سیستم‌ها را می‌توانند به عنوان سیستم‌های تحت تأثیر محدودیت‌های بازدهی یا محدودیت‌های تأخیر از نظر فایده برای کاربر یا تجربه برای کاربر نهایی تعریف کرد. در برخی موارد محدودیت‌های سخت مانند سرعت نور منجر به ایجاد مشکلات منحصر به فرد در چنین سیستم‌هایی می‌شود و هیچ کاری برای اصلاح این امر انجام نمی‌تواند انجام شود. سیستم‌های دیگر برای تعادل و بهینه‌سازی قابل توجه برای ایجاد بهترین تجربه برای کاربراجازه می‌دهد.
یک ماهواره مخابراتی در مدار زمین آهنگ که طول مسیر آن بین فرستنده و گیرنده حداقل ۷۱۰۰۰ کیلومتر است را اعمال می‌کند رودی، 2001، 67 - 90 و این به این معنی است که حداقل تأخیر بین درخواست پیام و دریافت پیام، یا تأخیر ۴۷۳ میلی ثانیه است. این تأخیر می‌تواند بسیار قابل توجه باشد و برخدمات تلفن ماهواره ای بدون در نظر گرفتن ظرفیت بازدهی موجود تأثیر بگذارد.
این رسیدگی‌ها در فاصله طولانی در هنگام ارتباط با کاوشگرهای فضایی و دیگر اهداف بلند مدت فراتر از جو زمین دو چندان می‌شود. شبکه فضای عمیق که توسط ناسا اجرا می‌شود، یکی از همین سیستم‌ها است که باید با این مشکلات کنار بیاید. GAO به علت تأخیر در زمانی که از دست رفته، معماری کنونی را مورد انتقاد قرار داده‌است. دفتر حسابداری دولتی ایالات متحده (GAO)، 2006 چندین روش مختلف برای رسیدگی به اتصال متناوب و تاخیرهای طولانی بین بسته‌ها ارائه شده‌است، مانند شبکه‌های تحمل کننده تأخیر. کوین پاییز، 2003
در فاصله بین ستاره ای، مشکلات در طراحی سیستم‌های رادیویی که می‌توانند به هر نوع بازدهی دست یابند بسیار گسترده هستند. در این موارد، حفظ ارتباطات مسئله بزرگتری از این است که چقدر طول می‌کشد که ارتباط برقرار بماند.
حمل و نقل تقریباً به‌طور کامل با بهره‌وری در رابطه است، به همین دلیل است که تحویل فیزیکی نوار بایگانی پشتیبان هنوز با وسیله نقلیه انجام می‌شود.
کبوتر نامه‌بر یا کبوتر پست () به معنای استفاده ویژه از کبوترهای خانگی برای ارسال پیام‌ها است. کبوتران به دلیل خاصیت و توانایی طبیعی‌اشان در بازگشت به خانه در نقش فرستندگان نامه‌بر بسیار مؤثر بودند. برای استفاده از این ویژگی کبوتر ها را در یک قفس انداخته و سپس به مناطقی که نیاز است کبوتر از آنجا پیام‌ها را بیاورد منتقل می‌کنند، پس از آن کبوتران به صورت طبیعی پیام‌ها را به خانهٔ اصلی خود بازمی‌گرداند تا صاحبان آن بتوانند پیام‌ها را بخوانند. این کبوتران در بسیاری از مناطق جهان مورد استفاده قرار گرفته‌اند. این پرندگان همچنین به دلیل عملکرد و تأثیر کاربردی‌اشان در بسیاری از موقعیت‌های نظامی استفاده شده‌اند و در این موارد از آنها با عنوان کبوتر جنگی یاد می‌شود.
هیئت نظارت بر اجرای برجام شورایی متشکل از هشت عضو از مقام‌های جمهوری اسلامی ایران است که در پی نامهٔ ۹ ماده‌ای سید علی خامنه‌ای، رهبر جمهوری اسلامی ایران، به حسن روحانی، رئیس‌جمهور ایران، دربارهٔ الزامات اجرای برنامه جامع اقدام مشترک (برجام) به منظور «رصد پیشرفت کارها و انجام تعهدات طرف مقابل» و «تحقق هشت بند دیگر از نامه» تشکیل شده‌است. به گفتهٔ علی مطهری، این هیئت مرجع همهٔ تصمیمات مربوط به اقدامات متقابل ایران در مورد برجام و نقض آن است.
اعضای این هیئت در شورای عالی امنیت ملی با تأیید سید علی خامنه‌ای انتخاب شده‌اند. اعضای این هیئت عبارتند از:
هم‌چنین علی شمخانی، دبیر شورای عالی امنیت ملی، دبیر این هیئت است.
به گفتهٔ «مرتضی غرقی» این هیئت در انجام وظایفش کوتاهی کرده‌است.
مشرق نیوز هم انفعال این هیئت را موجب زیاده‌خواهی آمریکا می‌داند.
EEG-fMRI (الکتروانسفالوگرافی همزمان با تصویربرداری کارکردی رزونانس مفناطیسی) یک روش تصویربرداری عصبی چند منظوره است که داده‌های EEG-fMRI آی به‌طور همزمان ثبت می‌شوند. در این روش به مطالعه فعالیت الکتریکی مغز که با تغییرات همودینامیک در مغز همراه است می‌پردازند. این ثبت در حالت عملکرد عادی یا در هنگام اختلالات مغزی قابلیت اعمال را دارد.
EEG گرفته شده از روی پوست سر فعالیت الکتریکی و پتانسیل‌های پس سیناپسی خاص در غشاء مغز را نشان می‌دهد در حالی که fMR توانایی پیدا کردن تغییرات همودینامیک مغز از طریق اندازه‌گیری اثر بلد (تصویر برداری از طریق وابستگی خون و اکسیژن) را دارد. پس EEG-fMRI امکان اندازه‌گیری فعالیت عصبی و همودینامیکی را که شامل دو جزء مهم از مکانیزم اتصال عصبی می‌شود را فراهم می‌کند.
استفاده همزمان از EEG-fMRI با کیفیت کافی یک سری راه حل‌ها را برای رفع مشکلات مربوط به خطرات ناشی از پتاانسیل که ممکن است سلامت فرد را به خطر اندازد (به دلیل جریان‌های القا شده به وسیله فرایند موجود در تصویربرداری ام آر در مدارهایی که توسط فرد مورد آزمایش و سیستم ثبت ای ای جی ایجاد شده) و هم چنین کیفیت داده EEG-fMRI را می‌طلبد.
دو درجه در دریافت و جمع‌بندی داده‌ها وجود دارد: محدودیت‌های مربوط به بازتاب صحیح که با تداخلات موجود بین تجهیزات EEG و MR در ارتباط است.
این‌ها: ثبت‌های متغیر هستند که در هر مدالیتی گرفته شده در نوبه خود (به صورت متناوب) وقفه ایجاد می‌کند تا اینکه اجازه دهد داده با کیفیت مناسب توسط یک مدالیته دیگر ثبت شود. داده گرفتن‌های متوالی، به طوری که هر دو مدالیته‌ها قادر هستند که داده را با کیفیت مناسب به صورت پیوسته ثبت کنند. مدالیتی دوم با استفاده از پردازش در زمان یا پس پردازش در نرم‌افزار کاهش آرتیفکت EEG به دست می‌آید.
ابتدا EEG در محیط MR در سال ۱۹۹۳ ثبت شد. چندین گروه ابزار مستقل را برای حل مشکلات ناشی از اختلال متقابل از سیگنال‌های EEG و fMRI پیدا کرده‌اند. اولین تجربهٔ EEG-fMRI در سال 1999 با استفاده از دستاورد فیلترینگ عددی اعمال شد، که عمدتاً روش بر پایهٔ نرم‌افزار در مدت کوتاهی بعد آن جایگزین شد. یک مورد دیگر که به مجموعه EEG-fMRI اضافه شد ثبت ویدیوئی همزمان بدون تأثیر بر کیفیت داده EEG-fMRI بود.
برای بیشتر موارد مجموعه داده‌های ترکیب شده EEG-fMRI اکنون به عنوان یک مسئلهٔ حل شده‌است و دستگاه‌های تجاری از کارخانه‌های بزرگ دنیا در دسترس هستند، اما هنوزمشکلاتی اندکی باقی مانده‌است. در EEG یک سری آرتیفکت‌های جزئی باقی مانده‌است که در هر ضربان قلب اتفاق می‌افتد. ردیاب‌های که در EEG این آرتیفکت را ثبت می‌کند اغلب به BCG (بالستوکاردیوگرام) مربوط می‌شوند، به دلیل منشأ احتمالی آن‌ها در حرکت لیدهای EEG که با هر ضربان قلب در فیلد مغناطیسی اتفاق می‌افتد. در عمل دلیل این آرتیفکت کامل اثبات نشده‌است و ممکن است که در نتیجه عوامل مؤثر مثل فیلدهای الکتریکی القا شده با حرکت خون باشد.
دراصل این تکنیک از ترکیب توانایی قوی EEG در تعیین مشخصه‌های حالت‌های خاص مغز با رزولوشن زمانی بالا و برای نشان دادن الگوهای آسیب‌شناسی با توانایی fMRI برای تصویر کردن دینامیک خون در طول کل مغز با رزولوشن مکانی بالاست. تا بحال fMRI عمدتاً بعنوان یک تکنیک که در آن EEG هماهنگ بدست آمده برای فعالیت مغز (حالت مغز) در طول بازه زمانی مطابق با آمار روی تغییرات مرتبط با همودینامیک استفاده می‌شود.
انگیزه اولیه برای EEG-fMRI در شاخه مطالعه روی بیماری صرع و به‌طور اختصاصی در مطالعه روی تخلیه‌های تشنجی متقابل(IED) و منشأهای آن و در خود تشنج بود. IED در بیماران مبتلا به صرع پدیده‌هایی غیرقابل پیش‌بینی و زیرکلینیکی محسوب می‌شوند و تنها هنگام استفاده از EEG (یا MEG) قابل رویت می‌باشند؛ بنابراین استفاده از EEG در طول fMRI به اجازه مطالعه در مورد همبستگی همودینامیکی را می‌دهد. این روش تغییرات همودینامیکی مرتبط با IED و تشنج را نشان می‌دهد و بعنوان یک ابزار علمی قدرتمند ثابت و شناخته شده‌است. ثبت ویدیو ی همزمان و هماهنگ فعالیت کلینیکی تشنج را در طول فعالیت الکتروفیزیولوژیکی در EEG مشخص می‌کند؛ که به تحقیق و بررسی تغییرات همودینامیکی هماهنگ در طول تشنج در مغز کمک می‌کند.
ارزش کلینیکی این یافته‌ها موضوع تحقیقاتی است که در حال انجام است؛ اما تحقیقات اخیر یک واقعیت قابل قبول را برای مطالعات EEG-fMRI و حساسیت بهتر در اسکنرهای با فیلد قوی پیشنهاد می‌کند.در خارج از زمینه صرع،EEG-fMRI برای مطالعه پاسخ‌های ناشی از مغز به دلیل وجود تحریکات خارجی و دید مهم و جدیدی را در فعالیت پایه ای مغز در طول استراحت و خواب فراهم کرده‌است.
https://insights.ovid.com/crossref?an=00019052-200708000-00008
مدل کانتور فعال، که مدل مارها نیز نامیده می‌شود، یک چارچوب در بینایی رایانه ای است که توسط مایکل کاس، اندرو ویتکین و دمتری ترزوپولوس معرفی شده، و برای ترسیم خطوط خارجی یک شیء، از یک تصویر دو بعدی احتمالاً پر نویز تعریف شده‌است. مدل مارها در دیدگاه رایانه‌ای محبوب است و این مدل به‌طور گسترده در برنامه‌های کاربردی مانند ردیابی شی، تشخیص شکل، تقسیم‌بندی، آشکارسازی لبه و تطبیق استریو مورد استفاده قرار می‌گیرد.
مدل مار یک انرژی کمینه کننده و اسپلاین قابل اصلاح است که تحت تأثیر محدودیت‌ها و نیروهای تصویر است که آن را به سمت کانتورها و نیروهای داخلی متصل می‌کند که مقاومت در برابر تغییر شکل را دارند. مدل مارها ممکن است به عنوان یک مورد خاص از روش کلی تطبیق یک مدل ناپایدار به یک تصویر با استفاده از به حداقل رساندن انرژی درک شوند. در دو بعد، ، یک نسخه گسسته این رویکرد را نشان می‌دهد، با استفاده از برای محدود کردن محدوده شکل به یک دامنه صریح از یک مجموعه آموزشی یاد می‌شود.
مارها کل مشکل پیدا کردن خطوط در تصاویر را حل نمی‌کنند، زیرا این روش نیاز به دانش قبلی شکل کانتورهای طرحی شده دارد. در عوض، آنها به مکانیزم‌های دیگر مانند تعامل با یک کاربر، تعامل با برخی از فرایندهای درک تصویری سطح بالاتر یا اطلاعاتی از داده‌های تصویر مجاور در زمان یا فضا بستگی دارد.
در دیدگاه رایانه، مدلهای کانتور، مرزهای شکل در یک تصویر را توصیف می‌کنند. مدل مارها به‌طور خاص طراحی شده‌اند تا مشکلات را حل کنند که در آن شکل تقریبی مرز شناخته شده‌است. با داشتن یک مدل تغییر شکل‌پذیر، مارها می‌توانند به تفاوت و نویز در تطبیق استریو و ردیابی حرکت سازگار شوند. علاوه بر این، این روش می‌تواند در تصویر را با نادیده گرفتن اطلاعات مرزی گم شده پیدا کند.
در مقایسه با تکنیک‌های استخراج ویژگی کلاسیک، مدل مارها مزایای متعددی دارند:
اشکالات کلیدی روش سنتی مارهای عبارتند از:
یک مار قابل ارتجاع ساده با مجموعه ای از formula_1 نقطه formula_2 تعریف می‌شود که formula_3، ترم انرژی درونی انعطاف‌پذیر formula_4، و انرژی بر اساس لبه خارجی formula_5نامیده می‌شود. هدف از اصطلاح انرژی درونی، کنترل تغییرات ساخته شده در مار است و هدف از اصطلاح انرژی خارجی، کنترل اتصالات کانتور بر روی تصویر است. انرژی خارجی معمولاً ترکیبی از نیروهای مربوط به formula_6خود تصویر و نیروهایformula_7 محدود کننده معرفی شده توسط کاربر است.
عملکرد انرژی مارها مجموع انرژی خارجی و انرژی داخلی آن است یا به عبارتی:
انرژی داخلی مار از تداوم کانتور تشکیل شده‌است formula_9 و صافی کانتور formula_10.
می‌توان به صورت زیر گسترش داد:
که formula_13 و formula_14 وزن تعریف شده توسط کاربر هستند که حساسیت عملکرد انرژی داخلی به مقدار کشش در مار و مقدار انحنای مار را محاسبه می‌کند و به این ترتیب تعداد محدودیت‌های شکل مار را کنترل می‌کند. در عمل، وزن بزرگ formula_13 برای مدت زمان تداوم تغییرات در فاصله بین نقاط در کانتور را جبران می‌کند. وزن بزرگ formula_14 برای مدت زمان نرم شدگی، نوسانات در کانتور را جبران می‌کند و خطوط را به عنوان یک صفحه نازک عمل می‌کند.
انرژی در تصویر برخی از ویژگی‌های تصویر است. این یکی از رایج‌ترین اصلاحات در روش‌های مشتق شده‌است. ویژگی‌ها در تصاویر و تصاویر خود را می‌توان در بسیاری از روش‌های مختلف پردازش شده‌است.
برای یک تصویر formula_17، خطوط، لبه‌ها و انتهای موجود در تصویر، فرمول بندی کلی انرژی به دلیل تصویر است:
جایی که، formula_19, formula_20, formula_21 وزن این ویژگی‌های برجسته هستند. وزن‌های بالاتر نشان می‌دهد که ویژگی برجسته سهم بیشتری نسبت به نیروی تصویر داشته‌است.
تابع خط است که شدت تصویر است که می‌تواند به عنوان نشان داده شود
نشانه ای از formula_19 تعیین خواهد کرد که آیا خط به خطوط تاریک یا خطوط نور جذب خواهد شد.
برخی از کاهش صوت یا نویز ممکن است بر روی تصویر استفاده شود، و سپس عملکرد تابع خط به نظر می‌رسد
لبه عملکردی بر اساس شیب تصویر است. یک اجرای این است
یک مار که دور از کانتور مورد نظر قرار دارد ممکن است به اشتباه به حداقل محلی نزدیک شود. به منظور اجتناب از این کمینه‌های محلی، می‌توان از ادامه فضای مقیاس استفاده کرد. این با استفاده از یک فیلتر تاری در تصویر به دست می‌آید و به میزان محاسبه می‌شود که محاسبات پیشرفت می‌کند تا تناسب مار را اصلاح کند. عملکرد انرژی با استفاده از مقیاس فضا ادامه دارد
جایی که formula_27 گاوسی با انحراف معیار formula_28 است. حداقل این تابع در قرار دارد formula_29 که لبه‌ها را بر اساس تعریف می‌کنند.
انحنای سطوح سطح در یک تصویر تقریباً صاف می‌تواند برای تشخیص گوشه‌ها و انتهای یک تصویر استفاده شود. با استفاده از این روش، formula_30 تصویری که توسط
با زاویه شیب
بردارهای واحد در امتداد جهت گرادیان
و بردارهای واحد عمود بر جهت گرادیان
عملکرد خاتمه انرژی به صورت زیر نشان داده می‌شود:
بعضی از سیستم‌ها، از جمله پیاده‌سازی مارها اصلی، برای تعامل کاربر برای هدایت مارها، نه تنها در موقعیت اولیه، بلکه در شرایط انرژی آنها، امکان‌پذیر است. چنین محدودیتی انرژی formula_36 می‌تواند به‌طور تعاملی هدایت مار به سمت یا دور از ویژگی‌های خاص مورد استفاده قرار گیرد.
با توجه به یک حدس اولیه برای یک مار، عملکرد انرژی مار به‌طور تکراری کمینه می‌شود. به حداقل رساندن گرادیان کاهشی یکی از ساده‌ترین بهینه‌سازی‌ها می‌باشد که می‌تواند برای به حداقل رساندن انرژی مار استفاده شود.Image Understanding, Bryan S. Morse, Brigham Young University,1998-2000 http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MORSE/iu.pdf هر تکرار یک گام در شیب منفی نقطه با اندازه گام کنترل شده‌است formula_37 برای پیدا کردن مینیمم‌های محلی این به حداقل رساندن شیب نزولی می‌تواند به عنوان مثال پیاده‌سازی شود
جایی که formula_39 نیروی مار است که توسط منفی گرادیان میدان انرژی تعریف می‌شود.
با فرض وزن formula_41 و formula_42 ثابت با توجه به formula_43، این روش تکرار می‌تواند به ساده‌تر شدن باشد
در عمل، تصاویر دارای وضوح محدود هستند و تنها می‌توانند بر روی گام‌های زمانی محدود formula_45قرار گیرند. به این ترتیب تقریبهای گسسته باید برای اجرای عملی مارها ساخته شود.
عملکرد انرژی مارها می‌تواند با استفاده از نقاط گسسته مارها تقریباً محاسبه شود.
به همین ترتیب، نیروهای مار را می‌توان تقریبی به عنوان
تقریب گرادیان را می‌توان با استفاده از هر روش تقریبی محدود با توجه به "s", مانند اختلاف محدود.
معرفی زمان گسسته به الگوریتم می‌تواند به روز رسانی‌هایی ارائه کند که مارها از حداقل‌ها جذب شده‌است؛ این بیشتر می‌تواند منجر به نوسانات در اطراف حداقل شود یا منجر به کمینه‌های مختلف یافت شود.
این را می‌توان از طریق تنظیم گام زمانی که اندازه گام هرگز بیشتر از یک پیکسل به علت نیروهای تصویر است، اجتناب کنید. با این حال، در مناطق کم انرژی، انرژی‌های داخلی بر روی به روز رسانی تسلط دارند.
به‌طور متناوب، نیروهای تصویر می‌توانند برای هر مرحله عادی شوند به طوری که تصویر فقط مارها را به صورت یک پیکسل به روز می‌کند. این را می‌توان به عنوان فرموله کرد:
جایی که formula_49 نزدیک به مقدار اندازه پیکسل است. این مسئله از غلبه بر انرژی‌های داخلی که از تنظیم گام زمان جلوگیری می‌کند.Laurent D. Cohen, On active contour models and balloons, CVGIP: Image Understanding, Volume 53, Issue 2, March 1991, Pages 211-218, ISSN 1049-9660,
انرژی در یک تصویر مداوم ممکن است عبور صفر داشته باشد که به عنوان یک پیکسل در تصویر وجود ندارد. در این مورد، یک نقطه در مار بین دو پیکسل که همسایه آن عبور صفر است، نوسان می‌کند. این نوسان را می‌توان با استفاده از درون یابی بین پیکسل به جای نزدیکترین همسایه اجتناب کرد.
pseudocode زیر روش مار را به صورت کلی اجرا می‌کند:
function v = snakes (I, v)
جایی که "generateImageEnergy (I)" را می‌توان به عنوان نوشته کرد
function E_image = generateImageEnergy (I)
روش پیش فرض مارها دارای محدودیت‌های مختلف و موارد گوشه ای است که همگرایی عملکرد ضعیفی دارد. چندین جایگزین وجود دارد که مسائل مربوط به روش پیش فرض را در بر می‌گیرد، هرچند با مشارکت خودشان. چند نفر در اینجا لیست شده‌اند.
مدل مار مارپیچ گرادیان (GVF)C. Xu and J.L. Prince, "Gradient Vector Flow: A New External Force for Snakes," Proc. IEEE Conf. on Comp. Vis. Patt. Recog. (CVPR), Los Alamitos: Comp. Soc. Press, pp. 66–71, June 1997, http://iacl.ece.jhu.edu/pubs/p087c.pdf دو مسئله را با مارها مطرح می‌کند:
در دو بعد، فیلد بردار GVF، کارکرد انرژی را به حداقل می‌رساند
جایی که formula_51 یک اصطلاح هموار کنترل شده‌است. این را می‌توان با حل معادلات اویل حل کرد
این را می‌توان از طریق تکرار به سمت یک مقدار ثابت حل کرد.
این نتیجه نیروی پیش فرض خارجی را جایگزین می‌کند.
مشکل اصلی با استفاده از GVF نرم کردن ترم formula_51 است که موجب گرد کردن لبه‌های کنتور می‌شود. کاهش ارزش formula_51 گرد کردن را کاهش می‌دهد اما مقدار صاف کردن را تضعیف می‌کند.
مدل بالون این مشکلات را با مدل کنتور پیش فرض فعال شرح می‌دهد:
مدل بالون یک دوره تورم را به نیروهایی که بر روی مار اعمال می‌کنند معرفی می‌کند
که formula_60 بردار واحد معمولی منحنی در formula_61 و formula_62 بزرگی نیرو است. formula_62 باید بزرگی یکسانی به عنوان formula_64 ضریب نرمالیزه تصویر داشته باشد و در ارزش از formula_64 کمتر باشد برای مجاز کردن نیروها در لبه‌های تصویر برای برانگیختن نیروی تورم.
سه مسئله از استفاده از مدل بالون به وجود آمده‌است:
مدل مار نفوذی حساسیت مارها به نویز، کلفت و انسداد را مورد توجه قرار می‌دهد. این یک اصلاح ویژگی‌های و محدودیت کارتونی آن را به کار می‌گیرد و شامل دانش شکل است. عملکرد تصویر پیش فرض تصویر formula_66 جایگزین شده‌است با
که formula_68 E_i براساس یک کارکرد مامفورد-شاه اصلاح شده‌است
که formula_70 یک مدل صاف و از تصویر formula_71 با دامنه formula_72. مرزها formula_73 تعریف شده‌اند
که formula_75 عملکرد پایه‌های B-اسپلین درجه دوم و formula_76 نقاط کنترل اسپلین هستند. محدودیت کارتونی اصلاح شده به عنوان formula_77 و تنظیمات معتبر از formula_68.
تابع formula_79 بر اساس آموزش از تصاویر باینری از خطوط مختلف است و توسط پارامتر formula_80. برای یک توزیع گاوسی از بردارهای نقطه کنترل z formula_81 با میانگین بردار نقطه کنترل formula_82 و ماتریس کواریانس formula_83 سیگما، انرژی درجه دوم که با احتمال گاوسی مطابقت دارد
استحکام این روش به قدرت داده‌های آموزشی و نیز تنظیم عملکرد مامورد-شاه تغییر یافته بستگی دارد. مارهای مختلف نیاز به مجموعه داده‌های مختلف آموزش و تنظیمات دارند.
کانتور فعال هندسی، یا کانونی فعال ژئودزیک (GAC)Geodesic Active Contours, V. Caselles, R. Kimmel, G. Sapiro http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.2196 یا کانونی‌های فعال کانونی،Conformal curvature flows: From phase transitions to active vision, Satyanad Kichenassamy, Arun Kumar, Peter Olver, Allen Tannenbaum and Anthony Yezzi http://www.springerlink.com/content/u457157212872201/ ایده‌هایی را از تکامل یقین ایدل استفاده می‌کند. کانتورها بسته به تشخیص اشیاء در تصویر تقسیم و ادغام می‌شوند. این مدلها عمدتاً از مجموعه‌های سطح الهام گرفته شده‌است و به‌طور گسترده در استفاده شده‌است.
به عنوان مثال، معادله تکاملی منحنی زاویه گرادیان GAC است
که formula_86 یک عمل متوقف است، "c" یک ضریب لاگرانژ است، formula_87 منحنی و formula_88 واحد نرمال داخلی است. این شکل خاص از معادله تکامل منحنی تنها به سرعت در جهت نرمال وابسته است؛ بنابراین، با قرار دادن تابع تنظیم سطح، می‌توان آن را به صورت معادل در یک فرم یورلین بازنویسی کرد formula_89 به آن به شرح زیر است
این اصلاح ساده و در عین حال قدرتمند سطح را قادر می‌سازد خطوط فعال برای مرتب‌سازی تغییرات توپولوژی در طی تکامل منحنی نزول شیب. این پیشرفت فوق‌العاده ای را در زمینه‌های مرتبط الهام داده‌است و با استفاده از روش‌های عددی برای حل دوباره تعریف سطح، اکنون به عنوان روش تعیین سطح شناخته می‌شود. وانگ و چان استدلال می‌کنند که تمام معادلات تکاملی منحنی باید مستقیماً توسط آن حل شود.
تحولات اخیر در کانتورهای فعال در زمینه مدل سازی خواص منطقه ای، ترکیب قالب‌های انعطاف‌پذیر و تقسیم‌بندی کاملاً اتوماتیک و غیره.
مدل‌های آماری که ترکیبی از ویژگی‌های محلی و جهانی هستند، توسط لانکتون و آلن تاننبام فرموله شده‌اند.Lankton, S. ; Tannenbaum, A. , "Localizing Region-Based Active Contours," Image Processing, IEEE Transactions on, vol.17, no.11, pp.2029,2039, Nov. 2008 doi: 10.1109/TIP.2008.2004611 http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4636741&tag=1
برش گراف یا حداکثر جریان / دقیقه برش یک روش عمومی برای به حداقل رساندن یک شکل خاص انرژی به نام میدان مغناطیسی مارکوف (MRF) است. روش تقسیم گراف نیز به تقسیم‌بندی تصویر اعمال شده‌است و گاهی اوقات از روش تعیین سطح در زمانی که مدل MRF استفاده می‌کند یا می‌تواند توسط MRF تقریب یابد، بهتر عمل می‌کند.
رزیتا شرف جهان متولد ۱۳۴۱، در تهران مجسمه‌ساز، نقاش و ویدئو آرتیست است. او فارغ‌التحصیل هنرستان در رشته مجسمه‌سازی است و کارشناسی نقاشی را از دانشکده هنرهای زیبای دانشگاه تهران دریافت کرده‌است. او که بنیانگذار و مدیر گالری طراحان آزاد است، یکی از پیش‌کسوتان گالری داری در ایران است که تأثیر بسزایی در کشف برخی هنرمندان دهه هشتاد داشته‌است. همچنین از او به عنوان یکی از هنرمندان معاصر زن تأثیرگذار نام می‌برند. آثار او در مجموعه‌هایی چون موزه بیلوتی ایتالیا نگهداری می‌شود.
شرف جهان در سال ۱۳۵۶ وارد هنرستان شد و در رشته مجسمه‌سازی تحصیل کرد. بعد از فارغ‌التحصیلی از هنرستان، به خاطر انقلاب فرهنگی، نتوانست وارد دانشگاه شود.
با چند نفر از دوستان، حدود ۳ سالی از طریق کلاس‌های آزاد زیر نظر استادانی چون یعقوب عمامه‌پیچ و عربعلی شروه، کار خود را ادامه دادیم تا دچار وقفه نشویم. در هنرستان جزو شاگردان برجسته دوره خودم بودم. دانشگاه‌ها که باز شد، گزینش با وسواس زیادی انجام می‌شد. سال اول از لحاظ علمی قبول شدم، اما نتوانستم وارد دانشگاه شوم و سال بعد در رشته نقاشی هنرهای زیبا پذیرفته شدم.
او در سال ۱۳۷۷ همزمان با تشکیل گروه هنری سی، کارگاه شخصی خود را به فضایی برای نمایش آثار خود و دیگر همکارانش در گروه هنری سیی اختصاص داد و گالری طراحان آزاد را به همراه محسن نبی زاده به صورت غیررسمی تأسیس کرد. سال ۱۳۷۸ با دریافت مجوز رسمی از وزارت ارشاد، گالری طراحان آزاد رسماً شروع به کار کرد.
او در مصاحبه اش با روزنامه ایران می‌گوید:
محل فعلی گالری را پدرم برای کارگاه در اختیارم گذاشت. بیش از هرچیز نیاز به چنین مراوداتی داشتم، نه تنها من بلکه این نیاز باقی دوستانم نیز بود که محلی برای خودمان داشته باشیم تا بتوانیم، بحث کنیم، کار ببینیم و کارهای خودمان را نشان بدهیم.
شرف جهان که خود از هنرمندان شاخص زمان خود بود، توجه خود را معطوف به قالب‌هایی کرد که برای دیگر گالری دارها چندان قابل توجه نبود:
با شروع نمایشگاه‌های مفهومی در موزه، افرادی به ما مراجعه می‌کردند که در حوزه «نیو مدیا» مثل ویدئو، صدا، اینستالیشن و غیره فعال بودند که حدود ۸ گالری فعال آن زمان به این هنرمندان وقت نمایشگاه نمی‌دادند؛ چراکه هدفشان نشان‌دادن نقاشی بود.
اما او که خود علاقه‌مند به ویدئو، اینستالیشن، پرفورمنس آرت و قالب‌های نویی از این دست بود، از این قالب‌ها استقبال کرد. این رویه، گالری طراحان آزاد را به یکی از نگارخانه‌های پیشرو بعد از انقلاب تبدیل کرد.
شرف جهان همواره معتقد بود که زنان و مردان برابرند:
نمی‌خواستم بپذیرم کارهایی را که پسرها انجام می‌دهند، نمی‌توانم انجام بدهم. من هم‌زمانی می‌خواستم همانند مردها باشم. حتی مجسمه‌سازی را نیز به همین دلیل انتخاب کردم. سودای این را داشتم تا مجسمه‌های بزرگ بسازم یا سنگتراشی کنم. در نقاشی هم به این شکل، تلاش می‌کردم با ضربه قلم‌های پر قدرت، از هر چه که تصور می‌کردم جامعه مردسالار برای زن تعریف کرده، خودم را آزاد کنم. این مسئله به مرور اصلاح شد؛ باید می‌پذیرفتم که من زن هستم با خصوصیات و ویژگی‌های زنانه، ویژگی‌هایی که ارزشند، ضد ارزش نیستند. به هرحال این موضوع را در آثارم می‌توانید مشاهده کنید.
یکی از مهمترین آثار او، تابلویی ست که تصویری از بهروز وثوقی را نشان می‌دهد. باوند بهپور منتقد هنری دربارهٔ این اثر می‌نویسد:
شرف جهان علاوه بر فعالیت‌های هنری اش، مدرس دانشگاه نیز هست و در چندین نهاد عضویت فعال دارد:
گزیده نمایشگاه‌های انفرادی
شرکت در بیشتر از ۷۰ بینال، جشنواره و نمایشگاه گروهی نقاشی و ویدئو آرت در ایران، جمهوری چک، اتریش، ترکیه، ایتالیا، ژاپن، ارمنستان، فرانسه، هند، آلمان و کانادا
تعدادی از آثار رزیتا شرف جهان:
قایق Polaris AM-FIB یک قایق پرنده آبی ایتالیایی است که توسط پولاریس موتور طراحی و تولید شده‌است. این هواپیما در سال ۲۰۰۳ معرفی شد و به عنوان یک هواپیمای آماده پرواز به پرواز درآمد.
خدمه: یکی
گنجایش: یک نفر
ارتفاع: ۱۱.۱۵ متر (۳۶ فوت ۷ اینچ)
مساحت بال: ۱۹.۶ متر مربع (۲۱۱ فوت مربع)
وزن خالی: ۲۳۹ کیلوگرم (۵۲۷ پوند)
وزن ناخالص: ۴۰۶ کیلوگرم (PC پوند)
ظرفیت سوخت: ۴۰ لیتر (۸.۸ گالن، ۱۱ گالن آمریکا)
پروانه: ۳ پره
حداکثر سرعت: ۸۰ کیلومتر بر ساعت (۵۰ مایل بر ساعت؛ ۴۳ گره)
گو دئوک مو (۶۹۹ - ؟) پسر سوم بوجانگ آخرین پادشاه گوگوریو و مؤسس سلسله گوگوریو کوچک در سال ۶۹۹ میلادی بود.
این مقاله توصیف قراردادهای فراخوانی (به انگلیسی: calling conventions) مورد استفاده، در هنگام برنامه‌نویسی میکروپروسسورهای معماری اکس۸۶ است.
قراردادهای فراخوانی، رابط کاربری کد فراخوانی شده را توصیف می‌کند:
این دقیقاً با تخصیص دادنِ اندازه‌ها و فرمت‌ها به انواع زبان برنامه‌نویسی مرتبط است. یکی دیگر از موضوع‌های خیلی مرتبط برانگیختگی نام (Name mangling) است، که تعیین می‌کند که چگونه نمادها در کد به نماد مورد استفاده در لینکر مرتبط و تبدیل شوند. قراردادهای فراخوانی، نمایندگی‌های نوع، و برانگیختگی نام، همه بخشی از آنچه که به عنوان یک رابط دودویی نرم‌افزار شناخته می‌شود هستند.
اغلب تفاوت‌های ظریفی در نحوه پیاده‌سازی این قراردادها در کامپایلر‌های مختلف وجود دارد، بنابراین اغلب سخت است که کدی را که توسط کامپایلرهای مختلف کامپایل شده‌است نمایش دهیم. از سوی دیگر، قراردادهایی که به عنوان استاندارد API (مانند stdcall) مورد استفاده قرار می‌گیرند، به‌طور خیلی یکسان پیاده‌سازی می‌شوند.
قبل از میکرو رایانه‌ها، تولیدکننده دستگاه، به‌طور کلی یک سیستم عامل و کامپایلر‌هایی برای چند زبان برنامه‌نویسی ارائه می‌داد. قرارداد (های) فراخوانی برای هر پلت فرم، توسط ابزار برنامه نویسیِ سازنده آن تعریف می‌شود.
میکرو رایانه‌های اولیه قبل از Commodore Pet و Apple II به‌طور کلی بدون سیستم عامل یا کامپایلرها عرضه می‌شدند. رایانه شخصی IBM با سیستم عامل دیسک (DOS) (پیشگام مایکروسافت برای ویندوز) عرضه شد، اما بدون کامپایلر. تنها سخت‌افزار استاندارد برای ماشین‌های سازگار با رایانه شخصی IBM توسط پردازنده‌های اینتل (۸۰۸۶، ۸۰۳۸۶) تعریف شد که سخت‌افزار تحت اللفظی IBM نامیده می‌شد. سپس فرمت‌های سخت‌افزاری و تمامی استانداردهای نرم‌افزاری (ذخیره برای قراردادهای فراخوانی BIOS) برای رقابت در بازار عرضه شد.
بسیاری از شرکت‌های نرم‌افزارهای مستقل، سیستم عامل‌ها و کامپایلرهایی برای بسیاری از زبان‌های برنامه‌نویسی و برنامه‌های کاربردی ارائه می‌دهند. بسیاری از طرح‌های مختلف فراخوانی کردن توسط شرکت‌ها پیاده‌سازی شده‌است که اغلب متقابلاً منحصر به فرد، بر اساس الزامات مختلف، شیوه‌های تاریخی و خلاقیت برنامه‌نویس هستند.
پس از انعطاف‌پذیری بازار IBM، سیستم عامل‌های و ابزارهای برنامه‌نویسی مایکروسافت (با قراردادهای متفاوت) غالب بودند، در حالی که شرکت‌های رده دوم مثل Borland و Novell و پروژه‌های منبع بازمانند GCC هنوز استانداردهای خود را حفظ کردند. در نهایت مقررات مربوط به قابلیت همکاری بین فروشندگان و محصولات به تصویب رسید، ساده کردن مشکل انتخاب یک قرارداد قابل قبول بود.
در این قراردادها، فراخوانی کننده، آرگومان‌ها را از پشته پاک می‌کند.
cdecl (که بر پایه تعریف C است) یک قرارداد فراخوانی است که از زبان برنامه‌نویسی C سرچشمه می‌گیرد و توسط بسیاری از کامپایلرهای C برای معماری x86 استفاده می‌شود. Agner Fog (2010-02-16). "توافقنامه تماس برای کامپایلرهای مختلف C ++ و سیستم عامل" (PDF). در cdecl، آرگومان‌های تابع به پشته منتقل می‌شوند. مقادیر اعداد صحیح و آدرس‌های حافظه به وسیلهٔ ثبات (رجیستر) EAX و مقادیر اعشاری در ثبّات ST0 x87 بازگردانده می‌شوند. ثبّات‌های EAX, ECX، و EDX ذخیره شده توسط فراخوانی‌کننده (به انگلیسی: caller-saved) و بقیه ذخیره شده توسط فراخوانی شونده (به انگلیسی: callee-saved) هستند. ثبّات‌های اعشاری x87 T ST0 تا ST7، هنگام فراخوانی یک تابع جدید باید خالی (برداشته شده یا آزاد) باشند و ST1 تا ST7 باید در هنگام خروج از یک تابع خالی باشد. ST0 نیز باید زمانی خالی باشد که برای بازگشت مقدار مورد استفاده قرار نگیرد.
در چارچوب زبان برنامه‌نویسی C، آرگومان‌های تابع بر روی پشته از راست به چپ قرار می‌گیرند، یعنی اول آخرین آرگومان قرار داده می‌شود. در لینوکس، GCC استانداردهای "واقعی را" برای قراردادهای فراخوانی تنظیم می‌کند. از زمان GCC نسخه ۴٫۵، هنگام فراخوانی یک تابع، پشته باید به یک مرز ۱۶ بایت برسد (نسخه‌های قبلی فقط یک تراز ۴ بایت نیاز داشتند)
قطعه کد مرجعِ C زیر را در نظر بگیرید:
return callee(1, 2, 3) + 5;
push ebp ; save old call frame
mov ebp, esp ; initialize new call frame
call callee ; call subroutine 'callee'
add eax, 5 ; modify subroutine result
; compilers will usually produce the following instead,
mov esp, ebp ; most calling conventions dictate ebp be callee-saved,
pop ebp ; restore old call frame
ret ; return
برخی تغییرات در بیان cdecl, به ویژه در نحوه بازگشت مقادیر وجود دارد. در نتیجه، برنامه‌های کامپایل شده توسط x86 با سیستم عامل‌های مختلف یا کامپایلرهای مختلف می‌تواند ناسازگار باشد، حتی اگر آن‌ها هر دو از قراردادهای "cdecl" استفاده کنند و به محیط زیر وابسته نباشند. بعضی از کامپایلرها ساختار داده‌های ساده را با طول ۲ ثبّات یا کمتر در جفت ثبّات EAX: EDX برمی‌گردانند، و ساختارهای بزرگتر و اشیاء کلاس‌ها که نیاز به رفتار ویژه توسط رسیدگی کنندهٔ استثنا دارند (مانند سازندهٔ تعریف شده، تخریب‌کننده یا اختصاص دادن) به حافظه برگرداننده می‌شوند. برای انتقال "در حافظه"، فراخوانی‌کننده حافظه را اختصاص می‌دهد و یک اشاره گر به آن را به عنوان پارامتر پنهان می‌دهد؛ فراخوانی شده حافظه را پر می‌کند و اشاره گر را برمی‌گرداند (هنگام بازگشت اشاره گر پنهان برداشته می‌شود).
در لینوکس / GCC، مقادیر اعداد اعشاری هشت بایتی(double) / چهار بایتی(float) باید به وسیلهٔ شبه پشتهٔ x87 روی پشته قرار بگیرند. مثل این:
قراردادهای فراخوانی cdecl معمولاً قرارداد فراخوانی پیش فرض برای کامپایلر‌های x86 C است، اگر چه بسیاری از کامپایلرها مجهز به گزینه‌هایی برای تغییر خودکار قراردادهای فراخوانیِ استفاده شده هستند. برای تعریف کردن دستی تابع به عنوان cdecl، برخی نحو زیر را پشتیبانی می‌کند:
return_type _cdecl func_name();
این مشابه cdecl است در آن آرگومان‌ها از راست به چپ در استک قرارداده می‌شوند. ECX, EAX و EDX ذخیره نمی‌شوند. اندازه لیست پارامترها در doublewords به AL منتقل می‌شود.
Syscall قرارداد فراخوانی استاندارد برای OS / 2 API سی و دو بیت (۳۲ بیت) است.
آرگومان‌ها از راست به چپ در پشته قرارداده می‌شوند. سه آرگومان اول (چپ‌ترین) در EAX, EDX و ECX منتقل می‌شود و بیشتر از چهار آرگومان اعشاری در ST0 از طریق ST3 منتقل می‌شود، اگرچه فضای آن‌ها در لیست آرگومان‌ها بر پشته رزرو می‌شود. نتایج در EAX یا ST0 برگردانده می‌شوند. ثبّات‌های EBP, EBX, ESI، و EDI حفظ می‌شوند.
Optlink توسط کامپایلر IBM VisualAge استفاده می‌شود.
در این قراردادها، تابع فراخوانی شده، آرگومان‌ها را از پشته پاک می‌کند. تشخیص توابعی ک این قراردادها را استفاده می‌کنند در کد ASM آسان است زیرا آن‌ها پس از بازگشت، پشته را باز می‌کنند. دستور x86 ret به پارامتر ۱۶ بیتی اختیاری اجازه می‌دهد که بعد از بازگشت به فراخوانی کننده، تعداد بایت‌های مشخصی از پشته را آزاد کند. نمونه ای از این کد به صورت زیر است:
بر اساس قرارداد فراخوانی زبان برنامه‌نویسی Borland Pascal، پارامترها بر روی پشته از چپ به راست (مخالف cdecl) قرار می‌گیرند و فراخوانی شده مسئول حذف آن‌ها از پشته است.
بازگشت نتیجه به شرح زیر است:
این قرارداد فراخوانی در APIهای ۱۶ بیتی زیر رایج بود:
OS / 2 1.x، مایکروسافت ویندوز 3.x و Borland Delphi نسخه 1.x. نسخه‌های مدرن ویندوز API از stdcall استفاده می‌کنند، که هنوز هم فراخوانی شده پشته را طبق قرارداد پاسکال را ذخیره می‌کند، اما اکنون پارامترها از راست به چپ قرارداده می‌شوند.
قرارداد فراخوانی http://msdn2.microsoft.com/en-us/library/zxk0tw93(vs.71).aspx stdcall تغییری در قرارداد فراخوانی پاسکال است که در آن فراخوانی شده مسئول پاک کردن پشته است، اما پارامترها در پشته به ترتیب از راست به سمت چپ، همان‌طور که در قرارداد فراخوانی _cdecl قرار دارد، قرار می‌گیرند. ثبّات‌های EAX, ECX و EDX برای استفاده درون تابع تعیین می‌شوند. مقادیر بازگشتی در ثبّات EAX ذخیره می‌شوند.
stdcall استاندارد برای مایکروسافت Win32 API و Open Watcom CPP است.
قرارداد مایکروسافت or GCC fastcall__ (معروف به msfastcall__) دو آرگومان اول (که از چپ به راست به دست می‌آید) را می‌دهد که در ECX و EDX قرار می‌گیرند. آرگومان‌های باقی مانده راست به چپ در پشته قرار می‌گیرند. هنگامی که کامپایلر MS برای IA64 یا AMD64 کامپایل می‌شود، کلمه کلیدیfastcall__ را نادیده می‌گیرد و به جای آن یک قرارداد فراخوانی ۶۴ بیتی را استفاده می‌کند.
در ویژوال استودیو ۲۰۱۳، مایکروسافت قرارداد فراخوانی vectorcall__ پاسخگو به نگرانی‌های توسعه دهندگان کد در مورد کارآییِ بازی‌ها، گرافیک، ویدئو / صدا است. برای کدهای IA-32 و x64، قرارداد vectorcall__ شبیه fastcall__ و قرارداد فراخوانی اصلی x64 است، اما آن‌ها را با پشتیبانی از پاس دادن آرگومان‌های برداری با استفاده از ثبّاتهای SIMD گسترش می‌دهد. برای x64، زمانی که هر یک از شش آرگومان اول، از نوع برداری (float ,double __m128 , __m256 و غیره) باشند، از طریق ثبّاتهای XMM / YMM مربوط منتقل می‌شوند. به‌طور مشابه برای IA-32، حداکثر تا ۶ ثبّاتها XMM / YMM به صورت تکراری برای آرگومان‌ها از نوع بردار از چپ به راست بدون در نظر گرفتن موقعیت قرار می‌گیرد. علاوه بر این، vectorcall__ پشتیبانی کردن از انتقال مجموعه ای از مقادیر همگن بردار (HVA) را اضافه کرد، که از نوع ترکیبی است که شامل بیش از چهار نوع بردار یکسان است، با استفاده از شش ثبّات یکسان. هنگامی که ثبّاتها برای آرگومان‌های برداری اختصاص داده می‌شوند، ثبّاتهای استفاده نشده به آرگومان‌های HVA از چپ به راست بدون توجه به موقعیت اختصاص داده می‌شوند. نتیجه نوع برداری و مقادیر HVA با استفاده از چهار ثبّات اول XMM / YMM بازگرداننده می‌شود.
ارزیابی آرگومان‌ها از چپ به راست، سه آرگومان را از طریق EAX, EDX, ECX منتقل می‌کند. آرگومان‌های باقی مانده در پشته از چپ به راست قرارداده می‌شوند. این قرارداد فراخوانیِ پیش فرضِ کامپایلر ۳۲ بیتی دلفی است، جایی که به عنوان ثبّات شناخته می‌شود. GCC این قرارداد فراخوانی را با گزینه "regparm = ۳ پشتیبانی می" کند. این به وسیلهٔ هسته لینوکس روی i386 از نسخه ۲٫۶٫۲۰ (منتشر شده در فوریه ۲۰۰۷) استفاده می‌شود. این قرارداد فراخوانی نیز توسط C ++ Builder Embarcadero استفاده می‌شود، جایی که "fastcall__" نامیده می‌شود. در این کامپایلر، "fastcall" مایکروسافت را می‌توان به عنوان "msfastcall__ استفاده کرد".
Watcom از کلمه کلیدی "fastcall__" پشتیبانی نمی‌کند مگر این که نام مستعار آن را null کند. قرارداد فراخوانی ثبّات ممکن است توسط سوئیچ خط فرمان انتخاب شود. (با این حال، IDA از "fastcall__" برای یکنواخت کردن استفاده می‌کند)
تا ۴ ثبّات به ترتیب به آرگومان‌های eax, edx, ebx, ecx اختصاص داده می‌شوند. آرگومان‌ها از چپ به راست به ثبّاتها اختصاص داده می‌شوند. اگر هر آرگومان نتواند به یک ثبّات تخصیص داده شود (می‌گویند خیلی بزرگ است)، آن و تمام آرگومان‌های بعدی به پشته اختصاص داده می‌شوند. آرگومان‌هایی که به پشته اختصاص داده می‌شوند از راست به چپ قرار می‌گیرد. نام‌ها با اضافه کردن پسوند _ تغییر می‌کنند.
توابع متغیر بر اساس قرارداد فراخوانی به پشتهٔ Watcom سقوط می‌کنند.
کامپایلر Watcom C / C ++ نیز از دستور pragma aux# که به کاربر اجازه می‌دهد که خودشان قرارداد فراخوانی خود را مشخص کنند. همان‌طور که در کتابچه راهنمای آن آمده‌است: «تعداد کمی از کاربران احتمالاً به این روش نیاز دارند، اما اگر لازم باشد، می‌تواند یک نجات دهنده باشد».
اولین چهار پارامتر عدد صحیح در ثبّاتهای، ebx, ecx و edx منتقل می‌شوند. پارامترهای اعشاری به پشته اعشاری منتقل می‌شوند - ثبّاتهای st0، st1، st2، st3، st4، st5 و st6. پارامترهای ساختاری همیشه به پشته منتقل می‌شوند. پارامترهای اضافی پس از خروج ثبّاتها به پشته منتقل می‌شوند. مقادیر عدد صحیح در eax، نشانگرها در edx و انواع اعداد اعشاری در st0 بازگرداننده می‌شوند.
در Delphi و Free Pascal روی ویندوز مایکروسافت، قرارداد فراخوانی امن رسیدگی خطای (COM (Component Object Model را بسته‌بندی می‌کند، به این ترتیب استثناها به فراخوانی‌کننده نفوذ نمی‌کنند، اما در مقدار بازگشت HRESULT گزارش می‌شوند، همان‌طور که COM / OLE درخواست داده‌است. در هنگام فراخوانی یک تابعِ safecall از کد دلفی، دلفی به صورت خودکار HRESULT را بررسی می‌کند و در صورت لزوم استثنا را مطرح می‌کند.
قرارداد فراخوانی امن با قرارداد فراخوانی stdcall یکسان است، به جز اینکه آن استثناها به فراخوانی‌کننده در EAX به عنوان یک HResult (به جای در [FS:[0 ) منتقل می‌شوند، در حالی که نتیجه تابع توسط مرجع در پشته( هرچند آن پارامتر نهایی «خارج» باشد ) منتقل می‌شود. هنگام فراخوانی یک تابع دلفی از دلفی، این فراخوانی درست مثل هر قرارداد فراخوانی دیگر ظاهر می‌شود، زیرا هرچند استثنائات در EAX منتقل می‌شوند، آن‌ها به‌طور خودکار به وسیلهٔ فراخوانی‌کننده به حالت استثناء مناسب تبدیل می‌شوند. هنگام استفاده از اشیاء COM که در زبان‌های دیگر ایجاد شده‌است، HResults به صورت خودکار به عنوان استثنا مطرح می‌شود و نتیجه برای دریافت توابع در آن نتیجه است نه یک پارامتر. هنگام ایجاد اشیاء COM در دلفی با استفاده از safecall، نیازی به نگرانی در مورد HResults وجود ندارد، زیرا استثنائات می‌توانند به عنوان نرمال مطرح شوند اما به عنوان HResults در سایر زبان‌ها دیده می‌شود.
function function_name(a: DWORD): DWORD; safecall;
function function_name(a: DWORD; out Result: DWORD): HResult; stdcall;
این قرارداد فراخوانی برای فراخوانی توابع عضو غیر استاتیک C ++ استفاده می‌شود. دو نسخه اصلی از thiscall بسته به نوع کامپایلر استفاده می‌شود و اینکه آیا این تابع از یک متغیر عددی از آرگومان‌ها، استفاده می‌کند یا خیر.
برای کامپایلر GCC، قرارداد thiscall تقریباً با cdecl یکسان است :تماس گیرنده پشته را پاک می‌کند، و پارامترها با ترتیب راست به چپ منتقل می‌شوند. تفاوت در اضافه کردن اشاره گر this است که آخرین چیزی است که به پشته منتقل می‌شود، به شرط اینکه اولین پارامتر در نمونه اولیه تابع(function prototype) باشد.
در کامپایلر مایکروسافت ویژوال سی + +، اشاره گر this در ECX منتقل می‌شود و آن "فراخوانی شونده است" که "پشته را" پاک می‌کند، که منعکس کردن قرارداد stdcall مورد استفاده در C برای این کامپایلر و در توابع API ویندوز است. وقتی توابع از یک متغیر عددی از آرگومان‌ها استفاده می‌کنند، فراخوانی‌کننده است که پشته را پاک می‌کند ( cf. cdecl ).
قرارداد فراخوانی thiscall فقط می‌تواند در Microsoft Visual C ++ 2005 به صراحت مشخص شود. در هر کامپایلر دیگر "thiscall" یک کلمه کلیدی نیست. (با این حال، disassembler‌ها، مانند IDA، باید آن را مشخص کنند؛ بنابراین IDA از کلید واژه "thiscall__" برای this استفاده می‌کند)
بخشی دیگر از یک قرارداد فراخوانی این است که کدام یک از ثبّاتها تضمین می‌کنند که بعد از فراخوانی فرعی، مقادیر خود را حفظ کنند.
با توجه به اینتل ABI که اکثریت کامپایلرها با آن مطابقت دارد، EAX, EDX و ECX برای استفاده در یک فرایند یا تابع آزاد هستند و لازم نیست که حفظ شوند
همان‌طور که از نامش بر می‌آید، این ثبّاتهای همه منظوره معمولاً اطلاعات موقت (بی‌ثبات) را نگه می‌دارد که می‌تواند توسط هر تابع رونویسی شود.
بنابراین، این مسئولیت تماس گیرنده است که هر یک از این ثبّاتها را بر روی پشته قرار دهد، اگر مایل به بازگرداندن مقادیر خود پس از فراخوانی فرعی باشد.
دیگر ثبّات‌ها برای نگهداری مقادیر طولانی مدت (غیرقابل تغییر) استفاده می‌شود که باید در فراخوانی‌ها حفظ شود.
به عبارت دیگر، هنگامی که فراخوانی‌کننده روند فراخوانی را اجرا می‌کند، می‌تواند انتظار داشته باشد که آن ثبّاتها پس از بازگشت از فراخوانی شده، همان مقدار را نگه داشته‌اند.
بنابراین، فراخوانی شده مسئول هر دو کارِ ذخیره (قراردادن در پشته در ابتدا) و بازیابی (برداشتن از پشته به ترتیب) آنها، قبل از بازگشت به تماس گیرنده، می‌شود. همان‌طور که در مورد قبلی، این تمرین فقط باید در ثبّاتی انجام شود که فراخوانی شده آن را تغییر می‌دهد.
قراردادهای فراخوانی x86-64 از فضای اضافی ثبّات برای انتقال آرگومان‌های بیشتر در ثبّات‌ها بهره می‌برد. همچنین تعداد قرادادهای فراخوانی ناسازگار کاهش یافته‌است. دو مورد استفادهٔ رایج وجود دارد.
قرادادهای فراخوانی مایکروسافت x64 در Windows و pre-boot UEFI (برای حالت طولانی در x86-64) دنبال می‌شود. این با استفاده از رشته‌های RCX, RDX, R8، R9 برای چهار آرگومان عدد صحیح یا اشاره گر اول (به همان ترتیب) است و XMM0، XMM1، XMM2، XMM3 برای آرگومان‌های اعشاری استفاده می‌شود. آرگومان‌های اضافی به پشته (از چپ به راست) اضافه می‌شوند. مقادیر بازگشتی از نوع عدد صحیح (شبیه به x86) در RAX اگر ۶۴ بیت یا کمتر برگرداننده می‌شوند. مقادیر بازگشتی اعشاری در XMM0 بازگردانده می‌شوند. پارامترهایی که کمتر از ۶۴ بیت طول دارند، با صفر بسط داده نشده‌اند؛ بیت‌های بالا صفر نیستند.
هنگام کامپایل کردن معماری x64 در یک زمینه ویندوز (چه با استفاده از ابزارهای مایکروسافت یا غیر مایکروسافت)، فقط یک قراداد فراخوانی وجود دارد - همان‌طور که در اینجا توضیح داده شده‌است، به طوری که stdcall, thiscall, cdecl, fastcall و … در حال حاضر همه یکی و یکسان هستند.
در قراداد فراخوانی مایکروسافت x64، مسئولیت تماس گیرنده است که دقیقاً قبل از فراخوانی تابع (صرف نظر از تعداد واقعی پارامترهای مورد استفاده) ۳۲ بایت از فضای سایه(shadow space) را در پشته اختصاص داده و از پشته را بعد از فراخوانی بردارد. فضای سایه برای ریختن RCX, RDX, R8، و R9، استفاده می‌شود اما باید تمام توابع، حتی آن‌هایی که با کمتر از چهار پارامتر هستند، را در دسترس بسازد.
ثبّاتهای RAX, RCX, RDX, R8، R9، R10، R11 فرار هستند (ذخیره شده توسط فراخوانی کننده).
ثبّاتهای RBX, RBP, RDI, RSI, RSP, R12، R13، R14 و R15 به عنوان غیر فرار (ذخیره شده توسط فراخوانی شده) محسوب می‌شوند.
به عنوان مثال، یک تابع که ۵ آرگومان عدد صحیح می‌گیرد، اولین تا چهارم را در ثبّاتها می‌گیرد، و پنجم در بالای فضای سایه قرار می‌دهد؛ بنابراین هنگامی که تابع فراخوانی شده وارد می‌شود، پشته از (به ترتیب صعودی) آدرس برگشتی، و سپس فضای سایه (۳۲ بایت) و پارامتر پنجم تشکیل می‌شود.
در x86-64 ویژوال استودیو ۲۰۰۸ اعداد اعشاری را در XMM6 و XMM7 (و همچنین XMM8 از طریق XMM15) ذخیره می‌کند. به این ترتیب، برای x86-64، تابع زبان اسمبلیِ نوشته شده توسط کاربر باید XMM6 و XMM7 را حفظ کند (در مقایسه با x86 که در آن نیازی نیست تابع زبان اسمبلیِ نوشته شده توسط کاربر XMM6 و XMM7 را حفظ کند). به عبارت دیگر، تابع زبان اسمبلیِ نوشته شده توسط کاربر باید برای ذخیره / بازگرداندن XMM6 و XMM7 قبل / بعد از تابع در هنگام حمل از x86 به x86-64 به روز شود.
مایکروسافت با شروع از ویژوال استودیو ۲۰۱۳، قرارداد فراخوانی vectorcall__ را معرفی کرد که قرارداد x64 را گسترش می‌دهد.
قرارداد فراخوانی System V AMD64 ABI در Solaris، Linux، FreeBSD، macOS دنبال می‌شود و عملاً استانداردی در میان سیستم عامل‌های شبه یونیکس و یونیکس است. اولین شش آرگومان عدد صحیح یا اشاره گر در RDI, RSI, RDX, RCX, R8، R9 ثبت می‌شوند (R10 به عنوان یک نشانگر زنجیره ای استاتیک در مورد توابع توزیع شدهMichael Matz, Jan Hubička, Andreas Jaeger, Mark Mitchell, Milind Girkar, Hongjiu Lu, David Kreitzer, Vyacheslav Zakharin, eds. (2013-07-17). "System V Application Binary Interface: AMD64 Architecture Processor Supplement (With LP64 and ILP32 Programming Models)" (PDF). 1.0.CS1 maint: Uses editors parameter ()<templatestyles src="Module:Citation/CS1/en/styles.css"></templatestyles> )، در حالی که XMM0، XMM1، XMM2، XMM3، XMM4، XMM5، XMM6 و XMM7 برای برخی از آرگومان‌های اعشاری استفاده می‌شود. همان‌طور که در قرارداد فراخوانی مایکروسافت x64، آرگومان‌های اضافی به پشته منتقل می‌شوند . مقادیر بازگشتی صحیح تا ۶۴ بیت در اندازه در RAX ذخیره می‌شوند در حالی که مقادیری تا ۱۲۸ بیت در RAX و RDX ذخیره می‌شوند. مقادیر بازگشتی اعشاری به‌طور مشابه در XMM0 و XMM1 ذخیره می‌شود. .
اگر فراخوانی شده مایل به استفاده از ثبّاتهای RBX, RBP، و R12-R15 باشد، باید قبل از بازگشت کنترل به دست تماس گیرنده، مقادیر اصلی خود را بازگردانی کند. در صورت تمایل فراخوانی‌کننده به حفظ مقادیر خود، تمام ثبّاتهای دیگر باید توسط تماس گیرنده ذخیره شوند.
برای توابع گره برگ (توابع که هیچ تابع دیگری را فراخوانی نمی‌کند)، یک فضای ۱۲۸ بایت فقط در زیر اشاره گر پشته تابع ذخیره می‌شود. فضا به نام منطقه قرمز نامیده می‌شود. این منطقه توسط هر سیگنال یا مدیریت کنندگان وقفه (interrupt handlers) خراب نخواهد شد. کامپایلرها می‌توانند از این منطقه برای ذخیره متغیرهای محلی استفاده کنند. کامپایلرها ممکن است برخی از دستورالعمل‌ها را در شروع عملیات (تنظیم RSP, RBP) با استفاده از این منطقه حذف کنند. با این حال، سایر توابع می‌توانند این منطقه را خراب کنند؛ بنابراین، این منطقه فقط باید برای توابع گره برگ استفاده شود. codice_1 و codice_2 پرچمِ codice_3 را برای غیرفعال کردن بهینه‌سازی قرمز منطقه ارائه دادند.
اگر فراخوانی شده یک تابع varadic باشد، سپس تعداد آرگومان‌های اعشاری که به تابع در ثبّاتهای برداری منتقل می‌شود، باید توسط فراخوانی‌کننده در ثبّات AL ارائه شود.
برخلاف قرارداد فراخوانی مایکروسافت، فضای سایه ارائه نشد؛ در ورودی تابع، آدرس بازگشتی مجاورِ عدد صحیح هفتم در پشته است.
این لیستی از قراردادهای فراخوانی x86 است. این قراردادها عمدتاً برای کامپایلرهای C / C ++ (به ویژه بخش ۶۴ بیتی در زیر) تعریف شده‌اند و در نتیجه موارد بسیار خاصی در نظر گرفته شده‌است. زبان‌های دیگر ممکن است از فرمت‌ها و قراردادهای دیگر در پیاده‌سازی خود استفاده کنند.
Milind Girkar, Hongjiu Lu, David Kreitzer, Vyacheslav Zakharin, eds. (2013-07-17). "System V Application Binary Interface: AMD64 Architecture Processor Supplement (With LP64 and ILP32 Programming Models)" (PDF). 1.0.CS1 maint: Uses editors parameter ()<templatestyles src="Module:Citation/CS1/en/styles.css"></templatestyles>"x86-64 Code Model". "Mac Developer Library". Apple Inc. Archived from the original on 2016-03-10. Retrieved 2016-04-06. <q>The x86-64 environment in OS X has only one code model for user-space code. It is most similar to the small PIC model defined by the x86-64 System V ABI.</q><templatestyles src="Module:Citation/CS1/en/styles.css"></templatestyles>
کامپایلر گنو برای جاوا (به انگلیسی: GNU) (GCJ) یک کامپایلر رایگان برای زبان برنامه‌نویسی جاوا است. برای بیش از ده سال بخشی از مجموعه کامپایلر گنو بود اما از سال ۲۰۱۷ دیگر حفظ نخواهد شد و بخشی از انتشارات آینده نخواهد بود.
GCJ کد منبع جاوا را به بایت کد ماشین مجازی جاوا یا به کد ماشین برای تعدادی از معماری‌های پردازنده کامپایل می‌کند. همچنین می‌تواند فایل‌های کلاس و JARهای کامل را که حاوی بایت کد هستند به کد ماشین کامپایل کند.http://www.linuxjournal.com/article/4860http://freecode.com/projects/gcj
منبع اصلی کتابخانه‌های زمان اجرای GCJ از پروژه GNU Classpath است، اما بین کتابخانه‌های codice_1 تفاوت کدی وجود دارد. GCJ 4.3 از کامپایلر Eclipse برای جاوا به عنوان یک جلو-عقب (به انگلیسی: back-end) استفاده می‌کند.
در سال ۲۰۰۷، برای پیاده‌سازی پشتیبانی برای دو API گرافیکی در جاوا Classpath GNU: AWT و Swing، کارهای زیادی انجام شد. پشتیبانی نرم‌افزاری برای AWT هنوز در حال توسعه است. "زمانی که پشتیبانی از AWT کار بکند، پشتیبانی از Swing می‌تواند مورد توجه قرار گیرد. حداقل یک پیاده سازی نرم افزاری جزئی رایگان از Swing وجود دارد که ممکن است قابل استفاده باشد. ".پرسش و پاسخ GCJ GNU CLASSPATH حتی به وضعیت جاوا ۱٫۲ هم تکمیل نشد و اکنون به نظر می‌رسد به‌طور کامل رها شده‌است.
از سال ۲۰۱۵، هیچ پیشرفت جدیدی از GCJ اعلام نشده و محصول در حالت نگهداری بود.GCC به نظر می‌رسد برای غیرفعال کردن جاوا، جایگزینی با برو یا ADA GCJ در تاریخ ۳۰ سپتامبر ۲۰۱۶ از تنه GCC حذف شد. اطلاعیه حذف آن همزمان با انتشار GCC 7.1، که شامل آن نیست، داده شد. GCJ به عنوان بخشی از GCC 6 باقی مانده‌است.
تابع کامپایل در GCJ هنگام کامپایل کد جاوا به کد ماشین باید زمان شروع سریعتری نسبت به بایت کد معادل اجرا شده در JVM داشته باشد
رابط بومی کامپایل شده (به انگلیسی: Compiled Native Interface) ، که قبلا "رابط بومی سیگنوس (به انگلیسی: Cygnus Native Interface)" نام گذاری شده بود، یک فریم ورک نرم‌افزاری (به انگلیسی: ) برای GCJ است که اجازه می‌دهد تا کد جاوا برنامه‌های بومی و کتابخامه‌های زبان ++C را فراخوانی کند یا توسط آنها فراخوانده شود. برای پاسخ، می‌شود و به نام‌های، برنامه‌های بومی (برنامه‌های خاص به یک پلت فرم سخت‌افزار و سیستم عامل) و کتابخانه‌ها در C ++ نوشته شده‌است.
CNI بسیار شبیه فریم ورک JNI (رابط بومی جاوا) است که به عنوان یک استاندارد با ماشین‌های مجازی جاوا می‌آید.
نویسندگان CNI مدعی مزایای زیادی نسبت به JNI هستند:پرسش و پاسخ GCJ - پروژه گنو - بنیاد نرمافزار آزاد (FSF)
CNI به کلاسهای Java بستگی دارد که به عنوان کلاس‌های C ++ ظاهر می‌شوند. به عنوان مثال،مثال: از https://gcc.gnu.org/onlinedocs/gcj/Objects-and-Classes.html#Objects- و- Classes با توجه به کلاس جاوا زیر،
کپسول آندوسکوپی یک روش برای ضبط تصاویر داخلی دستگاه گوارش به منظور مقاصد تشخیصی در حوزه پزشکی است. کپسول (مانند یک قرص رادیویی) مشابه با یک کپسول دارویی استاندارد است، اگر چه کمی بزرگ‌تر است و دارای یک دوربین کوچک و مجموعه ای از LEDهایی است که توسط یک باتری تغذیه شده‌اند. پس از آنکه بیمار کپسول را فرو ببرد، این کپسول از مسیر دستگاه گوارش عبور می‌کند و در هر ثانیه تعدادی عکس برداری انجام می‌دهد سپس تصاویر به صورت بی‌سیم به یک آرایه گیرنده متصل به یک دستگاه پرتابل ضبط کننده که توسط بیمار قابل حمل است منتقل می‌شود. استفاده عمده از کپسول آندوسکوپی به معاینه و مشاهده مناطق روده کوچک مربوط می‌شود. نکته مهم این است که این نواحی توسط انواع دیگر آندوسکوپی مانند کولونوسکوپی یا ازوفاگوگاسترودئودنوسکوپی (EGD)دیده نمی‌شود.
Esophagogastroduodenoscopy)EGِD)، یک دوربین متصل به یک لوله انعطاف‌پذیر طولانی است که برای مشاهده قسمت فوقانی دستگاه گوارش، یعنی مری، معده و آغاز قسمت ابتدایی روده کوچک به نام دوازدهه به کار می‌رود. همچنین به وسیله یک کولونوسکوپ وارد شده از طریق رکتوم (مقعد) می‌توان کولون (روده بزرگ) و قسمت دیستال روده کوچک و همچنین ترمینال ایلئوم را مشاهده کرد. با این حال این دو نوع آندوسکوپی نمی‌تواند اکثر بخش‌های میانی روده کوچک را نمایان سازد. کپسول آندوسکوپی همچنین برای بررسی قسمت‌هایی از دستگاه گوارش مورد استفاده قرار می‌گیرد که نمی‌تواند با سایر انواع آندوسکوپی دیده شود. این روش تصویربرداری وقتی که بیمار در روده کوچک خود مشکوک به بیماری است مفید واقع می‌شود و همچنین می‌تواند گاهی اوقات برای پیدا کردن محل خونریزی گوارشی یا علت درد ناگهانی شکم مانند بیماری کرون استفاده شود. با این حال، بر خلاف EGD یا کولونوسکوپی، نمی‌توان این روش را برای درمان آسیب‌شناسی (پاتولوژی) مورد استفاده قرار داد. دلایل متداول برای استفاده از کپسول آندوسکوپی عبارتند از تشخیص خونریزی غیرقابل توضیح، کمبود آهن یا درد شکمی، جستجو برای پولیپ، زخم و تومور روده کوچک و تشخیص بیماری التهابی روده. تصاویری که توسط دوربین مینیاتوری در طول یک جلسه جمع‌آوری می‌شوند، به صورت بی‌سیم به یک گیرنده خارجی که توسط بیمار پوشیده شده‌است، فرستاده می‌شود. این ارتباط بی‌سیم به واسطه هریک از باندهای مناسب فرکانسی صورت می‌گیرد. سپس تصاویر جمع‌آوری شده برای نمایش، بررسی و تشخیص به یک کامپیوتر منتقل می‌شوند. از یک سیگنال فرکانس رادیویی به منظور تعیین مکان دقیق کپسول و ردیابی آن به‌طور زنده و لحظه ای در داخل بدن و دستگاه گوارش استفاده می‌شود. هنوز مشخص نیست که آیا کپسول آندوسکوپی می‌تواند جایگزینی برای گاستروسکوپی در مورد افرادی که بیماری سیروز دارند، محسوب شود یا خیر.
از سال ۲۰۱۵ تعدادی از تولیدکنندگان وجود دارد. این تکنولوژی در ابتدا توسط گابی ایدان(Gabi Iddan) و پل سعین(Paul Swain)، با اولین قرص در سال ۱۹۹۷ فروخته شد؛ Iddan شرکت را تأسیس کرد و توانست تصویب FDA را در سال 2001 بگیرد.
کپسول آندوسکوپی به عنوان یک روش بسیار امن برای تعیین علت نامعلوم خونریزی دستگاه گوارش در نظر گرفته می‌شود. کپسول معمولاً در طی ۲۴–۴۸ ساعت با مدفوع دفع می‌شود. گزارش شده‌است که باقی ماندن کپسول در بدن تقریباً چهار و نیم سال با وجود هیچ گونه علامتی در بدن بیمار می‌تواند ادامه داشته باشد. با این وجود، خطر انسداد روده را می‌توان با اشعه ایکس بر روی نواحی شکم تشخیص داد و کپسول باقی مانده را به کمک جراحی یا آندوسکوپی (به کمک گیره‌ها و بازوهای تعبیه شده) از بدن شخص خارج سازند.