Pamstack User Manual(0) Pamstack User Manual(0)

pamstack - روی هم چیدن صفحه‌های چند تصویر PAM در یک تصویر PAM

pamstack [-tupletype tupletype] [-firstmaxval,-lcmmaxval] [inputfilespec ...]

همه گزینه‌ها را می‌توان به کوتاه‌ترین پیشوند یکتای آن‌ها مخفف کرد. می‌توانید به جای یک خط تیره از دو خط تیره استفاده کنید. همچنین می‌توانید یک گزینه را با فاصله به جای = از مقدارش جدا کنید.

این برنامه بخشی از Netpbm(1) است.

برنامه pamstack چند تصویر PAM یا PNM را به عنوان ورودی می‌خواند و یک تصویر PAM را به عنوان خروجی تولید می‌کند که شامل تمام صفحه‌ها (کانال‌های) ورودی‌ها است که به ترتیبِ مشخص‌شده روی هم چیده شده‌اند.

همچنین می‌تواند صرفاً نوع تاپل (tuple type) یک تصویر PAM منفرد را تغییر دهد.

برای هر یک (و نه بیش از یکی) از فایل‌های ورودی، می‌توانید "-" را به معنای ورودی استاندارد مشخص کنید. اگر هیچ آرگومانی مشخص نکنید، ورودی یک فایل خواهد بود: ورودی استاندارد.

ابعاد خروجی همانند ورودی‌ها است، با این تفاوت که عمق (depth) برابر با مجموع عمق‌های ورودی‌ها خواهد بود. اگر تمام ورودی‌ها یکسان باشند، مقدار maxval نیز همانند ورودی‌ها خواهد بود، و در غیر این صورت توسط -firstmaxval و -lcmmaxval کنترل می‌شود. نوع تاپل یک رشته تهی است مگر اینکه گزینه -tupletype را مشخص کنید.

اگر ورودی‌ها همگی عرض و ارتفاع یکسانی نداشته باشند، pamstack با شکست مواجه می‌شود. همچنین اگر همه آن‌ها maxval یکسانی نداشته باشند، با شکست مواجه می‌شود، مگر اینکه -firstmaxval یا -lcmmaxval را مشخص کنید.

برنامه pamstack با جریان‌های چندتصویری (multi-image streams) کار می‌کند. این برنامه اولین تصویر در تمام جریان‌ها را در یک تصویر خروجی (اولین تصویر در جریان خروجی) روی هم می‌چیند، سپس دومین تصویر در تمام جریان‌ها را در دومین تصویر در جریان خروجی روی هم می‌چیند، و به همین ترتیب ادامه می‌دهد تا زمانی که یکی از جریان‌ها به پایان برسد. این فرآیند شبیه به یک عمل ماتریسی است.

پیش از Netpbm نسخه 10.32 (فوریه ۲۰۰۶)، pamstack تمام تصاویر به‌جز اولین تصویر در هر جریان ورودی را نادیده می‌گرفت.

دستور pamchannel عکسِ کارِ pamstack را انجام می‌دهد: این دستور صفحه‌های مجزا را از یک PAM منفرد استخراج می‌کند.

از pamtopnm(1) برای تبدیل یک تصویر PAM مناسب به یک تصویر سنتی‌تر PNM (شامل PBM، PGM، یا PPM) استفاده کنید. (البته نیازی به انجام این کار نیست اگر می‌خواهید آن را به یک برنامه مدرن Netpbm بدهید -- همه آن‌ها ورودی PAM مناسب را مستقیماً می‌پذیرند).

یک مثال از استفاده از pamstack این است که برخی از برنامه‌های Netpbm یک PAM را به عنوان ورودی می‌پذیرند که تصویر گرافیکی را با اطلاعات شفافیت (transparency) نشان می‌دهد. به عنوان مثال در یک تصویر رنگی، این یک PAM با نوع تاپل "RGB_ALPHA" خواهد بود. در Netpbm، چنین تصاویری به طور سنتی در قالب دو تصویر نمایش داده می‌شدند - یک PPM برای رنگ و یک PGM برای شفافیت. برای تبدیل یک جفت PPM/PGM به ورودی PAM(RGB_ALPHA) که برنامه‌های جدیدتر به آن نیاز دارند، کاری شبیه به این انجام دهید:


$ pamstack -tupletype=RGB_ALPHA myimage.ppm myalpha.pgm | \
      pamtouil >myimage.uil

علاوه بر گزینه‌های مشترک بین تمامی برنامه‌های مبتنی بر libnetpbm (به‌ویژه -quiet، به گزینه‌های مشترک (Common Options) مراجعه کنید)، pamstack گزینه‌های خط فرمان زیر را به رسمیت می‌شناسد:

این گزینه نام نوع تاپل (tuple type name) را که باید در خروجی ثبت شود مشخص می‌کند. می‌توانید از هر رشته‌ای تا ۲۵۵ نویسه استفاده کنید. برخی برنامه‌ها نام‌های خاصی را می‌شناسند. اگر این گزینه را نادیده بگیرید، نام پیش‌فرض نوع تاپل تهی (null) خواهد بود.
این گزینه مشخص می‌کند که maxval خروجی برابر با maxval اولین تصویر ورودی قرار گیرد؛ برنامه در صورت لزوم مقادیر نمونه‌های (sample values) سایر تصاویر را مقیاس‌بندی می‌کند.

به‌طور پیش‌فرض، pamstack نیازمند آن است که همه تصاویر ورودی maxval یکسانی داشته باشند. اگر این‌گونه نباشد، برنامه با شکست مواجه می‌شود.

نمی‌توانید این گزینه را همراه با -lcmmaxval مشخص کنید.

این گزینه در Netpbm نسخه 11.03 (ژوئن ۲۰۲۳) اضافه شده است.

این گزینه مشخص می‌کند که maxval خروجی برابر با کوچک‌ترین مضرب مشترک (ک.م.م / LCM) مقادیر maxval تصاویر ورودی باشد، که در صورت فراتر رفتن LCM از ۶۵۵۳۵، به ۶۵۵۳۵ محدود می‌شود؛ برنامه در صورت لزوم مقادیر نمونه‌های سایر تصاویر را مقیاس‌بندی می‌کند.

به‌طور پیش‌فرض، pamstack نیازمند آن است که همه تصاویر ورودی maxval یکسانی داشته باشند. اگر این‌گونه نباشد، برنامه با شکست مواجه می‌شود.

نمی‌توانید این گزینه را همراه با -firstmaxval مشخص کنید.

این گزینه در Netpbm نسخه 11.03 (ژوئن ۲۰۲۳) اضافه شده است.

pam(1) pamchannel(1)

pamstack در Netpbm نسخه 10.0 (ژوئن ۲۰۰۲) معرفی شد.

این صفحه راهنما توسط ابزار Netpbm به نام 'makeman' از منبع HTML تولید شده است. مستندات اصلی در نشانی زیر قرار دارد:

http://netpbm.sourceforge.net/doc/pamstack.html
18 May 2023 netpbm documentation