\ .\" This man page was generated by the Netpbm tool 'makeman' from HTML source. .\" Do not hand-hack it! If you have bug fixes or improvements, please find .\" the corresponding HTML page on the Netpbm website, generate a patch .\" against that, and send it to the Netpbm maintainer. .TH "Pamlookup User Manual" 0 "25 July 2015" "netpbm documentation" .SH "نام (NAME)" pamlookup \- نگاشت یک تصویر به تصویری جدید با استفاده از آن به عنوان نمایه در یک جدول جستجو .UN synopsis .SH "خلاصه دستور (SYNOPSIS)" \fBpamlookup\fP \fB-lookupfile=\fP\fIlookupfile\fP [\fB-byplane\fP] \fB-missingcolor=\fP\fIcolor\fP [\fB-fit\fP] \fIindexfile\fP .PP تمام گزینه‌ها را می‌توان به کوتاه‌ترین پیشوند یکتای آن‌ها خلاصه کرد. می‌توانید به جای یک خط تیره از دو خط تیره استفاده کنید. همچنین می‌توانید نام یک گزینه و مقدار آن را به جای علامت مساوی با یک نویسه فاصله (white space) جدا نمایید. .UN description .SH "توضیحات (DESCRIPTION)" .PP این برنامه بخشی از .BR "Netpbm" (1)\c \& است. .PP برنامهٔ \fBpamlookup\fP یک آرایهٔ دو بعدی از نمایه‌ها (اندیس‌ها) و یک جدول جستجو (lookup table) را به عنوان ورودی دریافت می‌کند. برای هر موقعیت مکانی در آرایهٔ نمایه، مقدار نمایه را در جدول جستجو می‌یابد و نتیجهٔ جستجو را در تصویر خروجی قرار می‌دهد. دو روش برای نمایه‌گذاری جدول جستجو وجود دارد: \fIچندتایی کامل (whole tuple)\fP و \fIبر پایهٔ صفحه (by plane)\fP. گزینهٔ \fB-byplane\fP تعیین می‌کند که \fBpamlookup\fP از کدام روش استفاده کند. .PP در ساده‌ترین شکل نمایه‌گذاری چندتایی کامل، هر نمایه در آرایهٔ نمایه یک عدد صحیح نامنفی (حسابی) منفرد است و جدول جستجو یک چندتایی کامل را به هر نمایهٔ عددی ممکن مرتبط می‌سازد. بنابراین برای مثال، آرایهٔ نمایه ممکن است در سطر ۲، ستون ۹ دارای مقدار ۲۳ باشد. جدول جستجو ممکن است چندتایی (1,2,3) را به مقدار ۲۳ اختصاص دهد. در این صورت، تصویر خروجی در سطر ۲، ستون ۹ شامل چندتایی (1,2,3) خواهد بود. .PP در شکل پیچیده‌تری از نمایه‌گذاری چندتایی کامل، هر نمایه در آرایهٔ نمایه یک جفت‌مرتب از اعداد صحیح نامنفی است و جدول جستجو یک چندتایی کامل را به هر نمایهٔ جفت‌مرتب ممکن مرتبط می‌سازد. با تغییر مثال بالا، مقدار نمایه به جای ۲۳ می‌تواند (23, 5) باشد. .PP با نمایه‌گذاری چندتایی کامل، تصویر خروجی دارای عرض و ارتفاع یکسانی با تصویر نمایه خواهد بود، و عمق، نوع و مقدار بیشینه (maxval) چندتایی توسط جدول جستجو تعیین می‌شود. .PP با نمایه‌گذاری چندتایی کامل، اگر تصویر نمایه دارای عمق ۱ باشد، مقادیر نمونه‌های آن نمایه‌های تک‌عددی صحیح هستند. اگر تصویر نمایه دارای عمق بیش از ۱ باشد، چندتایی‌های آن نمایه‌های جفت‌مرتب هستند که از نمونه‌های اول و دوم درون چندتایی تشکیل شده‌اند. .PP در نمایه‌گذاری بر پایهٔ صفحه، تصویر نمایه حاوی نمایه‌های عددی صحیح است. هر نمونه در تصویر نمایه یک نمایه به شمار می‌رود. جدول جستجو هر نمایهٔ عددی صحیح را به یک عدد صحیح دیگر نگاشت می‌کند. \fBpamlookup\fP مقدار نمونه را در هر سطر، ستون و صفحه از تصویر نمایه، در جدول جستجو پیدا کرده و از عدد حاصل به عنوان مقدار نمونه برای همان سطر، ستون و صفحه در خروجی استفاده می‌کند. .PP با نمایه‌گذاری بر پایهٔ صفحه، خروجی دارای همان ابعاد تصویر نمایه و همان maxval تصویر جستجو خواهد بود. .UN lookupimage .SS "تصویر جدول جستجو (The Lookup Table Image)" .PP جدول جستجو یک تصویر PAM یا PNM است. اگر تصویر نمایه حاوی نمایه‌های تک‌عددی صحیح باشد، تصویر جستجو یک تک‌سطر است و نمایه شمارهٔ ستون آن خواهد بود. نتیجهٔ جستجو، مقدار چندتایی یا پیکسلی است که در ستون مشخص‌شده از همان یک سطر جدول جستجو قرار دارد. اگر تصویر نمایه حاوی نمایه‌های جفت‌مرتب باشد، نخستین عنصر جفت‌مرتب شمارهٔ سطر و دومین عنصر جفت‌مرتب شمارهٔ ستون است. نتیجهٔ جستجو، مقدار چندتایی یا پیکسلی در سطر و ستون مشخص‌شده از جدول جستجو است. .PP عرض تصویر جستجو معمولاً باید برابر با مقدار بیشینه (maxval) تصویر نمایه به علاوهٔ یک باشد، تا هر مقدار نمونهٔ نمایه‌ای ممکن، با یک مدخل در جدول جستجو متناظر شود. دو روش وجود دارد که \fBpamlookup\fP با تصویر جستجویی که چنین عرضی ندارد برخورد می‌کند: .IP \(bu مقیاس‌بندی تصویر جستجو به عرض مورد نیاز. برنامهٔ \fBpamlookup\fP در نمایه‌گذاری بر پایهٔ صفحه همواره این کار را انجام می‌دهد، و در نمایه‌گذاری چندتایی کامل، زمانی که گزینهٔ \fB-fit\fP را مشخص کنید این کار را انجام خواهد داد. .IP \(bu استفاده از یک مقدار پیش‌فرض برای نمایه‌هایی که از عرض تصویر جستجو فراتر می‌روند، و نادیده گرفتن ستون‌های تصویر جستجو که فراتر از maxval تصویر نمایه هستند. برنامهٔ \fBpamlookup\fP در نمایه‌گذاری چندتایی کامل زمانی که \fB-fit\fP را تعیین نکنید، این کار را انجام می‌دهد. .sp مقدار پیش‌فرض را با گزینهٔ \fB-missingcolor\fP مشخص می‌کنید؛ مقدار پیش‌فرض آن، مقدار برگرفته از گوشهٔ بالا-چپ تصویر جستجو است. .PP در نمایه‌های جفت‌مرتب (که نمایه‌گذاری چندتایی کامل را ایجاب می‌کند)، همان قاعده که برای عرض اعمال شد برای ارتفاع تصویر نمایه نیز صدق می‌کند. .PP گزینهٔ اجباری \fB-lookupfile\fP فایلی را مشخص می‌کند که حاوی تصویر جدول جستجو است. علامت \fB-\fP به معنای ورودی استاندارد است. اگر هر دو فایل تصویر نمایه و جدول جستجو ورودی استاندارد باشند، برنامه کار نخواهد کرد. .PP می‌توانید از \fBppmmake\fP و \fBpamcat\fP برای ساخت فایل جدول جستجو استفاده کنید. .UN wholetuple .SS "مثال \- نمایه‌گذاری چندتایی کامل (Example - Whole Tuple Indexing)" .PP در اینجا مثالی از عملکرد \fBpamlookup\fP در نمایه‌گذاری چندتایی کامل (عدم تعیین \fB-byplane\fP) آورده شده است. .PP یک تصویر نمایه شامل یک PAM با ابعاد 3x2x1 را به صورت زیر در نظر بگیرید: .TS l l l. 0 1 0 2 2 2 .TE و یک جدول جستجو متشکل از یک تصویر PPM با ابعاد 3x1 به صورت زیر: .TS l l l. red yellow beige .TE جدول جستجوی بالا نشان می‌دهد که نمایهٔ 0 متناظر با رنگ قرمز (red)، نمایهٔ 1 متناظر با زرد (yellow)، و نمایهٔ 2 متناظر با بژ (beige) است. خروجی \fBpamlookup\fP تصویر PPM زیر خواهد بود: .TS l l l. red yellow red beige beige beige .TE .PP اکنون به مثالی از حالت پیچیده‌تر نگاهی بیندازیم که در آن نمایه‌ها به جای اعداد صحیح منفرد، جفت‌مرتب‌هایی از اعداد صحیح هستند. تصویر نمایهٔ ما این تصویر PAM با ابعاد 3x2x2 خواهد بود: .TS l l l. (0,0) (0,1) (0,0) (1,1) (1,0) (0,0) .TE جدول جستجوی ما برای این مثال این تصویر PPM دو بعدی خواهد بود: .TS l l l. red yellow red black green red .TE .UN byplane .SS "مثال \- نمایه‌گذاری بر پایهٔ صفحه (Example - By Plane Indexing)" .PP در اینجا مثالی از عملکرد \fBpamlookup\fP با نمایه‌گذاری چندتایی بر پایهٔ صفحه (با تعیین \fB-byplane\fP) آورده شده است. .PP یک تصویر نمایه شامل یک PAM با ابعاد 3x2x3 را به صورت زیر در نظر بگیرید: .TS l l l. (0,0,0) (1,0,0) (2,0,0) (2,2,0) (2,0,2) (2,0,0) .TE و یک جدول جستجو متشکل از یک تصویر PAM با ابعاد 3x1x1 و مقدار maxval برابر با 7 به صورت زیر: .TS l l l. 3 4 7 .TE جدول جستجوی بالا بیان می‌کند که نمایهٔ 0 متناظر با مقدار نمونهٔ 3، نمایهٔ 1 متناظر با 4، و نمایهٔ 2 متناظر با 7 است. خروجی \fBpamlookup\fP تصویر PAM با ابعاد 3x2x3 زیر خواهد بود: .TS l l l. (3,3,3) (4,3,3) (7,3,3) (7,7,3) (7,3,7) (7,3,3) .TE .UN misc .SS "متفرقه (Miscellaneous)" .PP آرگومان \fIindexfile\fP فایلی را مشخص می‌کند که حاوی تصویر نمایهٔ PAM یا PNM است. علامت \fB-\fP به معنای ورودی استاندارد است. اگر هم فایل تصویر نمایه و هم فایل جدول جستجو ورودی استاندارد باشند، برنامه کار نخواهد کرد. تصویر خروجی به خروجی استاندارد فرستاده می‌شود. .PP اگر می‌خواهید از دو تصویر تک‌صفحه‌ای مجزا به عنوان نمایه استفاده کنید (به گونه‌ای که خروجی شما ترکیب هر دو ورودی را بازتاب دهد)، از \fBpamstack\fP برای ترکیب آن دو در یک تصویر دوصفحه‌ای استفاده نمایید (و از یک تصویر جدول جستجوی دوبعدی بهره ببرید). .UN options .SH "گزینه‌ها (OPTIONS)" .PP علاوه بر گزینه‌های مشترک بین تمام برنامه‌های مبتنی بر libnetpbm (به‌ویژه \fB-quiet\fP، به .UR index.html#commonoptions گزینه‌های عمومی (Common Options) .UE \& مراجعه کنید)، \fBpamlookup\fP گزینه‌های خط فرمان زیر را می‌شناسد: .TP \fB-lookupfile=\fP\fIlookupfile\fP \fIlookupfile\fP نام فایلی را تعیین می‌کند که تصویر PAM یا PNM جدول جستجو در آن قرار دارد. تعیین این گزینه اجباری است. .TP \fB-byplane\fP این گزینه نمایه‌گذاری بر پایهٔ صفحه را انتخاب می‌کند. حالت پیش‌فرض، نمایه‌گذاری چندتایی کامل است. .sp این گزینه در Netpbm نسخهٔ 10.72 (سپتامبر 2015) جدید بود. پیش از آن، نمایه‌گذاری بر پایهٔ صفحه وجود نداشت. .TP \fB-missingcolor=\fP\fIcolor\fP این گزینه تنها زمانی معنادار است که تصویر جستجو (و در نتیجه خروجی) یک تصویر PNM باشد. \fIcolor\fP رنگی را تعیین می‌کند که هر جا نمایهٔ ورودی در جدول جستجو وجود نداشته باشد، در خروجی قرار می‌گیرد (وجود نداشتن یعنی نمایه از ابعاد تصویر جستجو فراتر رود \-\- مثلاً نمایه ۱۰۰ باشد اما تصویر جستجو یک PPM با ابعاد 50 x 1 باشد). .sp اگر این گزینه یا \fB-fit\fP را مشخص نکنید، \fBpamlookup\fP هر زمان که نمایه از ابعاد تصویر جستجو فراتر رود، از مقدار گوشهٔ بالا-چپ تصویر جستجو استفاده می‌کند. .sp رنگ (\fIcolor\fP) را همان‌طور که برای .UR libnetpbm_image.html#colorname آرگومان زیرروال کتابخانه‌ای \fBpnm_parsecolor()\fP .UE \& شرح داده شده است مشخص کنید. .sp روش دیگر برای برخورد با تصویر جستجوی بسیار کوچک، استفاده از گزینهٔ \fB-fit\fP است. .sp این گزینه در صورتی که \fB-fit\fP یا \fB-byplane\fP را نیز تعیین کنید هیچ اثری نخواهد داشت. .TP \fB-fit\fP این گزینه بیان می‌کند که تصویر جستجو بر اساس مقدار maxval تصویر نمایه، در صورت لزوم کوچک یا بزرگ شود تا با نمایه‌های موجود در تصویر نمایه مطابقت یابد. برای مثال، اگر تصویر نمایهٔ شما یک تک‌صفحه و maxval برابر با ۲۵۵ داشته باشد و تصویر جستجوی شما یک سطر از ۱۰ ستون باشد، \fBpamlookup\fP پیش از انجام جستجوها تصویر جستجوی شما را تا ۲۵۵ ستون می‌کشد. برنامهٔ \fBpamlookup\fP کشیدن (یا فشرده‌سازی) را با برنامهٔ .BR "\fBpamscale\fP" (1)\c \& انجام می‌دهد. .sp هنگامی که از \fB-fit\fP استفاده می‌کنید، \fBpamlookup\fP هرگز به دلیل ابعاد نامعتبر تصویر جستجو با شکست مواجه نشده و هشداری صادر نمی‌کند، و گزینهٔ \fB-missingcolor\fP هیچ اثری ندارد. .sp گزینهٔ \fB-fit\fP زمانی که \fB-byplane\fP را مشخص کنید اثری ندارد. \fBpamlookup\fP در زمان نمایه‌گذاری بر پایهٔ صفحه، همواره رفتاری مشابه رفتار درخواست‌شده با \fB-fit\fP را خواهد داشت. .UN examples .SH "مثال‌ها (EXAMPLES)" .SS "مثال: نقشهٔ بارش باران (Example: rainfall map)" .PP فرض کنید مجموعه‌ای از داده‌های بارندگی در یک تصویر PAM تک‌صفحه‌ای دارید. سطرها و ستون‌های تصویر PAM بیانگر عرض و طول جغرافیایی هستند. مقادیر نمونه‌ها میزان بارندگی سالانه به سانتی‌متر (کامل) هستند. بالاترین مقدار بارندگی در تصویر ۱۹۹ سانتی‌متر است. تصویر در فایل rainfall.pam قرار دارد. .PP شما می‌خواهید یک نقشهٔ بارش PPM با رنگ سبز برای پرباران‌ترین مکان‌ها، قرمز برای خشک‌ترین نقاط و رنگ‌های دیگر در این بین تولید کنید. .PP ابتدا یک تصویر جدول جستجو بسازید، احتمالاً با یک ویرایشگر گرافیکی و با بزرگ‌نمایی بسیار زیاد تصویر تا بتوانید روی تک‌تک پیکسل‌ها کار کنید. تصویر باید یک تک‌سطر و ۲۰۰ ستون داشته باشد. چپ‌ترین پیکسل را قرمز و راست‌ترین را سبز کنید و رنگ‌های مناسب را برای فواصل میان آن‌ها برگزینید. نام آن را colorkey.ppm بگذارید. .nf \f(CW pamlookup rainfall.pam -lookupfile=colorkey.ppm >rainfallmap.ppm \fP .fi .PP حالا فرض کنید حوصله ندارید ۲۰۰ مقدار رنگ را وارد کنید و برای کسی هم اهمیت چندانی ندارد مکان‌هایی که بیش از ۹۹ سانتی‌متر بارندگی سالانه دارند مشخص شوند. در این حالت، کافی است عرض colorkey.ppm را ۱۰۰ ستون در نظر بگیرید و این دستور را اجرا کنید: .nf \f(CW pamlookup rainfall.ppm -lookupfile=colorkey.ppm -missingcolor=black \e >rainfallmap.ppm \fP .fi اکنون اگر مناطقی وجود داشته باشند که بیش از ۱۰۰ سانتی‌متر بارندگی دارند، در خروجی صرفاً به رنگ سیاه نمایش داده خواهند شد. .SS "مثال: مقایسه تصویری (Example: graphical diff)" .PP فرض کنید می‌خواهید دو تصویر PBM (سیاه و سفید) را به صورت دیداری مقایسه کنید. هر تصویر شامل پیکسل‌های پیش‌زمینهٔ سیاه روی پس‌زمینهٔ سفید است. شما می‌خواهید تصویری بسازید که در نقاطی که هر دو تصویر دارای پس‌زمینه هستند، پس‌زمینه داشته باشد و در نقاطی که هر دو دارای پیش‌زمینه هستند، پیش‌زمینه داشته باشد. اما در جایی که تصویر شماره ۱ دارای پیکسل پیش‌زمینه است و تصویر شماره ۲ نیست، در خروجی رنگ قرمز می‌خواهید؛ و در جایی که تصویر شماره ۲ دارای پیکسل پیش‌زمینه است و تصویر شماره ۱ نیست، رنگ سبز می‌خواهید. .PP ابتدا، یک تصویر واحد می‌سازیم که حاوی اطلاعات هر دو تصویر ورودی PBM باشد: .nf \f(CW pamstack image1.pbm image2.pbm >bothimages.pam \fP .fi توجه داشته باشید که این تصویر در هر مکان دارای یکی از ۴ مقدار چندتایی ممکن است: (0,0)، (0,1)، (1,0) یا (1,1). .PP اکنون، یک جدول جستجو می‌سازیم که بتوانیم با آن ۴ مقدار، درون آن جستجو کنیم: .nf \f(CW ppmmake white 1 1 >white.ppm ppmmake black 1 1 >black.ppm ppmmake red 1 1 >red.ppm ppmmake green 1 1 >green.ppm pamcat -leftright black.ppm red.ppm >blackred.ppm pamcat -leftright green.ppm white.ppm >greenwhite.ppm pamcat -topbottom blackred.ppm greenwhite.ppm >lookup.ppm \fP .fi .PP در نهایت، نمایه‌ها را از نمایهٔ خود در جدول جستجو پیدا کرده و خروجی را تولید می‌کنیم: .nf \f(CW pamlookup bothimages.ppm -lookupfile=lookup.ppm >imagediff.ppm \fP .fi .UN seealso .SH "همچنین ببینید (SEE ALSO)" .BR "pamunlookup" (1)\c \&، .BR "pnmremap" (1)\c \&، .BR "ppmmake" (1)\c \&، .BR "pamcat" (1)\c \&، .BR "pamstack" (1)\c \&، .BR "pnm" (1)\c \&، .BR "pam" (1)\c \& .UN history .SH "تاریخچه (HISTORY)" .PP برنامهٔ \fBpamlookup\fP در Netpbm نسخهٔ 10.13 (دسامبر 2002) جدید بود. .SH "منبع مستندات (DOCUMENT SOURCE)" این صفحه راهنما توسط ابزار Netpbm تحت عنوان 'makeman' از منبع HTML تولید شده است. مستندات اصلی در آدرس زیر قرار دارد: .IP .B http://netpbm.sourceforge.net/doc/pamlookup.html .PP