From 1fd361a1ea06e44286c213ca1f814f49306fdc43 Mon Sep 17 00:00:00 2001 From: giraffedata Date: Sat, 19 Aug 2006 03:12:28 +0000 Subject: Create Subversion repository git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- vms/Add_List.com | 59 + vms/Make_PBMplus.com | 519 ++ vms/Make_PBMplusShr.com | 280 ++ vms/NetPBM.TeX | 12115 ++++++++++++++++++++++++++++++++++++++++++++++ vms/PBMplus.hlp | 6814 ++++++++++++++++++++++++++ vms/RGB.txt | 738 +++ vms/SetUp.com | 37 + vms/stamp-date.com | 25 + 8 files changed, 20587 insertions(+) create mode 100755 vms/Add_List.com create mode 100755 vms/Make_PBMplus.com create mode 100755 vms/Make_PBMplusShr.com create mode 100644 vms/NetPBM.TeX create mode 100644 vms/PBMplus.hlp create mode 100644 vms/RGB.txt create mode 100755 vms/SetUp.com create mode 100755 vms/stamp-date.com (limited to 'vms') diff --git a/vms/Add_List.com b/vms/Add_List.com new file mode 100755 index 00000000..830cfc96 --- /dev/null +++ b/vms/Add_List.com @@ -0,0 +1,59 @@ +$ VERIFY = F$Verify (0) +$! +$! ADD_LIST.COM command procedure +$! Usage: +$! ADD_LIST library file_spec [logical_name_table] +$! +$! Last Modified: 18-JAN-1991 Rick Dyson +$! +$! Escape routes +$ On Control_Y Then GoTo FINISH +$ On Error Then GoTo FINISH +$ On Warning Then GoTo FINISH +$ On Severe Then GoTo FINISH +$! +$! We're out'a here if the calling parameter is null +$ P2 = F$Edit (P2, "TRIM, UPCASE") +$ If P2 .eqs. "" Then GoTo FINISH +$! +$! Check logical name table argument and default if necessary. +$! +$ TABLE = F$Edit (P3, "UNCOMMENT, UPCASE, TRIM") +$ If (TABLE .eqs. "PROCESS") +$ Then +$ Else If (TABLE .eqs. "GROUP") +$ Then +$ Else If (TABLE .eqs. "JOB") +$ Then +$ Else If (TABLE .eqs. "SYSTEM") +$ Then +$ Else +$ TABLE = "Process" +$ EndIf +$ EndIf +$ EndIf +$ EndIf +$! +$! Check the first value in the library list +$ LIB = P1 +$ X = F$TrnLnm (LIB, "LNM$''TABLE'") +$ If X .eqs. "" Then GoTo INSERT +$ If X .eqs. P2 Then GoTo FINISH +$! +$! Find the first free logical to assign the library file to +$ BASE = P1 + "_" +$ N = 1 +$NEXTLIB: +$ LIB := 'BASE''N' +$ X = F$TrnLnm (LIB, "LNM$''TABLE'") +$ If X .eqs. "" Then GoTo INSERT +$ If X .eqs. P2 Then GoTo FINISH +$ N = N + 1 +$ GoTo NEXTLIB +$! +$! Add the library file to the library file list +$INSERT: +$ Define /'TABLE' 'LIB' 'P2' +$FINISH: +$ VERIFY = F$Verify (VERIFY) +$ Exit diff --git a/vms/Make_PBMplus.com b/vms/Make_PBMplus.com new file mode 100755 index 00000000..d3243d96 --- /dev/null +++ b/vms/Make_PBMplus.com @@ -0,0 +1,519 @@ +$ If F$Mode () .eqs. "INTERACTIVE" +$ Then +$ VERIFY = F$Verify (0) +$ Else +$ VERIFY = F$Verify (1) +$ EndIf +$ THIS_PATH = F$Element (0, "]", F$Environment ("PROCEDURE")) + "]" +$ Set Default 'THIS_PATH' +$! +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) + ".]" +$ Define /NoLog /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ Define /NoLog PBMplus_Dir PBMplus_Root:[000000] +$ Define /NoLog PBMplusShr PBMplus_Dir:PBMplusShr +$ @ PBMplus_Dir:STAMP-DATE.COM +$ Purge /NoLog /NoConfirm COMPILE.H +$! +$! Make the Shareable Library +$! +$ Set Default PBMplus_Root:[pbm] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PBM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ CC /NOLIST/OBJECT=LIBPBM1.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] LIBPBM1.C +$ CC /NOLIST/OBJECT=LIBPBM2.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] LIBPBM2.C +$ CC /NOLIST/OBJECT=LIBPBM3.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] LIBPBM3.C +$ CC /NOLIST/OBJECT=LIBPBM4.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] LIBPBM4.C +$ CC /NOLIST/OBJECT=LIBPBM5.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] LIBPBM5.C +$ Library /Create libpbm.olb libpbm%.obj +$ Set Default PBMplus_Root:[pgm] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PGM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ CC /NOLIST/OBJECT=LIBPGM1.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) LIBPGM1.C +$ CC /NOLIST/OBJECT=LIBPGM2.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) LIBPGM2.C +$ Library /Create libpgm.olb libpgm%.obj +$ Set Default PBMplus_Root:[ppm] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PPM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ CC /NOLIST/OBJECT=LIBPPM1.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) LIBPPM1.C +$ CC /NOLIST/OBJECT=LIBPPM2.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) LIBPPM2.C +$ CC /NOLIST/OBJECT=LIBPPM3.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) LIBPPM3.C +$ CC /NOLIST/OBJECT=LIBPPM4.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) LIBPPM4.C +$ CC /NOLIST/OBJECT=LIBPPM5.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) LIBPPM5.C +$ CC /NOLIST/OBJECT=BITIO.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) BITIO.C +$ Library /Create libppm.olb libppm%.obj,bitio.obj +$ Set Default PBMplus_Root:[pnm] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PNM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ CC /NOLIST/OBJECT=LIBPNM1.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) LIBPNM1.C +$ CC /NOLIST/OBJECT=LIBPNM2.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) LIBPNM2.C +$ CC /NOLIST/OBJECT=LIBPNM3.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) LIBPNM3.C +$ CC /NOLIST/OBJECT=LIBPNM4.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) LIBPNM4.C +$ Library /Create libpnm.olb libpnm%.obj +$ Set Default PBMplus_Dir +$ @ PBMplus_Dir:MAKE_PBMplusShr.COM +$! +$! PBM +$! +$ Set Default PBMplus_Root:[pbm] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PBM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ CC /NOLIST/OBJECT=ATKTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] ATKTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=ATKTOPBM.EXE ATKTOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=BRUSHTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] BRUSHTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=BRUSHTOPBM.EXE BRUSHTOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=CMUWMTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] CMUWMTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=CMUWMTOPBM.EXE CMUWMTOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=G3TOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] G3TOPBM.C +$ LINK /TRACE/NOMAP/EXEC=G3TOPBM.EXE G3TOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=GEMTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] GEMTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=GEMTOPBM.EXE GEMTOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=ICONTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] ICONTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=ICONTOPBM.EXE ICONTOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=MACPTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] MACPTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=MACPTOPBM.EXE MACPTOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=MGRTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] MGRTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=MGRTOPBM.EXE MGRTOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMLIFE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMLIFE.C +$ LINK /TRACE/NOMAP/EXEC=PBMLIFE.EXE PBMLIFE.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMMAKE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMMAKE.C +$ LINK /TRACE/NOMAP/EXEC=PBMMAKE.EXE PBMMAKE.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMMASK.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMMASK.C +$ LINK /TRACE/NOMAP/EXEC=PBMMASK.EXE PBMMASK.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMREDUCE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMREDUCE.C +$ LINK /TRACE/NOMAP/EXEC=PBMREDUCE.EXE PBMREDUCE.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTEXT.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTEXT.C +$ LINK /TRACE/NOMAP/EXEC=PBMTEXT.EXE PBMTEXT.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTO10X.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTO10X.C +$ LINK /TRACE/NOMAP/EXEC=PBMTO10X.EXE PBMTO10X.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTO4425.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTO4425.C +$ LINK /TRACE/NOMAP/EXEC=PBMTO4425.EXE PBMTO4425.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOASCII.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOASCII.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOASCII.EXE PBMTOASCII.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOATK.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOATK.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOATK.EXE PBMTOATK.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOBBNBG.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOBBNBG.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOBBNBG.EXE PBMTOBBNBG.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOCMUWM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOCMUWM.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOCMUWM.EXE PBMTOCMUWM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOEPSON.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOEPSON.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOEPSON.EXE PBMTOEPSON.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOG3.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOG3.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOG3.EXE PBMTOG3.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOGEM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOGEM.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOGEM.EXE PBMTOGEM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOGO.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOGO.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOGO.EXE PBMTOGO.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOICON.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOICON.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOICON.EXE PBMTOICON.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOLJ.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOLJ.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOLJ.EXE PBMTOLJ.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOMACP.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOMACP.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOMACP.EXE PBMTOMACP.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOMGR.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOMGR.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOMGR.EXE PBMTOMGR.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOPI3.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOPI3.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOPI3.EXE PBMTOPI3.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOPLOT.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOPLOT.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOPLOT.EXE PBMTOPLOT.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOPTX.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOPTX.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOPTX.EXE PBMTOPTX.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOX10BM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOX10BM.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOX10BM.EXE PBMTOX10BM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOXBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOXBM.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOXBM.EXE PBMTOXBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOYBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOYBM.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOYBM.EXE PBMTOYBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOZINC.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOZINC.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOZINC.EXE PBMTOZINC.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMUPC.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMUPC.C +$ LINK /TRACE/NOMAP/EXEC=PBMUPC.EXE PBMUPC.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PI3TOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PI3TOPBM.C +$ LINK /TRACE/NOMAP/EXEC=PI3TOPBM.EXE PI3TOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=XBMTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] XBMTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=XBMTOPBM.EXE XBMTOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=YBMTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] YBMTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=YBMTOPBM.EXE YBMTOPBM.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOLN03.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOLN03.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOLN03.EXE PBMTOLN03.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMCLEAN.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMCLEAN.C +$ LINK /TRACE/NOMAP/EXEC=PBMCLEAN.EXE PBMCLEAN.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMPSCALE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMPSCALE.C +$ LINK /TRACE/NOMAP/EXEC=PBMPSCALE.EXE PBMPSCALE.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOEPSI.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOEPSI.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOEPSI.EXE PBMTOEPSI.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOLPS.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOLPS.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOLPS.EXE PBMTOLPS.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PBMTOPK.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOPK.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOPK.EXE PBMTOPK.obj,PBMplusSHR/Option +$ CC /NOLIST/OBJECT=PKTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PKTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=PKTOPBM.EXE PKTOPBM.obj,PBMplusSHR/Option +$ Set Protection = (System:RWE, Owner:RWE, Group:RE, World:RE) *.exe +$! +$! PGM +$! +$ Set Default PBMplus_Root:[pgm] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PGM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ CC /NOLIST/OBJECT=ASCIITOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) ASCIITOPGM.C +$ LINK /TRACE/NOMAP/EXEC=ASCIITOPGM.EXE ASCIITOPGM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=FSTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) FSTOPGM.C +$ LINK /TRACE/NOMAP/EXEC=FSTOPGM.EXE FSTOPGM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=HIPSTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) HIPSTOPGM.C +$ LINK /TRACE/NOMAP/EXEC=HIPSTOPGM.EXE HIPSTOPGM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=LISPMTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) LISPMTOPGM.C +$ LINK /TRACE/NOMAP/EXEC=LISPMTOPGM.EXE LISPMTOPGM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMBENTLEY.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMBENTLEY.C +$ LINK /TRACE/NOMAP/EXEC=PGMBENTLEY.EXE PGMBENTLEY.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMCRATER.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMCRATER.C +$ LINK /TRACE/NOMAP/EXEC=PGMCRATER.EXE PGMCRATER.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMEDGE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMEDGE.C +$ LINK /TRACE/NOMAP/EXEC=PGMEDGE.EXE PGMEDGE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMENHANCE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMENHANCE.C +$ LINK /TRACE/NOMAP/EXEC=PGMENHANCE.EXE PGMENHANCE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMHIST.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMHIST.C +$ LINK /TRACE/NOMAP/EXEC=PGMHIST.EXE PGMHIST.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMKERNEL.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMKERNEL.C +$ LINK /TRACE/NOMAP/EXEC=PGMKERNEL.EXE PGMKERNEL.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMNOISE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMNOISE.C +$ LINK /TRACE/NOMAP/EXEC=PGMNOISE.EXE PGMNOISE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMNORM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMNORM.C +$ LINK /TRACE/NOMAP/EXEC=PGMNORM.EXE PGMNORM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMOIL.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMOIL.C +$ LINK /TRACE/NOMAP/EXEC=PGMOIL.EXE PGMOIL.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMRAMP.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMRAMP.C +$ LINK /TRACE/NOMAP/EXEC=PGMRAMP.EXE PGMRAMP.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMTOFS.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMTOFS.C +$ LINK /TRACE/NOMAP/EXEC=PGMTOFS.EXE PGMTOFS.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMTOLISPM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMTOLISPM.C +$ LINK /TRACE/NOMAP/EXEC=PGMTOLISPM.EXE PGMTOLISPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMTOPBM.C +$ LINK /TRACE/NOMAP/EXEC=PGMTOPBM.EXE PGMTOPBM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PSIDTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PSIDTOPGM.C +$ LINK /TRACE/NOMAP/EXEC=PSIDTOPGM.EXE PSIDTOPGM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=RAWTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) RAWTOPGM.C +$ LINK /TRACE/NOMAP/EXEC=RAWTOPGM.EXE RAWTOPGM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMTEXTURE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMTEXTURE.C +$ LINK /TRACE/NOMAP/EXEC=PGMTEXTURE.EXE PGMTEXTURE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=BIORADTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) BIORADTOPGM.C +$ LINK /TRACE/NOMAP/EXEC=BIORADTOPGM.EXE BIORADTOPGM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PBMTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PBMTOPGM.C +$ LINK /TRACE/NOMAP/EXEC=PBMTOPGM.EXE PBMTOPGM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=SPOTTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) SPOTTOPGM.C +$ LINK /TRACE/NOMAP/EXEC=SPOTTOPGM.EXE SPOTTOPGM.obj,[-]PBMplusSHR.OPT/Option +$ Set Protection = (System:RWE, Owner:RWE, Group:RE, World:RE) *.exe +$! +$! PPM +$! +$ Set Default PBMplus_Root:[ppm] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PPM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ CC /NOLIST/OBJECT=GOULDTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) GOULDTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=GOULDTOPPM.EXE GOULDTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=HPCDTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) HPCDTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=HPCDTOPPM.EXE HPCDTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=ILBMTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) ILBMTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=ILBMTOPPM.EXE ILBMTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=IMGTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) IMGTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=IMGTOPPM.EXE IMGTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=MTVTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) MTVTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=MTVTOPPM.EXE MTVTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PCXTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PCXTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=PCXTOPPM.EXE PCXTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PGMTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PGMTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=PGMTOPPM.EXE PGMTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PI1TOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PI1TOPPM.C +$ LINK /TRACE/NOMAP/EXEC=PI1TOPPM.EXE PI1TOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PICTTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PICTTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=PICTTOPPM.EXE PICTTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PJTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PJTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=PJTOPPM.EXE PJTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPM3D.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPM3D.C +$ LINK /TRACE/NOMAP/EXEC=PPM3D.EXE PPM3D.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMCHANGE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMCHANGE.C +$ LINK /TRACE/NOMAP/EXEC=PPMCHANGE.EXE PPMCHANGE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMDIM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMDIM.C +$ LINK /TRACE/NOMAP/EXEC=PPMDIM.EXE PPMDIM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMDITHER.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMDITHER.C +$ LINK /TRACE/NOMAP/EXEC=PPMDITHER.EXE PPMDITHER.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMFLASH.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMFLASH.C +$ LINK /TRACE/NOMAP/EXEC=PPMFLASH.EXE PPMFLASH.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMFORGE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMFORGE.C +$ LINK /TRACE/NOMAP/EXEC=PPMFORGE.EXE PPMFORGE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMHIST.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMHIST.C +$ LINK /TRACE/NOMAP/EXEC=PPMHIST.EXE PPMHIST.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMMAKE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMMAKE.C +$ LINK /TRACE/NOMAP/EXEC=PPMMAKE.EXE PPMMAKE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMMIX.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMMIX.C +$ LINK /TRACE/NOMAP/EXEC=PPMMIX.EXE PPMMIX.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMQUANT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMQUANT.C +$ LINK /TRACE/NOMAP/EXEC=PPMQUANT.EXE PPMQUANT.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMRELIEF.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMRELIEF.C +$ LINK /TRACE/NOMAP/EXEC=PPMRELIEF.EXE PPMRELIEF.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMSHIFT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMSHIFT.C +$ LINK /TRACE/NOMAP/EXEC=PPMSHIFT.EXE PPMSHIFT.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMSPREAD.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMSPREAD.C +$ LINK /TRACE/NOMAP/EXEC=PPMSPREAD.EXE PPMSPREAD.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOACAD.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOACAD.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOACAD.EXE PPMTOACAD.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOGIF.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOGIF.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOGIF.EXE PPMTOGIF.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOICR.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOICR.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOICR.EXE PPMTOICR.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOILBM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOILBM.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOILBM.EXE PPMTOILBM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOMITSU.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOMITSU.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOMITSU.EXE PPMTOMITSU.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOPCX.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPCX.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOPCX.EXE PPMTOPCX.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOPGM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPGM.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOPGM.EXE PPMTOPGM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOPI1.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPI1.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOPI1.EXE PPMTOPI1.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOPICT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPICT.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOPICT.EXE PPMTOPICT.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOPJ.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPJ.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOPJ.EXE PPMTOPJ.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOPUZZ.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPUZZ.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOPUZZ.EXE PPMTOPUZZ.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTORGB3.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTORGB3.C +$ LINK /TRACE/NOMAP/EXEC=PPMTORGB3.EXE PPMTORGB3.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOSIXEL.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOSIXEL.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOSIXEL.EXE PPMTOSIXEL.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOTGA.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOTGA.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOTGA.EXE PPMTOTGA.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOUIL.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOUIL.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOUIL.EXE PPMTOUIL.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOXPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOXPM.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOXPM.EXE PPMTOXPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOYUV.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOYUV.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOYUV.EXE PPMTOYUV.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=QRTTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) QRTTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=QRTTOPPM.EXE QRTTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=RAWTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) RAWTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=RAWTOPPM.EXE RAWTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=RGB3TOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) RGB3TOPPM.C +$ LINK /TRACE/NOMAP/EXEC=RGB3TOPPM.EXE RGB3TOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=SLDTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) SLDTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=SLDTOPPM.EXE SLDTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=SPCTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) SPCTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=SPCTOPPM.EXE SPCTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=SPUTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) SPUTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=SPUTOPPM.EXE SPUTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=TGATOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) TGATOPPM.C +$ LINK /TRACE/NOMAP/EXEC=TGATOPPM.EXE TGATOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=XIMTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) XIMTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=XIMTOPPM.EXE XIMTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=XPMTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) XPMTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=XPMTOPPM.EXE XPMTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=XVMINITOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) XVMINITOPPM.C +$ LINK /TRACE/NOMAP/EXEC=XVMINITOPPM.EXE XVMINITOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=YUVTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) YUVTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=YUVTOPPM.EXE YUVTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=BMPTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) BMPTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=BMPTOPPM.EXE BMPTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMBRIGHTEN.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMBRIGHTEN.C +$ LINK /TRACE/NOMAP/EXEC=PPMBRIGHTEN.EXE PPMBRIGHTEN.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMDIST.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMDIST.C +$ LINK /TRACE/NOMAP/EXEC=PPMDIST.EXE PPMDIST.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMQVGA.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMQVGA.C +$ LINK /TRACE/NOMAP/EXEC=PPMQVGA.EXE PPMQVGA.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOBMP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOBMP.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOBMP.EXE PPMTOBMP.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOMAP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOMAP.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOMAP.EXE PPMTOMAP.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOPJXL.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPJXL.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOPJXL.EXE PPMTOPJXL.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMTOYUVSPLIT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOYUVSPLIT.C +$ LINK /TRACE/NOMAP/EXEC=PPMTOYUVSPLIT.EXE PPMTOYUVSPLIT.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=YUVSPLITTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) YUVSPLITTOPPM.C +$ LINK /TRACE/NOMAP/EXEC=YUVSPLITTOPPM.EXE YUVSPLITTOPPM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PPMPAT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMPAT.C +$ LINK /TRACE/NOMAP/EXEC=PPMPAT.EXE PPMPAT.obj,[-]PBMplusSHR.OPT/Option +$ Set Protection = (System:RWE, Owner:RWE, Group:RE, World:RE) *.exe +$ Set Default PBMplus_Root:[libtiff] +$ Define /NoLog Sys Sys$Library +$ CC /NOLIST/OBJECT=MKG3STATES.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize mkg3states.c +$ Define /User_Mode LNK$Library Sys$Library:VAXCRTL +$ LINK /TRACE/NOMAP/EXEC=MKG3STATES.EXE mkg3states +$ Define /User_Mode Sys$Output g3states.h +$ Run mkg3states.exe +$ CC /NOLIST/OBJECT=TIF_FAX3.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_FAX3.C +$ CC /NOLIST/OBJECT=TIF_FAX4.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_FAX4.C +$ CC /NOLIST/OBJECT=TIF_AUX.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_AUX.C +$ CC /NOLIST/OBJECT=TIF_CCITTRLE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_CCITTRLE.C +$ CC /NOLIST/OBJECT=TIF_CLOSE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_CLOSE.C +$ CC /NOLIST/OBJECT=TIF_COMPRESS.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_COMPRESS.C +$ CC /NOLIST/OBJECT=TIF_DIR.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_DIR.C +$ CC /NOLIST/OBJECT=TIF_DIRINFO.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_DIRINFO.C +$ CC /NOLIST/OBJECT=TIF_DIRREAD.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_DIRREAD.C +$ CC /NOLIST/OBJECT=TIF_DIRWRITE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_DIRWRITE.C +$ CC /NOLIST/OBJECT=TIF_DUMPMODE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_DUMPMODE.C +$ CC /NOLIST/OBJECT=TIF_ERROR.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_ERROR.C +$ CC /NOLIST/OBJECT=TIF_GETIMAGE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_GETIMAGE.C +$ CC /NOLIST/OBJECT=TIF_JPEG.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_JPEG.C +$ CC /NOLIST/OBJECT=TIF_FLUSH.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_FLUSH.C +$ CC /NOLIST/OBJECT=TIF_LZW.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_LZW.C +$ CC /NOLIST/OBJECT=TIF_MACHDEP.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_MACHDEP.C +$ CC /NOLIST/OBJECT=TIF_NEXT.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_NEXT.C +$ CC /NOLIST/OBJECT=TIF_OPEN.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_OPEN.C +$ CC /NOLIST/OBJECT=TIF_PACKBITS.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_PACKBITS.C +$ CC /NOLIST/OBJECT=TIF_PRINT.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_PRINT.C +$ CC /NOLIST/OBJECT=TIF_READ.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_READ.C +$ CC /NOLIST/OBJECT=TIF_STRIP.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_STRIP.C +$ CC /NOLIST/OBJECT=TIF_SWAB.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_SWAB.C +$ CC /NOLIST/OBJECT=TIF_THUNDER.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_THUNDER.C +$ CC /NOLIST/OBJECT=TIF_TILE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_TILE.C +$ CC /NOLIST/OBJECT=TIF_VERSION.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_VERSION.C +$ CC /NOLIST/OBJECT=TIF_VMS.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_VMS.C +$ CC /NOLIST/OBJECT=TIF_WARNING.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_WARNING.C +$ CC /NOLIST/OBJECT=TIF_WRITE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_WRITE.C +$ If "''F$Search ("libtiff.olb")'" .eqs. "" Then Library /Create libtiff.olb +$ Delete /NoConfirm /NoLog mkg3states.obj; +$ Library /Replace libtiff.olb *.obj +$! +$! PNM +$! +$ Set Default PBMplus_Root:[pnm] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PNM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ CC /NOLIST/OBJECT=PNMALIAS.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMALIAS.C +$ LINK /TRACE/NOMAP/EXEC=PNMALIAS.EXE PNMALIAS.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMARITH.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMARITH.C +$ LINK /TRACE/NOMAP/EXEC=PNMARITH.EXE PNMARITH.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMCAT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMCAT.C +$ LINK /TRACE/NOMAP/EXEC=PNMCAT.EXE PNMCAT.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMCONVOL.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMCONVOL.C +$ LINK /TRACE/NOMAP/EXEC=PNMCONVOL.EXE PNMCONVOL.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMCROP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMCROP.C +$ LINK /TRACE/NOMAP/EXEC=PNMCROP.EXE PNMCROP.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMCUT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMCUT.C +$ LINK /TRACE/NOMAP/EXEC=PNMCUT.EXE PNMCUT.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMDEPTH.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMDEPTH.C +$ LINK /TRACE/NOMAP/EXEC=PNMDEPTH.EXE PNMDEPTH.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMENLARGE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMENLARGE.C +$ LINK /TRACE/NOMAP/EXEC=PNMENLARGE.EXE PNMENLARGE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMFILE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMFILE.C +$ LINK /TRACE/NOMAP/EXEC=PNMFILE.EXE PNMFILE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMFLIP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMFLIP.C +$ LINK /TRACE/NOMAP/EXEC=PNMFLIP.EXE PNMFLIP.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMHISTMAP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMHISTMAP.C +$ LINK /TRACE/NOMAP/EXEC=PNMHISTMAP.EXE PNMHISTMAP.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMINVERT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMINVERT.C +$ LINK /TRACE/NOMAP/EXEC=PNMINVERT.EXE PNMINVERT.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMNORAW.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMNORAW.C +$ LINK /TRACE/NOMAP/EXEC=PNMNORAW.EXE PNMNORAW.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMNTSC.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMNTSC.C +$ LINK /TRACE/NOMAP/EXEC=PNMNORAW.EXE PNMNORAW.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMNTSC.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMNTSC.C +$ LINK /TRACE/NOMAP/EXEC=PNMNTSC.EXE PNMNTSC.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMPASTE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMPASTE.C +$ LINK /TRACE/NOMAP/EXEC=PNMPASTE.EXE PNMPASTE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMSCALE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMSCALE.C +$ LINK /TRACE/NOMAP/EXEC=PNMSCALE.EXE PNMSCALE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMTILE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTILE.C +$ LINK /TRACE/NOMAP/EXEC=PNMTILE.EXE PNMTILE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMTODDIF.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTODDIF.C +$ LINK /TRACE/NOMAP/EXEC=PNMTODDIF.EXE PNMTODDIF.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMTOFITS.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTOFITS.C +$ LINK /TRACE/NOMAP/EXEC=PNMTOFITS.EXE PNMTOFITS.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=FITSTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) FITSTOPNM.C +$ LINK /TRACE/NOMAP/EXEC=FITSTOPNM.EXE FITSTOPNM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMTOPS.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTOPS.C +$ LINK /TRACE/NOMAP/EXEC=PNMTOPS.EXE PNMTOPS.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMTORAST.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTORAST.C +$ LINK /TRACE/NOMAP/EXEC=PNMTORAST.EXE PNMTORAST.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMTOXWD.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTOXWD.C +$ LINK /TRACE/NOMAP/EXEC=PNMTOXWD.EXE PNMTOXWD.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=RASTTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) RASTTOPNM.C +$ LINK /TRACE/NOMAP/EXEC=RASTTOPNM.EXE RASTTOPNM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=XWDTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) XWDTOPNM.C +$ LINK /TRACE/NOMAP/EXEC=XWDTOPNM.EXE XWDTOPNM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=GIFTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) GIFTOPNM.C +$ LINK /TRACE/NOMAP/EXEC=GIFTOPNM.EXE GIFTOPNM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMCOMP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMCOMP.C +$ LINK /TRACE/NOMAP/EXEC=PNMCOMP.EXE PNMCOMP.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMTOSGI.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTOSGI.C +$ LINK /TRACE/NOMAP/EXEC=PNMTOSGI.EXE PNMTOSGI.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=SGITOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) SGITOPNM.C +$ LINK /TRACE/NOMAP/EXEC=SGITOPNM.EXE SGITOPNM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMTOSIR.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTOSIR.C +$ LINK /TRACE/NOMAP/EXEC=PNMTOSIR.EXE PNMTOSIR.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=SIRTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) SIRTOPNM.C +$ LINK /TRACE/NOMAP/EXEC=SIRTOPNM.EXE SIRTOPNM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMNLFILT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMNLFILT.C +$ LINK /TRACE/NOMAP/EXEC=PNMNLFILT.EXE PNMNLFILT.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMPAD.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMPAD.C +$ LINK /TRACE/NOMAP/EXEC=PNMPAD.EXE PNMPAD.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=ZEISSTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) ZEISSTOPNM.C +$ LINK /TRACE/NOMAP/EXEC=ZEISSTOPNM.EXE ZEISSTOPNM.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMGAMMA.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMGAMMA.C +$ LINK /TRACE/NOMAP/EXEC=PNMGAMMA.EXE PNMGAMMA.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMROTATE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMROTATE.C +$ LINK /TRACE/NOMAP/EXEC=PNMROTATE.EXE PNMROTATE.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMSHEAR.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMSHEAR.C +$ LINK /TRACE/NOMAP/EXEC=PNMSHEAR.EXE PNMSHEAR.obj,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=TIFFTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF,"BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) tifftopnm.c +$ LINK /TRACE/NOMAP/EXEC=TIFFTOPNM.EXE tifftopnm,[-.libtiff]libtiff.olb/Library,[-]PBMplusSHR.OPT/Option +$ CC /NOLIST/OBJECT=PNMTOTIFF.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF,"BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) pnmtotiff.c +$ LINK /TRACE/NOMAP/EXEC=PNMTOTIFF.EXE pnmtotiff,[-.libtiff]libtiff.olb/Library,[-]PBMplusSHR.OPT/Option +$ Set Protection = (System:RWE, Owner:RWE, Group:RE, World:RE) *.exe +$! +$! Install the binaries in a separate directory +$! +$ Set Default PBMplus_Dir +$ If F$Parse ("PBMplus_Root:[Exe]") .eqs. "" Then Create /Directory PBMplus_Root:[Exe] +$ Set Default PBMplus_Root:[PBM] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PBM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ Set Protection = (System:RWE, Owner:RWED, Group:RE, World:RE) *.exe +$ Rename /Log *.exe PBMplus_Root:[Exe] +$ Set Protection = Owner:RWE PBMplus_Root:[Exe]*.exe +$ Set Default PBMplus_Root:[PGM] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PGM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ Set Protection = (System:RWE, Owner:RWED, Group:RE, World:RE) *.exe +$ Rename /Log *.exe PBMplus_Root:[Exe] +$ Set Protection = Owner:RWE PBMplus_Root:[Exe]*.exe +$ Set Default PBMplus_Root:[PPM] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PPM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ Set Protection = (System:RWE, Owner:RWED, Group:RE, World:RE) *.exe +$ Rename /Log *.exe PBMplus_Root:[Exe] +$ Set Protection = Owner:RWE PBMplus_Root:[Exe]*.exe +$ Set Default PBMplus_Root:[PNM] +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PNM" + ".]" +$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then Define PBMplus_Dir PBMplus_Root:[000000] +$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library +$ Set Protection = (System:RWE, Owner:RWED, Group:RE, World:RE) *.exe +$ Rename /Log *.exe PBMplus_Root:[Exe] +$ Set Protection = Owner:RWE PBMplus_Root:[Exe]*.exe +$! +$! Build the VMS Help Library +$! +$ Set Default PBMplus_Dir +$ Library /Create /Help PBMPLUS.HLB PBMPLUS.HLP +$ Set File /Truncate PBMPLUS.HLB +$ Exit diff --git a/vms/Make_PBMplusShr.com b/vms/Make_PBMplusShr.com new file mode 100755 index 00000000..8e43efb9 --- /dev/null +++ b/vms/Make_PBMplusShr.com @@ -0,0 +1,280 @@ +$! +$! Make shareable image out of PBMPLUS libraries. This command procedure +$! takes no arguments, but must be placed in the top-level PBMPLUS directory. +$! +$! It uses the following input library files: +$! +$! [.PBM]LIBPBM.OLB,[.PGM]LIBPGM.OLB,[.PPM]LIBPPM.OLB,[.PNM]LIBPNM.OLB +$! +$! This procedure generates the following files if missing or out-of-date: +$! +$! TRANSVEC.OBJ Object file containing transfer vector for PBMPLUSSHR. +$! PBMPLUSSHR.EXE Shareable image file for PBM libraries. +$! PBMPLUSSHR.OPT Linker options file for linking utility program against +$! the PBMPLUSSHR.EXE shareable image. +$! +$ instruct = 0 +$ proc = f$environment("PROCEDURE") +$ proc_cdt = f$cvtime(f$file(proc,"CDT")) +$ if f$search("TRANSVEC.OBJ") .EQS. "" THEN GOTO NEW_TRANSVEC +$ if f$cvtime(f$file("TRANSVEC.OBJ","CDT")) .GTS. PROC_CDT THEN GOTO TRANSVEC_DONE +$ NEW_TRANSVEC: +$ instruct = 1 +$ Write SYS$Output "Making new transvec.obj..." +$ Macro /NoList /Object = TRANSVEC.OBJ Sys$Input +; PMBPLUS_TRANSFER_VECTOR +; This routine defines a transfer vector for use in creating shareable image +; +; define macro to make transfer vector entry for a given routine. Entry mask +; is obtained from routine we are transfering to. Jump to word past entry +; since these are VAX procedures (written in FORTRAN). +; + .MACRO TRANSFER_ENTRY routine +; + .TRANSFER routine + .MASK routine + JMP routine + 2 +; + .ENDM TRANSFER_ENTRY +; + .TITLE PBMPLUS_TRANSFER_VECTOR + .IDENT /01/ + .PSECT PBMPLUS_XVEC PIC,USR,CON,REL,LCL,SHR,EXE,RD,NOWRT,NOVEC +; +; Simply go through iap procedures and declare transfer vector +; entry points for them. New procedure must be added to the END +; of this list. +; +TRANSFER_VECTOR: +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;Library LIBPBM +;Module ARGPROC + TRANSFER_ENTRY BACKGROUND_PROCESS + TRANSFER_ENTRY GETOPT + TRANSFER_ENTRY GETREDIRECTION + TRANSFER_ENTRY SET_OUTFILE_BINARY + +;Module LIBPBM1 + TRANSFER_ENTRY PBM_INIT + TRANSFER_ENTRY PM_ALLOCARRAY + TRANSFER_ENTRY PM_ALLOCROW + TRANSFER_ENTRY PM_BITSTOMAXVAL + TRANSFER_ENTRY PM_CLOSE + TRANSFER_ENTRY PM_ERROR + TRANSFER_ENTRY PM_FREEARRAY + TRANSFER_ENTRY PM_FREEROW + TRANSFER_ENTRY PM_INIT + TRANSFER_ENTRY PM_KEYMATCH + TRANSFER_ENTRY PM_MAXVALTOBITS + TRANSFER_ENTRY PM_MESSAGE + TRANSFER_ENTRY PM_OPENR + TRANSFER_ENTRY PM_OPENW + TRANSFER_ENTRY PM_PERROR + TRANSFER_ENTRY PM_READBIGLONG + TRANSFER_ENTRY PM_READBIGSHORT + TRANSFER_ENTRY PM_READLITTLELONG + TRANSFER_ENTRY PM_READLITTLESHORT + TRANSFER_ENTRY PM_USAGE + TRANSFER_ENTRY PM_WRITEBIGLONG + TRANSFER_ENTRY PM_WRITEBIGSHORT + TRANSFER_ENTRY PM_WRITELITTLELONG + TRANSFER_ENTRY PM_WRITELITTLESHORT + TRANSFER_ENTRY PM_READ_UNKNOWN_SIZE + +;Module LIBPBM2 + TRANSFER_ENTRY PBM_READMAGICNUMBER + TRANSFER_ENTRY PBM_READPBM + TRANSFER_ENTRY PBM_READPBMINIT + TRANSFER_ENTRY PBM_READPBMINITREST + TRANSFER_ENTRY PBM_READPBMROW + +;Module LIBPBM3 + TRANSFER_ENTRY PBM_WRITEPBM + TRANSFER_ENTRY PBM_WRITEPBMINIT + TRANSFER_ENTRY PBM_WRITEPBMROW + +;Module LIBPBM4 + TRANSFER_ENTRY PBM_GETC + TRANSFER_ENTRY PBM_GETINT + TRANSFER_ENTRY PBM_GETRAWBYTE + +;Module LIBPBM5 + TRANSFER_ENTRY PBM_DEFAULTFONT + TRANSFER_ENTRY PBM_DISSECTFONT + TRANSFER_ENTRY PBM_DUMPFONT + TRANSFER_ENTRY PBM_LOADFONT + TRANSFER_ENTRY PBM_LOADBDFFONT + TRANSFER_ENTRY MK_ARGVN +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;Library LIBPGM +;Module LIBPGM1 + TRANSFER_ENTRY PGM_INIT + TRANSFER_ENTRY PGM_READPGM + TRANSFER_ENTRY PGM_READPGMINIT + TRANSFER_ENTRY PGM_READPGMINITREST + TRANSFER_ENTRY PGM_READPGMROW + +;Module LIBPGM2 + TRANSFER_ENTRY PGM_WRITEPGM + TRANSFER_ENTRY PGM_WRITEPGMINIT + TRANSFER_ENTRY PGM_WRITEPGMROW + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Library LIBPPM +; +;Module LIBPPM1 + TRANSFER_ENTRY PPM_INIT + TRANSFER_ENTRY PPM_READPPM + TRANSFER_ENTRY PPM_READPPMINIT + TRANSFER_ENTRY PPM_READPPMINITREST + TRANSFER_ENTRY PPM_READPPMROW + +;Module LIBPPM2 + TRANSFER_ENTRY PPM_WRITEPPM + TRANSFER_ENTRY PPM_WRITEPPMINIT + TRANSFER_ENTRY PPM_WRITEPPMROW + +;Module LIBPPM3 + TRANSFER_ENTRY PPM_ADDTOCOLORHASH + TRANSFER_ENTRY PPM_ADDTOCOLORHIST + TRANSFER_ENTRY PPM_ALLOCCOLORHASH + TRANSFER_ENTRY PPM_COLORHASHTOCOLORHIST + TRANSFER_ENTRY PPM_COLORHISTTOCOLORHASH + TRANSFER_ENTRY PPM_COMPUTECOLORHASH + TRANSFER_ENTRY PPM_COMPUTECOLORHIST + TRANSFER_ENTRY PPM_FREECOLORHASH + TRANSFER_ENTRY PPM_FREECOLORHIST + TRANSFER_ENTRY PPM_LOOKUPCOLOR + +;Module LIBPPM4 + TRANSFER_ENTRY PPM_COLORNAME + TRANSFER_ENTRY PPM_PARSECOLOR + +;Module LIBPPM5 + TRANSFER_ENTRY PPMD_CIRCLE + TRANSFER_ENTRY PPMD_FILL + TRANSFER_ENTRY PPMD_FILLEDRECTANGLE + TRANSFER_ENTRY PPMD_FILL_DRAWPROC + TRANSFER_ENTRY PPMD_FILL_INIT + TRANSFER_ENTRY PPMD_LINE + TRANSFER_ENTRY PPMD_POINT_DRAWPROC + TRANSFER_ENTRY PPMD_POLYSPLINE + TRANSFER_ENTRY PPMD_SETLINECLIP + TRANSFER_ENTRY PPMD_SETLINETYPE + TRANSFER_ENTRY PPMD_SPLINE3 + +;Module BITIO + TRANSFER_ENTRY PM_BITINIT + TRANSFER_ENTRY PM_BITFINI + TRANSFER_ENTRY PM_BITREAD + TRANSFER_ENTRY PM_BITWRITE + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Library LIBPNM +;Module LIBPNM1 + TRANSFER_ENTRY PNM_INIT + TRANSFER_ENTRY PNM_READPNM + TRANSFER_ENTRY PNM_READPNMINIT + TRANSFER_ENTRY PNM_READPNMROW + +;Module LIBPNM2 + TRANSFER_ENTRY PNM_WRITEPNM + TRANSFER_ENTRY PNM_WRITEPNMINIT + TRANSFER_ENTRY PNM_WRITEPNMROW + +;Module LIBPNM3 + TRANSFER_ENTRY PNM_BACKGROUNDXEL + TRANSFER_ENTRY PNM_BACKGROUNDXELROW + TRANSFER_ENTRY PNM_BLACKXEL + TRANSFER_ENTRY PNM_INVERTXEL + TRANSFER_ENTRY PNM_PROMOTEFORMAT + TRANSFER_ENTRY PNM_PROMOTEFORMATROW + TRANSFER_ENTRY PNM_WHITEXEL + +;Module LIBPNM4 + TRANSFER_ENTRY MEM_CREATE + TRANSFER_ENTRY MEM_FREE + TRANSFER_ENTRY PR_DUMP + TRANSFER_ENTRY PR_LOAD_COLORMAP + TRANSFER_ENTRY PR_LOAD_HEADER + TRANSFER_ENTRY PR_LOAD_IMAGE +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; allocate extra space to allow for code modifications without changing +; the size of the shared image. +; + .BLKB 2048-<.-TRANSFER_VECTOR> ; Reserve 4 pages. +; + .END + +$ TRANSVEC_DONE: +$! +$! Create new options file if needed. +$! +$ if f$search("PBMPLUSSHR.OPT") .EQS. "" THEN GOTO NEW_OPTFILE +$ if f$cvtime(f$file("PBMPLUSSHR.OPT","CDT")) .GTS. PROC_CDT THEN GOTO OPTFILE_DONE +$ NEW_OPTFILE: +$ instruct = 1 +$ write sys$output "Making new pbmplusshr.opt..." +$ CREATE PBMPLUSSHR.OPT +PBMplusShr /Share +Sys$Share:VAXCRTL /Share +PSECT_ATTR = ARGPROC_VERSION,GBL,NOSHR +PSECT_ATTR = OPTARG,GBL,NOSHR +PSECT_ATTR = OPTERR,GBL,NOSHR +PSECT_ATTR = OPTIND,GBL,NOSHR +PSECT_ATTR = OPTOPT,GBL,NOSHR +PSECT_ATTR = PGM_PBMMAXVAL,GBL,NOSHR +PSECT_ATTR = PNM_PBMMAXVAL,GBL,NOSHR +PSECT_ATTR = PPM_PBMMAXVAL,GBL,NOSHR +$! +$ OPTFILE_DONE: +$! +$ if f$search("PBMPLUSSHR.EXE") .EQS. "" THEN GOTO NEW_SHAREABLE +$ EXE_CDT = f$cvtime(f$file_attributes("PBMPLUSSHR.EXE","CDT")) +$ if EXE_CDT .LTS. PROC_CDT THEN GOTO NEW_SHAREABLE +$ if f$cvtime(f$file("[.PBM]LIBPBM.OLB","RDT")) .GTS. EXE_CDT THEN GOTO NEW_SHAREABLE +$ if f$cvtime(f$file("[.PGM]LIBPGM.OLB","RDT")) .GTS. EXE_CDT THEN GOTO NEW_SHAREABLE +$ if f$cvtime(f$file("[.PPM]LIBPPM.OLB","RDT")) .GTS. EXE_CDT THEN GOTO NEW_SHAREABLE +$ if f$cvtime(f$file("[.PNM]LIBPNM.OLB","RDT")) .GTS. EXE_CDT THEN GOTO NEW_SHAREABLE +$ GOTO SHAREABLE_DONE +$ NEW_SHAREABLE: +$ instruct = 1 +$ write sys$output "Making new pbmplusshr.exe..." +$ Link /Map = PBMPLUSHSR.MAP /Share = SYS$DISK:[]PBMPLUSSHR.EXE Sys$Input/Option +COLLECT=FIRST,PBMPLUS_XVEC +COLLECT=GLOBALS1,PGM_PBMMAXVAL,PNM_PBMMAXVAL,PPM_PBMMAXVAL +COLLECT=GLOBALS2,ARGPROC_VERSION,OPTARG,OPTERR,OPTIND,OPTOPT + +TRANSVEC.OBJ +[.PBM]LIBPBM/LIB,[.PGM]LIBPGM/LIB,[.PPM]LIBPPM/LIB +[.PNM]LIBPNM/LIB,SYS$SHARE:VAXCRTL/SHARE + + +UNSUPPORTED = 1 ! force demand zero pages +GSMATCH=LEQUAL,2,1 ! Major ID = 2, minor ID = 2 + +PSECT_ATTR = ARGPROC_VERSION,NOSHR +PSECT_ATTR = OPTARG,NOSHR +PSECT_ATTR = OPTERR,NOSHR +PSECT_ATTR = OPTIND,NOSHR +PSECT_ATTR = OPTOPT,NOSHR +PSECT_ATTR = PGM_PBMMAXVAL,NOSHR +PSECT_ATTR = PNM_PBMMAXVAL,NOSHR +PSECT_ATTR = PPM_PBMMAXVAL,NOSHR +!PSECT_ATTR = ,LCL,NOSHR +$! +$ SHAREABLE_DONE: +$ if .NOT. instruct then write sys$output "All PBMPLUSSHR files up to date." +$ if .NOT. instruct then exit $status +$ create sys$output + + Define the logical name PBMPLUSSHR as "disk:[dir]PBMPLUSSHR", where + disk and [dir] are the disk and directory containing the + shareable image PBMPLUSSHR.EXE and linker options file PBMPLUSSHR.OPT. + + You can then link an executable against the image with the command + + LINK program.OBJ,PBMplusShr/Option + +$ exit $status diff --git a/vms/NetPBM.TeX b/vms/NetPBM.TeX new file mode 100644 index 00000000..86a9abc8 --- /dev/null +++ b/vms/NetPBM.TeX @@ -0,0 +1,12115 @@ +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex (version 1.04, July 15, 1991) +% on Thu Dec 12 09:12:27 1991 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) + +\documentstyle[troffman,twoside]{article} +\begin{document} +% +% input file: pbmplus.1 +% +\phead{PBMPLUS}{1L}{13 October 1993}{}{} + +\shead{NAME} +pbmplus - enhanced portable bitmap toolkit + +\shead{DESCRIPTION} +The {\it pbmplus} toolkit allows conversions between image files of +different format. By means of using common intermediate formats, only +$2 \times N$ conversion filters are required to support $N$ distinct formats, +instead of the $N^2$ which would be required to convert directly between +any one format and any other. The package also includes simple tools for +manipulating portable bitmaps. + +The package consists of four upwardly compatible sections: +\begin{TPlist}{pbm} +\item[{pbm}] +Supports monochrome bitmaps (1 bit per pixel). +\item[{pgm}] +Supports grayscale images. Reads either {\it pbm} or {\it pgm} formats +and writes {\it pgm} format. +\item[{ppm}] +Supports full-color images. Reads either {\it pbm}, {\it pgm}, or {\it +ppm} formats, writes {\it ppm} format. +\item[{pnm}] +Supports content-independent manipulations on any of the three formats +listed above, as well as external formats having multiple types. Reads +either {\it pbm}, {\it pgm}, or {\it ppm} formats, and generally writes +the same type as it read (whenever a {\it pnm} tool makes an exception +and ``promotes'' a file to a higher format, it informs the user). +\end{TPlist} + +\shead{DESCRIPTION OF CONTENTS} +\begin{TPlist}{{\it cmuwmtopbm}} +\item[{{\it atktopbm}}] +convert Andrew Toolkit raster object to portable bitmap +\item[{{\it brushtopbm}}] +convert Xerox doodle brushes to portable bitmap +\item[{{\it cmuwmtopbm}}] +convert CMU window manager format to portable bitmap +\item[{{\it g3topbm}}] +convert Group 3 FAX to portable bitmap +\item[{{\it icontopbm}}] +convert Sun icon to portable bitmap +\item[{{\it gemtopbm}}] +convert GEM .img format to portable bitmap +\item[{{\it macptopbm}}] +convert MacPaint to portable bitmap +\item[{{\it mgrtopbm}}] +convert MGR format to portable bitmap +\item[{{\it pbmmerge}}] +merge wrapper routine +\item[{{\it pbmto10x}}] +convert portable bitmap to Gemini 10x printer graphics +\item[{{\it pbmtoascii}}] +convert portable bitmap to ASCII graphic form +\item[{{\it pbmtoatk}}] +convert portable bitmap to Andrew Toolkit raster object +\item[{{\it pbmtobbnbg}}] +convert portable bitmap to BBN BitGraph graphics +\item[{{\it pbmtocmuwm}}] +convert portable bitmap to CMU window manager format +\item[{{\it pbmtoepson}}] +convert portable bitmap to Epson printer graphics +\item[{{\it pbmtog3}}] +convert portable bitmap to Group 3 FAX +\item[{{\it pbmtogem}}] +convert portable bitmap into GEM .img file +\item[{{\it pbmtogo}}] +convert portable bitmap to GraphOn graphics +\item[{{\it pbmtoicon}}] +convert portable bitmap to Sun icon +\item[{{\it pbmtolj}}] +convert portable bitmap to HP LaserJet graphics +\item[{{\it pbmtomacp}}] +convert portable bitmap to MacPaint +\item[{{\it pbmtomgr}}] +convert portable bitmap to MGR format +\item[{{\it pbmtopi3}}] +convert portable bitmap to Atari Degas .pi3 +\item[{{\it pbmtoplot}}] +convert portable bitmap into Unix plot(5) file +\item[{{\it pbmtoptx}}] +convert portable bitmap to Printronix graphics +\item[{{\it pbmtoxbm}}] +convert portable bitmap to X11 bitmap +\item[{{\it pbmtox10bm}}] +convert portable bitmap to X10 bitmap +\item[{{\it pbmtoybm}}] +convert portable bitmap into Bennet Yee ``face'' file +\item[{{\it pbmtozinc}}] +convert portable bitmap to Zinc Interface Library icon +\item[{{\it pbmlife}}] +apply Conway's rules of Life to a portable bitmap +\item[{{\it pbmmake}}] +create a blank bitmap of a specified size and color +\item[{{\it pbmmask}}] +create a mask bitmap from a regular bitmap +\item[{{\it pbmreduce}}] +reduce a portable bitmap N times, using Floyd-Steinberg +\item[{{\it pbmtext}}] +render text into a bitmap +\item[{{\it pbmupc}}] +create a Universal Product Code bitmap +\item[{{\it pi3topbm}}] +convert Atari Degas .pi3 to portable bitmap +\item[{{\it xbmtopbm}}] +convert X10 or X11 bitmap to portable bitmap +\item[{{\it ybmtopbm}}] +convert Bennet Yee ``face'' file into portable bitmap +\item[{{\it asciitopgm}}] +convert ASCII graphics into a portable graymap +\item[{{\it fstopgm}}] +convert Usenix FaceSaver$^{\rm tm}$ format to portable graymap +\item[{{\it hipstopgm}}] +convert HIPS format to portable graymap +\item[{{\it lispmtopgm}}] +convert a Lisp Machine bitmap file into pgm format +\item[{{\it pgmbentley}}] +Bentleyize a portable graymap +\item[{{\it pgmcrater}}] +create cratered terrain by fractal forgery +\item[{{\it pgmedge}}] +edge-detect a portable graymap +\item[{{\it pgmenhance}}] +edge-enhance a portable graymap +\item[{{\it pgmhist}}] +print a histogram of the values in a portable graymap +\item[{{\it pgmkernel}}] +generate a convolution kernel +\item[{{\it pgmmerge}}] +merge wrapper routine +\item[{{\it pgmnoise}}] +create a graymap made up of white noise +\item[{{\it pgmnorm}}] +normalize contrast in a portable graymap +\item[{{\it pgmoil}}] +turn a portable graymap into an oil painting +\item[{{\it pgmramp}}] +generate a grayscale ramp +\item[{{\it pgmtexture}}] +calculate textural features on a portable graymap +\item[{{\it pgmtofits}}] +convert portable graymap to FITS format +\item[{{\it pgmtofs}}] +convert portable graymap to Usenix FaceSaver$^{\rm tm}$ format +\item[{{\it pgmtolispm}}] +convert a portable graymap into Lisp Machine format +\item[{{\it pgmtopbm}}] +convert portable graymap to portable bitmap +\item[{{\it psidtopgm}}] +convert PostScript ``image'' data to portable graymap +\item[{{\it rawtopgm}}] +convert raw grayscale bytes to portable graymap +\item[{{\it giftoppm}}] +convert GIF to portable pixmap +\item[{{\it gouldtoppm}}] +convert Gould scanner file to portable pixmap +\item[{{\it ilbmtoppm}}] +convert IFF ILBM to portable pixmap +\item[{{\it imgtoppm}}] +convert Img-whatnot to portable pixmap +\item[{{\it mtvtoppm}}] +convert MTV ray-tracer output to portable pixmap +\item[{{\it pcxtoppm}}] +convert PC Paintbrush format to portable pixmap +\item[{{\it pgmtoppm}}] +colorize a portable graymap into a portable pixmap +\item[{{\it pi1toppm}}] +convert Atari Degas .pi1 to portable pixmap +\item[{{\it picttoppm}}] +convert Macintosh PICT to portable pixmap +\item[{{\it pjtoppm}}] +convert HP PaintJet file to portable pixmap +\item[{{\it ppmchange}}] +change all pixels of one color to another in a portable pixmap +\item[{{\it ppmdim}}] +dim a portable pixmap down to total blackness +\item[{{\it ppmdist}}] +simplistic grayscale assignment for machine generated, color images +\item[{{\it ppmdither}}] +ordered dither for color images +\item[{{\it ppmflash}}] +brighten a picture up to complete white-out +\item[{{\it ppmforge}}] +fractal forgeries of clouds, planets, and starry skies +\item[{{\it ppmhist}}] +print a histogram of a portable pixmap +\item[{{\it ppmmake}}] +create a pixmap of a specified size and color +\item[{{\it ppmmerge}}] +merge wrapper routine +\item[{{\it ppmmix}}] +blend together two portable pixmaps +\item[{{\it ppmpat}}] +create a pretty pixmap +\item[{{\it ppmquant}}] +quantize colors down to a specified number +\item[{{\it ppmquantall}}] +script to run ppmquant on a set of pixmaps +\item[{{\it ppmrelief}}] +run a Laplacian Relief filter on a portable pixmap +\item[{{\it ppmshift}}] +shift lines of a portable pixmap left or right by a random amount +\item[{{\it ppmspread}}] +displace a portable pixmap's pixels by a random amount +\item[{{\it ppmtoacad}}] +convert portable pixmap to AutoCAD database or slide +\item[{{\it ppmtoicr}}] +convert portable pixmap to NCSA ICR graphics +\item[{{\it ppmtoilbm}}] +convert portable pixmap to IFF ILBM +\item[{{\it ppmtomitsu}}] +convert a portable pixmap to a Mitsubishi S340-10 file +\item[{{\it ppmtopcx}}] +convert portable pixmap to PC Paintbrush format +\item[{{\it ppmtopgm}}] +convert portable pixmap to portable graymap +\item[{{\it ppmtopi1}}] +convert portable pixmap to Atari Degas .pi1 +\item[{{\it ppmtopict}}] +convert portable pixmap to Macintosh PICT +\item[{{\it ppmtopj}}] +convert portable pixmap to HP PaintJet file +\item[{{\it ppmtopuzz}}] +convert portable pixmap to X11 ``puzzle'' file +\item[{{\it ppmtorgb3}}] +separate a portable pixmap into three portable graymaps +\item[{{\it ppmtosixel}}] +convert portable pixmap to DEC sixel format +\item[{{\it ppmtotga}}] +convert portable pixmap to TrueVision Targa file +\item[{{\it ppmtouil}}] +convert portable pixmap to Motif UIL icon file +\item[{{\it ppmtoxpm}}] +convert portable pixmap to XPM format +\item[{{\it ppmtoyuv}}] +convert portable pixmap to Abekas YUV format +\item[{{\it qrttoppm}}] +convert QRT ray-tracer output to portable pixmap +\item[{{\it rawtoppm}}] +convert raw RGB bytes to portable pixmap +\item[{{\it rgb3toppm}}] +combine three portable graymaps into one portable pixmap +\item[{{\it sldtoppm}}] +convert an AutoCAD slide file into a portable pixmap +\item[{{\it spctoppm}}] +convert Atari compressed Spectrum to portable pixmap +\item[{{\it sputoppm}}] +convert Atari uncompressed Spectrum to portable pixmap +\item[{{\it tgatoppm}}] +convert TrueVision Targa file to portable pixmap +\item[{{\it ximtoppm}}] +convert Xim to portable pixmap +\item[{{\it xvminitoppm}}] +convert a XV ``thumbnail'' picture to PPM +\item[{{\it xpmtoppm}}] +convert XPM format to portable pixmap +\item[{{\it yuvtoppm}}] +convert Abekas YUV format to portable pixmap +\item[{{\it anytopnm}}] +script to attempt to convert any format to P?M +\item[{{\it pnmalias}}] +antialias a portable anyumap. +\item[{{\it pnmarith}}] +perform arithmetic on two portable anymaps +\item[{{\it pnmcat}}] +concatenate portable anymaps +\item[{{\it pnmconvol}}] +general MxN convolution on a portable anymap +\item[{{\it pnmcrop}}] +crop all like-colored borders off a portable anymap +\item[{{\it pnmcut}}] +select a rectangular region from a portable anymap +\item[{{\it pnmdepth}}] +change the maxval in a portable anymap +\item[{{\it pnmenlarge}}] +enlarge a portable anymap N times +\item[{{\it pnmfile}}] +describe a portable anymap +\item[{{\it pnmflip}}] +perform one or more flip operations on a portable anymap +\item[{{\it pnmgamma}}] +perform gamma correction on a portable anymap +\item[{{\it pnmindex}}] +script to build a visual index of a bunch of anymaps +\item[{{\it pnminvert}}] +invert a portable anymap +\item[{{\it pnmmargin}}] +script to add a margin to a portable anymap +\item[{{\it pnmmerge}}] +merge wrapper routine +\item[{{\it pnmnoraw}}] +force a portable anymap into ASCII format +\item[{{\it pnmpaste}}] +paste a rectangle into a portable anymap +\item[{{\it pnmrotate}}] +rotate a portable anymap +\item[{{\it pnmscale}}] +scale a portable anymap +\item[{{\it pnmshear}}] +shear a portable anymap +\item[{{\it pnmsmooth}}] +script that uses pnmconvol to smooth a anymap +\item[{{\it pnmtile}}] +replicate a portable anymap into a specified size +\item[{{\it pnmtofits}}] +convert a portable anymap into FITS format +\item[{{\it pnmtogif}}] +convert portable anymap to GIF +\item[{{\it pnmtops}}] +convert portable anymap to PostScript +\item[{{\it pnmtorast}}] +convert portable anymap to Sun raster file +\item[{{\it pnmtotiff}}] +convert portable anymap to TIFF file +\item[{{\it pnmtoxwd}}] +convert portable anymap to X11 window dump +\item[{{\it fitstopnm}}] +fitstopnm - convert a FITS file into a portable anymap +\item[{{\it pstopnm}}] +script to convert PS to portable anymap with GhostScript +\item[{{\it rasttopnm}}] +convert Sun raster file to portable anymap +\item[{{\it tifftopnm}}] +convert TIFF file to portable anymap +\item[{{\it xwdtopnm}}] +convert X10 or X11 window dump to portable anymap +\end{TPlist} + +\shead{SEE ALSO} +There are a number of related image-manipulation tools: +\begin{TPlist}{{\it Fuzzy Pixmap Manipulation}} +\item[{{\it IM Raster Toolkit}}] +A portable and efficient format toolkit. The format supports pixels of +arbitrary channels, components, and bit precisions, while allowing +compression and machine byte-order independence. Support for image +manipulation, digital halftoning, and format conversion. Previously +distributed on tape c/o the University of Waterloo (an {\it ftp} +version is to appear later). Author: Alan Paeth +(awpaeth@watcgl.uwaterloo.ca). +\item[{{\it Utah RLE Toolkit}}] +Conversion and manipulation package, similar to {\it pbmplus}. Available +via {\it ftp} as {\it cs.utah.edu: pub/toolkit-2.0.tar.Z} and {\it +ucsd.edu: graphics\-/utah-raster-toolkit.\-tar.Z}. +\item[{{\it Fuzzy Pixmap Manipulation}}] +Conversion and manipulation package, similar to {\it pbmplus}. Version +1.0 available via {\it ftp} as {\it +nl.cs.cmu.edu: /usr/mlm/ftp/fbm.tar.Z}, {\it +uunet.uu.net: pub/fbm.tar.Z}, and {\it ucsd.edu: graphics/fbm.tar.Z}. +Author: Michael Mauldin (mlm@nl.cs.cmu.edu). +\item[{{\it Img Software Set}}] +Reads and writes its own image format, displaying results on an X11 +screen, and does some image manipulations. Version 1.3 is available via +{\it ftp} as {\it ftp.x.org: contrib/img\_1.3.tar.Z}, and {\it +venera.isi.edu: pub/img\_1.3.tar.Z}, along with a large collection of +color images. Author: Paul Raveling (raveling@venera.isi.edu). +\item[{{\it Xim}}] +Reads and writes its own image format, displays on an X11 screen, and +does some image manipulations. Available in your nearest X11R4 source +tree as {\it contrib/clients/xim}. A more recent version is available +via ftp from {\it video.mit.edu}. It uses X11R4 and the OSF/Motif +toolkit to provide basic interactive image manipulation and reads/writes +GIF, xwd, xbm, tiff, rle, xim, and other formats. Author: Philip R. +Thompson. +\item[{{\it xloadimage}}] +Reads in images in various formats and displays them on an X11 screen. +Available via {\it ftp} as {\it +ftp.x.org: contrib/xloadimage$\ast$}, and in your nearest {\it +comp.sources.\-x} archive. Author: Jim Frost (madd@std.\-com). +\item[{{\it TIFF\ Software}}] +Nice portable library for reading and writing TIFF files, plus a few +tools for manipulating them and reading other formats. Available via +{\it ftp} as {\it sgi.com: graphics/tiff/$\ast$.tar.Z} or {\it +uunet.uu.net: graphics/tiff.tar.Z}. Author: Sam Leffler +(sam@sgi.com). +\item[{{\it ALV}}] +A Sun-specific image toolkit. Version 2.0.6 posted to {\it +comp.sources.\-sun} on 11 December 1989. Also available via email to {\it +alv-users-request @cs.bris.ac.uk}. +\item[{{\it popi}}] +An image manipulation language. Version 2.1 posted to {\it +comp.\-sources.\-misc} on 12 December 1989. +\item[{{\it ImageMagick,}}] +X11 package for display and interactive manipulation of images. Uses its +own format (MIFF), and includes some converters. Available via {\it +ftp} as {\it ftp.x.org: contrib/ImageMagick.$\ast$.tar.Z}. +\item[{{\it Khoros}}] +A huge (\~{}100 meg) graphical development environment based on X11R4. +Components include a visual programming language, code generators for +extending the visual language and adding new application packages to the +system, an interactive user interface editor, an interactive image +display package, an extensive library of image and signal processing +routines, and 2D/3D plotting packages. Available via {\it ftp} as +{\it pprg.unm.edu: pub/khoros/$\ast$}. +\item[{JPEG package}] +JPEG is a a standardized compression method for full-color and gray-scale +images of ``real-world'' scenes; this experimental package includes +programs to compress gif and ppm format files to JPEG format ({\it +cjpeg(1L)),} and to decompress them ({\it djpeg(1L)).} Available by {\it +ftp} as {\it uunet.uu.net: graphics/jpeg/jpegsrc.v4.tar.Z}. +\end{TPlist} + +libpbm(3), libpgm(3), libpnm(3), libppm(3), pbm(5), pgm(5), pnm(5), +ppm(5), rasterfile(1) + +\shead{AUTHOR} +Distribution of 10 December 1991. \copyright 1989, 1991 by Jef Poskanzer. + +Feedback and questions are welcome. Please send them to: +\begin{IPlist} +\IPitem{{}} +{\nofill + jef@netcom.com + jef@well.sf.ca.us + apple!well!jef +\fill} +\end{IPlist} + +When sending bug reports, always include the output from running any +pbmplus program with the -version flag, including descriptions of the +type of system you are on, the compiler you use, and whether you are +using Makefiles or Imakefiles. + +When suggesting new formats or features, please include whatever +documentation you have, and a uuencoded sample. The response time will +depend upon my schedule and the complexity of the task; if you need it +right away, or it is a complicated job, you might consider paying me. + +The Usenet newsgroup {\it alt.graphics.pixutils} is a forum for +discussion of image conversion and editing packages. Posting queries +there may be better than mailing them to me, since it allows other people +to help provide answers. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided ``as is'' without express or +implied warranty. Thus, you may do what you want with this software. +Build it into your package, steal code from it, whatever. Just be sure +to let people know where it came from. + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Feb 4 14:35:11 1994 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: asciitopgm.1 + +\newpage +%-------------------------------------------------- +% start of input file: asciitopgm.1 +% +\phead{asciitopgm}{1}{26 December 1994}{}{} + +%.IX asciitopgm +\shead{NAME} +asciitopgm - convert ASCII graphics into a portable graymap +\shead{SYNOPSIS} +{\bf asciitopgm} +{\it [}{\rm -d} +{\rm divisor}{\it ]} +{\it height width} +{\rm [}{\it asciifile}{\rm ]} +\shead{DESCRIPTION} +Reads ASCII data as input. +Produces a portable graymap with pixel values which are an approximation +of the ``brightness'' of the ASCII characters, +assuming black-on-white printing. +In other words, a capital M is very dark, a period is ver light, +and a space is white. +Input lines which are fewer than +{\it width} +characters are automatically padded with spaces. +\par +The +{\it divisor} +argument is a floating-point number by which the output pixels are +divided; the default value is 1.0. +This can be used to adjust the brightness of the graymap: +for example, if the image is too dim, reduce the divisor. +\par +In keeping with (I believe) Fortran line-printer conventions, +input lines beginning with a + (plus) character are assumed +to ``overstrike'' the previous line, allowing a larger range of gray values. +\par +This tool contradicts the message in the +{\it pbmtoascii} +manual: ``Note that there is no asciitopbm tool - this +transformation is one-way.'' +\shead{BUGS} +The table of ASCII-to-grey values is subject to interpretation, +and, of course, depends on the typeface intended for the input. +\shead{SEE ALSO} +pbmtoascii(1), pgm(5) +\shead{AUTHOR} +Wilson H. Bent. Jr. (whb@usc.edu) +% +% end of input file: asciitopgm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:07:54 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: atktopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: atktopbm.1 +% +\phead{atktopbm}{1}{26 September 1991}{}{} + +%.IX atktopbm +\shead{NAME} +atktopbm - convert Andrew Toolkit raster object to portable bitmap +\shead{SYNOPSIS} +{\bf atktopbm} +{\rm [}{\it atkfile}{\rm ]} +\shead{DESCRIPTION} +Reads an Andrew Toolkit raster object as input. +%.IX "Andrew Toolkit raster object" +Produces a portable bitmap as output. +\shead{SEE ALSO} +pbmtoatk(1), pbm(5) +\shead{AUTHOR} +\copyright 1991 by Bill Janssen. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: atktopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:35 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: bioradtopgm.1 + +\newpage +%-------------------------------------------------- +% start of input file: bioradtopgm.1 +% +\phead{bioradtopgm}{1}{28 June 1993}{}{} + +%.IX bioradtopgm +\shead{NAME} +bioradtopgm - convert a Biorad confocal file into a portable graymap +\shead{SYNOPSIS} +{\bf bioradtopgm} +{\rm [}{\bf -image\#}{\rm ]} +{\rm [}{\it imagedata}{\rm ]} +\shead{DESCRIPTION} +Reads a Biorad confocal file as input. +Produces a portable graymap as output. +If the resulting image is upside down, run it through +{\bf pnmflip\ -tb .} +%.IX pnmflip +\shead{OPTIONS} +\begin{TPlist}{{\bf -image\#}} +\item[{{\bf -image\#}}] +A Biorad image file may contain more than one image. With this flag, +you can specify which image to extract (only one at a time). The first +image in the file has number zero. If no +image number is supplied, only information about the image size and +the number of images in the input is printed out. No output is produced. +\end{TPlist} + +\shead{BUGS} +A Biorad image may be in word format. If PbmPlus is not compiled with the +``BIGGRAYS'' flag, word files can not be converted. See the Makefile. +\shead{SEE ALSO} +pgm(5), pnmflip(1) +\shead{AUTHORS} +\copyright 1993 by Oliver Trepte (oliver@fysik4.kth.se). +\nwl +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: bioradtopgm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:07 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: bmptoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: bmptoppm.1 +% +\phead{bmptoppm}{1}{26 Oct 1992}{}{} + +%.IX bmptoppm +\shead{NAME} +bmptoppm -- convert a BMP file into a portable pixmap +\shead{SYNOPSIS} +{\bf bmptoppm} +{\rm [}{\it bmpfile}{\rm ]} +\shead{DESCRIPTION} +Reads a Microsoft Windows or OS/2 BMP file as input. +%.IX BMP +Produces a portable pixmap as output. +\shead{SEE ALSO} +ppmtobmp(1), +ppm(5) +\shead{AUTHOR} +\copyright 1992 by David W. Sanderson. +% Permission to use, copy, modify, and distribute this software and +% its documentation for any purpose and without fee is hereby granted, +% provided that the above copyright notice appear in all copies and +% that both that copyright notice and this permission notice appear in +% supporting documentation. This software is provided "as is" without +% express or implied warranty. +% +% end of input file: bmptoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:07:54 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: brushtopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: brushtopbm.1 +% +\phead{brushtopbm}{1}{28 August 1988}{}{} + +%.IX brushtopbm +\shead{NAME} +brushtopbm - convert a doodle brush file into a portable bitmap +\shead{SYNOPSIS} +{\bf brushtopbm} +{\rm [}{\it brushfile}{\rm ]} +\shead{DESCRIPTION} +Reads a Xerox doodle brush file as input. +%.IX "Xerox doodle brush format" +Produces a portable bitmap as output. +\par +Note that there is currently no pbmtobrush tool. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: brushtopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:07:55 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: cmuwmtopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: cmuwmtopbm.1 +% +\phead{cmuwmtopbm}{1}{15 April 1989}{}{} + +%.IX cmuwmtopbm +\shead{NAME} +cmuwmtopbm - convert a CMU window manager bitmap into a portable bitmap +\shead{SYNOPSIS} +{\bf cmuwmtopbm} +{\rm [}{\it cmuwmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a CMU window manager bitmap as input. +%.IX "CMU window manager bitmap" +Produces a portable bitmap as output. +\shead{SEE ALSO} +pbmtocmuwm(1), pbm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: cmuwmtopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Feb 7 08:49:58 1994 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: fitstopnm.1 + +\newpage +%-------------------------------------------------- +% start of input file: fitstopnm.1 +% +\phead{fitstopnm}{1}{20 September 89}{}{} + +\shead{NAME} +fitstopnm - convert a FITS file into a portable anymap +\shead{SYNOPSIS} +{\bf fitstopnm} +{\rm [}{\bf -image} +{\it N}{\rm ]} +{\rm [}{\bf -noraw}{\rm ]} +{\rm [}{\bf -scanmax}{\rm ]} +{\rm [}{\bf -printmax}{\rm ]} +{\rm [}{\bf -min} +{\it f}{\rm ]} +{\rm [}{\bf -max} +{\it f}{\rm ]} +{\rm [}{\it FITSfile}{\rm ]} +\shead{DESCRIPTION} +Reads a FITS file as input. +%.IX FITS +Produces a portable pixmap if the FITS file consists of 3 image planes +(NAXIS = 3 and NAXIS3 = 3), a portable graymap if the FITS file +consists of 2 image planes (NAXIS = 2), or whenever the +{\bf --image} +flag is specified. +The results may need to be flipped top for bottom; if so, just +pipe the output through +{\bf pnmflip -tb.} +%.IX pnmflip +\shead{OPTIONS} +\par +The +{\bf -image} +option is for FITS files with three axes. +The assumption is that the third axis is for multiple images, +and this option lets you select which one you want. +\par +Flags +{\bf -min} +and +{\bf -max} +can be used to override the min and max values as read from the FITS +header or the image data if no DATAMIN and DATAMAX keywords are found. +Flag +{\bf -scanmax} +can be used to force the program to scan the data even when DATAMIN +and DATAMAX are found in the header. If +{\bf -printmax} +is specified, the program will just print the min and max values and +quit. +Flag +{\bf -noraw} +can be used to force +the program to produce an ASCII portable anymap. +\par +The program will tell what kind of anymap is writing. +All flags can be abbreviated to their shortest unique prefix. +\shead{REFERENCES} +FITS stands for Flexible Image Transport System. A full description +can be found in Astronomy \& Astrophysics Supplement Series 44 (1981), +page 363. +\shead{SEE ALSO} +pnmtofits(1), pgm(5), pnmflip(1) +\shead{AUTHOR} +Copyright (C) 1989 by Jef Poskanzer, with modifications by +Daniel Briggs (dbriggs@nrao.edu) and Alberto +Accomazzi (alberto@cfa.harvard.edu). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: fitstopnm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:24 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: fstopgm.1 + +\newpage +%-------------------------------------------------- +% start of input file: fstopgm.1 +% +\phead{fstopgm}{1}{06 April 89}{}{} + +%.IX fstopgm +\shead{NAME} +fstopgm - convert a Usenix FaceSaver(tm) file into a portable graymap +\shead{SYNOPSIS} +{\bf fstopgm} +{\rm [}{\it fsfile}{\rm ]} +\shead{DESCRIPTION} +Reads a Usenix FaceSaver(tm) file as input. +%.IX FaceSaver +Produces a portable graymap as output. +\par +FaceSaver(tm) files sometimes have rectangular pixels. +While +{\it fstopgm} +won't re-scale them into square pixels for you, +it will give you the precise +{\it pnmscale} +command that will do the job. +Because of this, reading a FaceSaver(tm) image is a two-step process. +First you do: +\nofill + fstopgm $>$ /dev/null +\fill +This will tell you whether you need to use +{\it pnmscale.} +Then use one of the following pipelines: +\nofill + fstopgm $|$ pgmnorm + fstopgm $|$ pnmscale -whatever $|$ pgmnorm +\fill +To go to PBM, you want something more like one of these: +\nofill + fstopgm $|$ pnmenlarge 3 $|$ pgmnorm $|$ pgmtopbm + fstopgm $|$ pnmenlarge 3 $|$ pnmscale $<$whatever$>$ $|$ pgmnorm $|$ pgmtopbm +\fill +You want to enlarge when going to a bitmap because otherwise you lose +information; but enlarging by more than 3 does not look good. +\par +FaceSaver is a registered trademark of Metron Computerware Ltd. of +Oakland, CA. +\shead{SEE ALSO} +pgmtofs(1), pgm(5), pgmnorm(1), pnmenlarge(1), pnmscale(1), pgmtopbm(1) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: fstopgm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:07:55 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: g3topbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: g3topbm.1 +% +\phead{g3topbm}{1}{02 October 1989}{}{} + +%.IX g3topbm +\shead{NAME} +g3topbm - convert a Group 3 fax file into a portable bitmap +\shead{SYNOPSIS} +{\bf g3topbm} +{\rm [}{\bf -kludge}{\rm ]} +{\rm [}{\bf -reversebits}{\rm ]} +{\rm [}{\bf -stretch}{\rm ]} +{\rm [}{\it g3file}{\rm ]} +\shead{DESCRIPTION} +Reads a Group 3 fax file as input. +%.IX "Group 3 fax" +%.IX fax +Produces a portable bitmap as output. +\shead{OPTIONS} +\begin{TPlist}{{\bf -kludge}} +\item[{{\bf -kludge}}] +Tells +{\it g3topbm} +to ignore the first few lines of the file; +sometimes fax files have some junk at the beginning. +\item[{{\bf -reversebits}}] +Tells +{\it g3topbm} +to interpret bits least-significant +first, instead of the default most-significant first. +Apparently some fax modems do it one way and others do it the other way. +If you get a whole bunch of ``bad code word'' messages, try using this +flag. +\item[{{\bf -stretch}}] +Tells +{\it g3topbm} +to stretch the image vertically by +duplicating each row. +This is for the low-quality transmission mode. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{REFERENCES} +The standard for Group 3 fax is defined in CCITT Recommendation T.4. +\shead{BUGS} +Probably. +\shead{SEE ALSO} +pbmtog3(1), pbm(5) +\shead{AUTHOR} +\copyright 1989 by Paul Haeberli (paul@manray.sgi.com). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: g3topbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:07:56 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: gemtopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: gemtopbm.1 +% +\phead{gemtopbm}{1}{3 December 1988}{}{} + +%.IX gemtopbm +\shead{NAME} +gemtopbm - convert a GEM .img file into a portable bitmap +\shead{SYNOPSIS} +{\bf gemtopbm} +{\rm [}{\bf -d}{\rm ]} +{\it gemfile} +\shead{DESCRIPTION} +Reads a GEM .img file as input. +%.IX GEM +Produces a portable bitmap as output. +\shead{OPTIONS} +\begin{TPlist}{{\bf -d}} +\item[{{\bf -d}}] +Produce output describing the contents of the .img file. +\end{TPlist} + +\shead{BUGS} +Does not support file containing more than one plane. +Can't read from standard input. +\shead{SEE ALSO} +pbmtogem(1), pbm(5) +\shead{AUTHOR} +\copyright 1988 Diomidis D. Spinellis (dds@cc.ic.ac.uk). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, +% provided that the above copyright notice appear in all copies and that +% both that copyright notice and this permission notice appear in +% supporting documentation. +% +% end of input file: gemtopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:27 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: giftopnm.1 + +\newpage +%-------------------------------------------------- +% start of input file: giftopnm.1 +% +\phead{giftopnm}{1}{29 September 1993}{}{} + +%.IX giftopnm +\shead{NAME} +giftopnm - convert a GIF file into a portable anymap +\shead{SYNOPSIS} +{\bf giftopnm} +{\rm [}{\bf -verbose}{\rm ]} +{\rm [}{\bf -comments}{\rm ]} +{\rm [}{\bf -image} +{\it N}{\rm ]} +{\rm [}{\it GIFfile}{\rm ]} +\shead{DESCRIPTION} +Reads a GIF file for input, and outputs portable anymap. +%.IX GIF +\shead{OPTIONS} +\begin{TPlist}{{\bf -verbose}} +\item[{{\bf -verbose}}] +Produces verbose output about the GIF file input. +\item[{{\bf -comments}}] +Only outputs GIF89 comment fields. +\item[{{\bf -image}}] +Output the specified gif image from the +input gif archive (where +{\it N} +is '1', '2', '20'...). +Normally there is only one image per file, so this option +is not needed. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{BUGS} +This does not correctly handle the Plain Text Extension of the GIF89 +standard, since I did not have any example input files containing them. +\shead{SEE ALSO} +ppmtogif(1), ppm(5) +\shead{AUTHOR} +\copyright 1993 by David Koblas (koblas@netcom.com) +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, +% provided that the above copyright notice appear in all copies and that +% both that copyright notice and this permission notice appear in +% supporting documentation. +% +% end of input file: giftopnm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:40 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: gouldtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: gouldtoppm.1 +% +\phead{gouldtoppm}{1}{20 May 1990}{}{} + +%.IX gouldtoppm +\shead{NAME} +gouldtoppm - convert Gould scanner file into a portable pixmap +\shead{SYNOPSIS} +{\bf gouldtoppm} +{\rm [}{\it gouldfile}{\rm ]} +\shead{DESCRIPTION} +Reads a file produced by the Gould scanner as input. +%.IX "Gould scanner" +Produces a portable pixmap as output. +\shead{SEE ALSO} +ppm(5) +\shead{AUTHOR} +\copyright 1990 by Stephen Paul Lesniewski. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: gouldtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:25 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: hipstopgm.1 + +\newpage +%-------------------------------------------------- +% start of input file: hipstopgm.1 +% +\phead{hipstopgm}{1}{24 August 89}{}{} + +%.IX hipstopgm +\shead{NAME} +hipstopgm - convert a HIPS file into a portable graymap +\shead{SYNOPSIS} +{\bf hipstopgm} +{\rm [}{\it hipsfile}{\rm ]} +\shead{DESCRIPTION} +Reads a HIPS file as input. +%.IX HIPS +Produces a portable graymap as output. +\par +If the HIPS file contains more than one frame in sequence, hipstopgm +will concatenate all the frames vertically. +\par +HIPS is a format developed at the Human Information Processing +Laboratory, NYU. +\shead{SEE ALSO} +pgm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: hipstopgm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:07:57 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: icontopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: icontopbm.1 +% +\phead{icontopbm}{1}{31 August 1988}{}{} + +%.IX icontopbm +\shead{NAME} +icontopbm - convert a Sun icon into a portable bitmap +\shead{SYNOPSIS} +{\bf icontopbm} +{\rm [}{\it iconfile}{\rm ]} +\shead{DESCRIPTION} +Reads a Sun icon as input. +%.IX Sun +%.IX "Sun icon format" +Produces a portable bitmap as output. +\shead{SEE ALSO} +pbmtoicon(1), pbm(5) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: icontopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:41 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ilbmtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: ilbmtoppm.1 +% +\phead{ilbmtoppm}{1}{20 June 1993}{}{} + +%.IX ilbmtoppm +\shead{NAME} +ilbmtoppm - convert an ILBM file into a portable pixmap +\shead{SYNOPSIS} +{\bf ilbmtoppm} +{\rm [}{\bf -verbose}{\rm ]} +{\rm [}{\it ILBMfile}{\rm ]} +\shead{DESCRIPTION} +Reads an IFF ILBM file as input. +%.IX "IFF" +%.IX "ILBM" +Produces a portable pixmap as output. +Supported ILBM types are: +\begin{TPlist}{Normal ILBMs with 1-16 planes.} +\item[{Normal ILBMs with 1-16 planes.}] +\item[{Amiga Extra-Halfbrite (EHB)}] +\item[{Amiga Hold-and-Modify (HAM) with 3-16 planes.}] +%.IX "HAM" +\item[{24 bit.}] +\item[{Color map (BMHD + CMAP chunk only, nPlanes = 0).}] +\item[{Unofficial direct color.}] +1-16 planes for each color component. +\item[{Chunks used:}] +BMHD, CMAP, CAMG (only HAM \& EHB flags used), BODY +unofficial DCOL chunk to identify direct color ILBM +\item[{Chunks ignored:}] +GRAB, DEST, SPRT, CRNG, CCRT, CLUT, DPPV, DRNG, EPSF +\item[{Other chunks (ignored but displayed in verbose mode):}] +NAME, AUTH, (c), ANNO, DPI +\item[{Unknown chunks are skipped.}] +\end{TPlist} + +\shead{OPTIONS} +\begin{TPlist}{{\bf -verbose}} +\item[{{\bf -verbose}}] +Give some informaton about the ILBM file. +\end{TPlist} + +\shead{BUGS} +Probably. +\shead{REFERENCES} +Amiga ROM Kernel Reference Manual - Devices (3rd Ed.) +Addison Wesley, ISBN 0--201--56775--X +\shead{SEE ALSO} +ppm(5), ppmtoilbm(1) +\shead{AUTHORS} +\copyright 1989 by Jef Poskanzer. +\nwl +Modified June 1993 by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ilbmtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:41 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: imgtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: imgtoppm.1 +% +\phead{imgtoppm}{1}{05 September 1989}{}{} + +%.IX imgtoppm +\shead{NAME} +imgtoppm - convert an Img-whatnot file into a portable pixmap +\shead{SYNOPSIS} +{\bf imgtoppm} +{\rm [}{\it imgfile}{\rm ]} +\shead{DESCRIPTION} +Reads an Img-whatnot file as input. +Produces a portable pixmap as output. +The Img-whatnot toolkit is available for FTP on venera.isi.edu, +along with numerous images in this format. +%.IX Img-whatnot +\shead{SEE ALSO} +ppm(5) +\shead{AUTHOR} +Based on a simple conversion program posted to comp.graphics by Ed Falk. + +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: imgtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:19 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: libpbm.3 + +\newpage +%-------------------------------------------------- +% start of input file: libpbm.3 +% +\phead{libpbm}{3}{}{}{} + +\shead{NAME} +libpbm - functions to support portable bitmap programs +\shead{SYNOPSIS} +\def\Ss{\par\vspace{1.0\baselineskip}%.ft CW +\nofill +} +\def\Se{\fill +%.ft P +\par\vspace{1.0\baselineskip}} +\Ss +\#include $<$pbm.h$>$ +cc ... libpbm.a +\Se +\shead{DESCRIPTION - PACKAGE-WIDE ROUTINES} +%.SS KEYWORD MATCHING +\Ss +int pm\_keymatch( char* str, char* keyword, int minchars ) +\Se +Does a case-insensitive match of +{\bf str} +against +{\bf keyword}{\rm .} +{\bf str} +can be a leading sunstring of +{\bf keyword}{\rm ,} +but at least +{\bf minchars} +must be present. +%.SS LOG BASE TWO +\Ss +int pm\_maxvaltobits( int maxval ) +int pm\_bitstomaxval( int bits ) +\Se +Convert between a maxval and the minimum number of bits required +to hold it. +%.SS MESSAGES AND ERRORS +\Ss +void pm\_message( char* fmt, ... ) +\Se +{\bf printf()} +style routine to write an informational message. +\Ss +void pm\_error( char* fmt, ... ) +\Se +{\bf printf()} +style routine to write an error message and abort. +\Ss +void pm\_usage( char* usage ) +\Se +Write a usage message. +The string should indicate what arguments are to be provided to the program. +%.SS GENERIC FILE MANAGEMENT +\Ss +FILE* pm\_openr( char* name ) +\Se +Open the given file for reading, with appropriate error checking. +A filename of ``-'' is taken as equivalent to stdin. +\Ss +FILE* pm\_openw( char* name ) +\Se +Open the given file for writing, with appropriate error checking. +\Ss +void pm\_close( FILE* fp ) +\Se +Close the file descriptor, with appropriate error checking. +%.SS ENDIAN I/O +\Ss +int pm\_readbigshort( FILE* in, short* sP ) +int pm\_writebigshort( FILE* out, short s ) +int pm\_readbiglong( FILE* in, long* lP ) +int pm\_writebiglong( FILE* out, long l ) +int pm\_readlittleshort( FILE* in, short* sP ) +int pm\_writelittleshort( FILE* out, short s ) +int pm\_readlittlelong( FILE* in, long* lP ) +int pm\_writelittlelong( FILE* out, long l ) +\Se +Routines to read and write short and long ints in either big- or +little-endian byte order. +\shead{DESCRIPTION - PBM-SPECIFIC ROUTINES} +%.SS TYPES AND CONSTANTS +\Ss +typedef ... bit; +\#define PBM\_WHITE ... +\#define PBM\_BLACK ... +\Se +each +{\bf bit} +should contain only the values of +{\bf PBM\_WHITE} +or +{\bf PBM\_BLACK}{\rm .} +\Ss +\#define PBM\_FORMAT ... +\#define RPBM\_FORMAT ... +\#define PBM\_TYPE PBM\_FORMAT +\#define PBM\_FORMAT\_TYPE(f) ... +\Se +For distinguishing different file formats and types. +%.SS INITIALIZATION +\Ss +void pbm\_init( int* argcP, char* argv[] ) +\Se +All PBM programs must call this routine. +%.SS MEMORY MANAGEMENT +\Ss +bit** pbm\_allocarray( int cols, int rows ) +\Se +Allocate an array of bits. +\Ss +bit* pbm\_allocrow( int cols ) +\Se +Allocate a row of the given number of bits. +\Ss +void pbm\_freearray( bit** bits, int rows ) +\Se +Free the array allocated with +{\bf pbm\_allocarray()} +containing the given number +of rows. +\Ss +void pbm\_freerow( bit* bitrow ) +\Se +Free a row of bits. +%.SS READING FILES +\Ss +void pbm\_readpbminit( FILE* fp, int* colsP, int* rowsP, int* formatP ) +\Se +Read the header from a PBM file, filling in the rows, cols and format +variables. +\Ss +void pbm\_readpbmrow( FILE* fp, bit* bitrow, int cols, int format ) +\Se +Read a row of bits into the bitrow array. +Format and cols were filled in by +{\bf pbm\_readpbminit()}{\rm .} +\Ss +bit** pbm\_readpbm( FILE* fp, int* colsP, int* rowsP ) +\Se +Read an entire bitmap file into memory, returning the allocated array and +filling in the rows and cols variables. +This function combines +{\bf pbm\_readpbminit()}{\rm ,} +{\bf pbm\_allocarray()} +and +{\bf pbm\_readpbmrow()}{\rm .} +\Ss +char* pm\_read\_unknown\_size( FILE* fp, long* nread ) +\Se +Read an entire file or input stream of unknown size to a buffer. +Allocate memory more memory as needed. The calling routine has +to free the allocated buffer with +{\bf free()}{\rm .} +{\bf pm\_read\_unknown\_size()} +returns a pointer to the allocated buffer. The +{\bf nread} +argument returns the number of bytes read. +%.SS WRITING FILES +\Ss +void pbm\_writepbminit( FILE* fp, int cols, int rows, int forceplain ) +\Se +Write the header for a portable bitmap file. +The forceplain flag forces a plain-format file to be written, as opposed +to a raw-format one. +\Ss +void pbm\_writepbmrow( FILE* fp, bit* bitrow, int cols, int forceplain ) +\Se +Write a row from a portable bitmap. +\Ss +void pbm\_writepbm( FILE* fp, bit** bits, int cols, int rows, int forceplain ) +\Se +Write the header and all data for a portable bitmap. +This function combines +{\bf pbm\_writepbminit()} +and +{\bf pbm\_writepbmrow()}{\rm .} +\shead{SEE ALSO} +libpgm(3), libppm(3), libpnm(3) +\shead{AUTHOR} +\copyright 1989, 1991 by Tony Hansen and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: libpbm.3 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:37 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: libpgm.3 + +\newpage +%-------------------------------------------------- +% start of input file: libpgm.3 +% +\phead{libpgm}{3}{}{}{} + +\shead{NAME} +libpgm - functions to support portable graymap programs +\shead{SYNOPSIS} +\def\Ss{\par\vspace{1.0\baselineskip}%.ft CW +\nofill +} +\def\Se{\fill +%.ft P +\par\vspace{1.0\baselineskip}} +\Ss +\#include $<$pgm.h$>$ +cc ... libpgm.a libpbm.a +\Se +\shead{DESCRIPTION} +%.SS TYPES AND CONSTANTS +\Ss +typedef ... gray; +\#define PGM\_MAXMAXVAL ... +extern gray pgm\_pbmmaxval; +\Se +Each +{\bf gray} +should contain only the values between +{\bf 0} +and +{\bf PGM\_MAXMAXVAL}{\rm .} +{\bf pgm\_pbmmaxval} +is the maxval used when a PGM program reads a PBM file. +Normally it is 1; however, for some programs, a larger value gives better +results. +\Ss +\#define PGM\_FORMAT ... +\#define RPGM\_FORMAT ... +\#define PGM\_TYPE PGM\_FORMAT +int PGM\_FORMAT\_TYPE( int format ) +\Se +For distinguishing different file formats and types. +%.SS INITIALIZATION +\Ss +void pgm\_init( int* argcP, char* argv[] ) +\Se +All PGM programs must call this routine. +%.SS MEMORY MANAGEMENT +\Ss +gray** pgm\_allocarray( int cols, int rows ) +\Se +Allocate an array of grays. +\Ss +gray* pgm\_allocrow( int cols ) +\Se +Allocate a row of the given number of grays. +\Ss +void pgm\_freearray( gray** grays, int rows ) +\Se +Free the array allocated with +{\bf pgm\_allocarray()} +containing the given number +of rows. +\Ss +void pgm\_freerow( gray* grayrow ) +\Se +Free a row of grays. +%.SS READING FILES +\Ss +void pgm\_readpgminit( FILE* fp, int* colsP, int* rowsP, gray* maxvalP, int* formatP ) +\Se +Read the header from a PGM file, filling in the rows, cols, maxval and format +variables. +\Ss +void pgm\_readpgmrow( FILE* fp, gray* grayrow, int cols, gray maxval, int format ) +\Se +Read a row of grays into the grayrow array. +Format, cols, and maxval were filled in by +{\bf pgm\_readpgminit()}{\rm .} +\Ss +gray** pgm\_readpgm( FILE* fp, int* colsP, int* rowsP, gray* maxvalP ) +\Se +Read an entire graymap file into memory, returning the allocated array and +filling in the rows, cols and maxval variables. +This function combines +{\bf pgm\_readpgminit()}{\rm ,} +{\bf pgm\_allocarray()} +and +{\bf pgm\_readpgmrow()}{\rm .} +%.SS WRITING FILES +\Ss +void pgm\_writepgminit( FILE* fp, int cols, int rows, gray maxval, int forceplain ) +\Se +Write the header for a portable graymap file. +The forceplain flag forces a plain-format file to be written, as opposed +to a raw-format one. +\Ss +void pgm\_writepgmrow( FILE* fp, gray* grayrow, int cols, gray maxval, int forceplain ) +\Se +Write a row from a portable graymap. +\Ss +void pgm\_writepgm( FILE* fp, gray** grays, int cols, int rows, gray maxval, int forceplain ) +\Se +Write the header and all data for a portable graymap. +This function combines +{\bf pgm\_writepgminit()} +and +{\bf pgm\_writepgmrow()}{\rm .} +\shead{SEE ALSO} +libpbm(3), libppm(3), libpnm(3) +\shead{AUTHOR} +\copyright 1989, 1991 by Tony Hansen and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: libpgm.3 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:34 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: libpnm.3 + +\newpage +%-------------------------------------------------- +% start of input file: libpnm.3 +% +\phead{libpnm}{3}{}{}{} + +\shead{NAME} +libpnm - functions to support portable anymap programs +\shead{SYNOPSIS} +\def\Ss{\par\vspace{1.0\baselineskip}%.ft CW +\nofill +} +\def\Se{\fill +%.ft P +\par\vspace{1.0\baselineskip}} +\Ss +\#include $<$pnm.h$>$ +cc ... libpnm.a libppm.a libpgm.a libpbm.a +\Se +\shead{DESCRIPTION} +%.SS TYPES AND CONSTANTS +\Ss +typedef ... xel; +typedef ... xelval; +\#define PNM\_MAXMAXVAL ... +extern xelval pnm\_pbmmaxval; +\Se +Each +{\bf xel} +contains three +{\bf xelval}{\rm s,} +each of which should contain only the values between +{\bf 0} +and +{\bf PNM\_MAXMAXVAL}{\rm .} +{\bf pnm\_pbmmaxval} +is the maxval used when a PNM program reads a PBM file. +Normally it is 1; however, for some programs, a larger value gives better +results. +%.SS XEL MANIPULATIONS +\Ss +xelval PNM\_GET1( xel x ) +\Se +This macro extracts a single value from an xel, when you know it's +from a PBM or PGM file. +When it's from a PPM file, use +{\bf PPM\_GETR()}{\rm ,} +{\bf PPM\_GETG()}{\rm ,} +and +{\bf PPM\_GETB()}{\rm .} +\Ss +void PNM\_ASSIGN1( xel x, xelval v ) +\Se +This macro assigns a single value to an xel, when you know it's +from a PBM or PGM file. +When it's from a PPM file, use +{\bf PPM\_ASSIGN()}{\rm .} +\Ss +int PNM\_EQUAL( xel x, xel y ) +\Se +This macro checks two xels for equality. +\Ss +int PNM\_FORMAT\_TYPE( int format ) +\Se +For distinguishing different file types. +%.SS INITIALIZATION +\Ss +void pnm\_init( int* argcP, char* argv[] ) +\Se +All PNM programs must call this routine. +%.SS MEMORY MANAGEMENT +\Ss +xel** pnm\_allocarray( int cols, int rows ) +\Se +Allocate an array of xels. +\Ss +xel* pnm\_allocrow( int cols ) +\Se +Allocate a row of the given number of xels. +\Ss +void pnm\_freearray( xel** xels, int rows ) +\Se +Free the array allocated with +{\bf pnm\_allocarray()} +containing the given number +of rows. +\Ss +void pnm\_freerow( xel* xelrow ) +\Se +Free a row of xels. +%.SS READING FILES +\Ss +void pnm\_readpnminit( FILE* fp, int* colsP, int* rowsP, xelval* maxvalP, int* formatP ) +\Se +Read the header from a PNM file, filling in the rows, cols, maxval and format +variables. +\Ss +void pnm\_readpnmrow( FILE* fp, xel* xelrow, int cols, xelval maxval, int format ) +\Se +Read a row of xels into the xelrow array. +Format, cols, and maxval were filled in by +{\bf pnm\_readpnminit()}{\rm .} +\Ss +xel** pnm\_readpnm( FILE* fp, int* colsP, int* rowsP, xelval* maxvalP, int* formatP ) +\Se +Read an entire anymap file into memory, returning the allocated array and +filling in the rows, cols, maxval, and format variables. +This function combines +{\bf pnm\_readpnminit()}{\rm ,} +{\bf pnm\_allocarray()} +and +{\bf pnm\_readpnmrow()}{\rm .} +Unlike the equivalent functions in PBM, PGM, and PPM, it returns the format +so you can tell what type the file is. +%.SS WRITING FILES +\Ss +void pnm\_writepnminit( FILE* fp, int cols, int rows, xelval maxval, int format, int forceplain ) +\Se +Write the header for a portable anymap file. +Unlike the equivalent functions in PBM, PGM, and PPM, you have to specify +the output type. +The forceplain flag forces a plain-format file to be written, as opposed +to a raw-format one. +\Ss +void pnm\_writepnmrow( FILE* fp, xel* xelrow, int cols, xelval maxval, int format, int forceplain ) +\Se +Write a row from a portable anymap. +\Ss +void pnm\_writepnm( FILE* fp, xel** xels, int cols, int rows, xelval maxval, int format, int forceplain ) +\Se +Write the header and all data for a portable anymap. +This function combines +{\bf pnm\_writepnminit()} +and +{\bf pnm\_writepnmrow()}{\rm .} +%.SS FORMAT PROMOTION +\Ss +void pnm\_promoteformatrow( xel* xelrow, int cols, xelval maxval, int format, xelval newmaxval, int newformat ) +\Se +Promote a row of xels from one maxval and format to a new set. +Used when combining multiple anymaps of different types - just +take the max of the maxvals and the max of the formats, and +promote them all to that. +\Ss +void pnm\_promoteformat( xel** xels, int cols, int rows, xelval maxval, int format, xelval newmaxval, int newformat ) +\Se +Promote an entire anymap. +%.SS XEL MANIPULATION +\Ss +xel pnm\_whitexel( xelval maxval, int format ) +xel pnm\_blackxel( xelval maxval, int format ) +\Se +Return a white or black xel for the given maxval and format. +\Ss +void pnm\_invertxel( xel* x, xelval maxval, int format ) +\Se +Invert an xel. +\Ss +xel pnm\_backgroundxelrow( xel* xelrow, int cols, xelval maxval, int format ) +\Se +Figure out an appropriate background xel based on this row. +\Ss +xel pnm\_backgroundxel( xel** xels, int cols, int rows, xelval maxval, int format ) +\Se +Figure out a background xel based on an entire anymap. +This can do a slightly better job than +{\bf pnm\_backgroundxelrow()}{\rm .} +\shead{SEE ALSO} +pbm(3), pgm(3), ppm(3) +\shead{AUTHOR} +\copyright 1989, 1991 by Tony Hansen and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: libpnm.3 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:12 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: libppm.3 + +\newpage +%-------------------------------------------------- +% start of input file: libppm.3 +% +\phead{libppm}{3}{}{}{} + +\shead{NAME} +libppm - functions to support portable pixmap programs +\shead{SYNOPSIS} +\def\Ss{\par\vspace{1.0\baselineskip}%.ft CW +\nofill +} +\def\Se{\fill +%.ft P +\par\vspace{1.0\baselineskip}} +\Ss +\#include $<$ppm.h$>$ +cc ... libppm.a libpgm.a libpbm.a +\Se +\shead{DESCRIPTION} +%.SS TYPES AND CONSTANTS +\Ss +typedef ... pixel; +typedef ... pixval; +\#define PPM\_MAXMAXVAL ... +extern pixval ppm\_pbmmaxval; +\Se +Each +{\bf pixel} +contains three +{\bf pixval}{\rm s,} +each of which should contain only the values between +{\bf 0} +and +{\bf PPM\_MAXMAXVAL}{\rm .} +{\bf ppm\_pbmmaxval} +is the maxval used when a PPM program reads a PBM file. +Normally it is 1; however, for some programs, a larger value gives better +results. +\Ss +\#define PPM\_FORMAT ... +\#define RPPM\_FORMAT ... +\#define PPM\_TYPE PPM\_FORMAT +int PPM\_FORMAT\_TYPE( int format ) +\Se +For distinguishing different file formats and types. +\Ss +pixval PPM\_GETR( pixel p ) +pixval PPM\_GETG( pixel p ) +pixval PPM\_GETB( pixel p ) +\Se +These three macros retrieve the red, green or blue value from the given +pixel. +\Ss +void PPM\_ASSIGN( pixel p, pixval red, pixval grn, pixval blu ) +\Se +This macro assigns the given red, green and blue values to the pixel. +\Ss +int PPM\_EQUAL( pixel p, pixel q ) +\Se +This macro checks two pixels for equality. +\Ss +void PPM\_DEPTH( pixel newp, pixel p, pixval oldmaxval, pixval newmaxval ) +\Se +This macro scales the colors of pixel +{\bf p} +according the old and new maximum values and assigns the new values to +{\bf newp}{\rm .} +It is intended to make writing ppmtowhatever easier. +\Ss +float PPM\_LUMIN( pixel p ) +\Se +This macro determines the luminance of the pixel +{\bf p}{\rm .} +%.SS MEMORY MANAGEMENT +\Ss +pixel** ppm\_allocarray( int cols, int rows ) +\Se +Allocate an array of pixels. +\Ss +pixel* ppm\_allocrow( int cols ) +\Se +Allocate a row of the given number of pixels. +\Ss +void ppm\_freearray( pixel** pixels, int rows ) +\Se +Free the array allocated with +{\bf ppm\_allocarray()} +containing the given number +of rows. +\Ss +void pbm\_freerow( pixel* pixelrow ) +\Se +Free a row of pixels. +%.SS READING PBM FILES +\Ss +void ppm\_readppminit( FILE* fp, int* colsP, int* rowsP, pixval* maxvalP, int* formatP ) +\Se +Read the header from a PPM file, filling in the rows, cols, maxval and format +variables. +\Ss +void ppm\_readppmrow( FILE* fp, pixel* pixelrow, int cols, pixval maxval, int format ) +\Se +Read a row of pixels into the pixelrow array. +Format, cols, and maxval were filled in by +{\bf ppm\_readppminit()}{\rm .} +\Ss +pixel** ppm\_readppm( FILE* fp, int* colsP, int* rowsP, pixval* maxvalP ) +\Se +Read an entire pixmap file into memory, returning the allocated array and +filling in the rows, cols and maxval variables. +This function combines +{\bf ppm\_readppminit()}{\rm ,} +{\bf ppm\_allocarray()} +and +{\bf ppm\_readppmrow()}{\rm .} +%.SS WRITING FILES +\Ss +void ppm\_writeppminit( FILE* fp, int cols, int rows, pixval maxval, int forceplain ) +\Se +Write the header for a portable pixmap file. +The forceplain flag forces a plain-format file to be written, as opposed +to a raw-format one. +\Ss +void ppm\_writeppmrow( FILE* fp, pixel* pixelrow, int cols, pixval maxval, int forceplain ) +\Se +Write a row from a portable pixmap. +\Ss +void ppm\_writeppm( FILE* fp, pixel** pixels, int cols, int rows, pixval maxval, int forceplain ) +\Se +Write the header and all data for a portable pixmap. +This function combines +{\bf ppm\_writeppminit()} +and +{\bf ppm\_writeppmrow()}{\rm .} +%.SS COLOR NAMES +\Ss +pixel ppm\_parsecolor( char* colorname, pixval maxval ) +\Se +Parses an ASCII color name into a pixel. +The color can be specified in three ways. One, as a name, assuming +that a pointer to an X11-style color names file was compiled in. Two, +as an X11-style hexadecimal number: \#rgb, \#rrggbb, \#rrrgggbbb, or +\#rrrrggggbbbb. Three, as a triplet of decimal floating point numbers +separated by commas: r.r,g.g,b.b. +\Ss +char* ppm\_colorname( pixel* colorP, pixval maxval, int hexok ) +\Se +Returns a pointer to a string describing the given color. +If the X11 color names file is available and the color appears in +it, that name is returned. +Otherwise, if the hexok flag is true then a hexadecimal colorspec +is returned; if hexok is false and the X11 color names file is +available, then the closest matching color is returned; +otherwise, it's an error. +\shead{SEE ALSO} +pbm(3), pgm(3) +\shead{AUTHOR} +\copyright 1989, 1991 by Tony Hansen and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: libppm.3 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:25 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: lispmtopgm.1 + +\newpage +%-------------------------------------------------- +% start of input file: lispmtopgm.1 +% +\phead{lispmtopgm}{1}{06 March 1990}{}{} + +%.IX lispmtopgm +\shead{NAME} +lispmtopgm - convert a Lisp Machine bitmap file into pgm format +\shead{SYNOPSIS} +{\bf lispmtopgm} +{\rm [}{\it lispmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a Lisp Machine bitmap as input. +%.IX "Lisp Machine bitmap" +Produces a portable graymap as output. +\par +This is the file format written by the tv:write-bit-array-file function on +TI Explorer and Symbolics lisp machines. +\par +Multi-plane bitmaps on lisp machines are color; but the lispm image file +format does not include a color map, so we must treat it as a graymap +instead. This is unfortunate. +\shead{SEE ALSO} +pgmtolispm(1), pgm(5) +\shead{BUGS} +The Lispm bitmap file format is a bit quirky; Usually the image in the file +has its width rounded up to the next higher multiple of 32, but not always. +If the width is not a multiple of 32, we don't deal with it properly, but +because of the Lispm microcode, such arrays are probably not image data +anyway. +\par +Also, the lispm code for saving bitmaps has a bug, in that if you are writing a +bitmap which is not mod32 across, the file may be up to 7 bits too short! They +round down instead of up, and we don't handle this bug gracefully. +\par +No color. +\shead{AUTHOR} +\copyright 1991 by Jamie Zawinski and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: lispmtopgm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:07:57 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: macptopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: macptopbm.1 +% +\phead{macptopbm}{1}{29 March 1989}{}{} + +%.IX macptopbm +\shead{NAME} +macptopbm - convert a MacPaint file into a portable bitmap +\shead{SYNOPSIS} +{\bf macptopbm} +{\rm [}{\bf -extraskip} +{\it N}{\rm ]} +{\rm [}{\it macpfile}{\rm ]} +\shead{DESCRIPTION} +Reads a MacPaint file as input. +%.IX MacPaint +%.IX Macintosh +Produces a portable bitmap as output. +\shead{OPTIONS} +\begin{TPlist}{{\bf -extraskip}} +\item[{{\bf -extraskip}}] +This flag is to get around a problem with some methods +of transferring files from the Mac world to the Unix world. +Most of these methods leave the Mac files alone, but a few of +them add the ``finderinfo'' data onto the front of the Unix file. +This means an extra 128 bytes to skip over when reading the file. +The symptom to watch for is that the resulting PBM file looks shifted +to one side. +If you get this, try +{\bf -extraskip} +128, and if that still doesn't look right try another value. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +picttoppm(1), pbmtomacp(1), pbm(5) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +The MacPaint-reading code is \copyright 1987 by Patrick J. Naughton +(naughton@wind.sun.com). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, +% provided that the above copyright notice appear in all copies and that +% both that copyright notice and this permission notice appear in +% supporting documentation. +% +% end of input file: macptopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:07:58 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: mgrtopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: mgrtopbm.1 +% +\phead{mgrtopbm}{1}{24 January 1989}{}{} + +%.IX mgrtopbm +\shead{NAME} +mgrtopbm - convert a MGR bitmap into a portable bitmap +\shead{SYNOPSIS} +{\bf mgrtopbm} +{\rm [}{\it mgrfile}{\rm ]} +\shead{DESCRIPTION} +Reads a MGR bitmap as input. +%.IX MGR +Produces a portable bitmap as output. +\shead{SEE ALSO} +pbmtomgr(1), pbm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: mgrtopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:42 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: mtvtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: mtvtoppm.1 +% +\phead{mtvtoppm}{1}{02 February 1989}{}{} + +%.IX mtvtoppm +\shead{NAME} +mtvtoppm - convert output from the MTV or PRT ray tracers into a portable pixmap +\shead{SYNOPSIS} +{\bf mtvtoppm} +{\rm [}{\it mtvfile}{\rm ]} +\shead{DESCRIPTION} +Reads an input file from Mark VanDeWettering's MTV ray tracer. +%.IX "MTV raytracer" +Produces a portable pixmap as output. +\par +The PRT raytracer also produces this format. +%.IX "PRT raytracer" +\shead{SEE ALSO} +ppm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: mtvtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:20 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbm.5 + +\newpage +%-------------------------------------------------- +% start of input file: pbm.5 +% +\phead{pbm}{5}{27 September 1991}{}{} + +\shead{NAME} +pbm - portable bitmap file format +\shead{DESCRIPTION} +The portable bitmap format is a lowest common denominator monochrome +file format. +%.IX "PBM file format" +It was originally designed to make it reasonable to mail bitmaps +between different types of machines using the typical stupid network +mailers we have today. +Now it serves as the common language of a large family of bitmap +conversion filters. +The definition is as follows: +\begin{IPlist} +\IPitem{{-}} +A ``magic number'' for identifying the file type. +A pbm file's magic number is the two characters ``P1''. +%.IX "magic numbers" +\IPitem{{-}} +Whitespace (blanks, TABs, CRs, LFs). +\IPitem{{-}} +A width, formatted as ASCII characters in decimal. +\IPitem{{-}} +Whitespace. +\IPitem{{-}} +A height, again in ASCII decimal. +\IPitem{{-}} +Whitespace. +\IPitem{{-}} +Width * height bits, each either '1' or '0', starting at the top-left +corner of the bitmap, proceeding in normal English reading order. +\IPitem{{-}} +The character '1' means black, '0' means white. +\IPitem{{-}} +Whitespace in the bits section is ignored. +\IPitem{{-}} +Characters from a ``\#'' to the next end-of-line are ignored (comments). +\IPitem{{-}} +No line should be longer than 70 characters. +\end{IPlist} + +\par +Here is an example of a small bitmap in this format: +\nofill +P1 +\# feep.pbm +24 7 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 +0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 +0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 +0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 +0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +\fill +\par +Programs that read this format should be as lenient as possible, +accepting anything that looks remotely like a bitmap. +\par +There is also a variant on the format, available +by setting the RAWBITS option at compile time. This variant is +%.IX RAWBITS +different in the following ways: +\begin{IPlist} +\IPitem{{-}} +The ``magic number'' is ``P4'' instead of ``P1''. +\IPitem{{-}} +The bits are stored eight per byte, high bit first low bit last. +\IPitem{{-}} +No whitespace is allowed in the bits section, and only a single character +of whitespace (typically a newline) is allowed after the height. +\IPitem{{-}} +The files are eight times smaller and many times faster to read and write. +\end{IPlist} + +\shead{SEE ALSO} +atktopbm(1), brushtopbm(1), cmuwmtopbm(1), g3topbm(1), +gemtopbm(1), icontopbm(1), +macptopbm(1), mgrtopbm(1), pi3topbm(1), xbmtopbm(1), +ybmtopbm(1), +pbmto10x(1), pnmtoascii(1), pbmtoatk(1), pbmtobbnbg(1), +pbmtocmuwm(1), pbmtoepson(1), +pbmtog3(1), pbmtogem(1), pbmtogo(1), pbmtoicon(1), pbmtolj(1), +pbmtomacp(1), pbmtomgr(1), pbmtopi3(1), pbmtoplot(1), pbmtoptx(1), +pbmtox10bm(1), pbmtoxbm(1), pbmtoybm(1), +pbmtozinc(1), +pbmlife(1), pbmmake(1), pbmmask(1), pbmreduce(1), +pbmtext(1), pbmupc(1), +pnm(5), pgm(5), ppm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbm.5 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:16 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmclean.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmclean.1 +% +\phead{pbmclean}{12 Dec 1990}{}{}{} + +\shead{NAME} +pbmclean - flip isolated pixels in portable bitmap +\shead{SYNOPSIS} +pbmclean [-connect] [pbmfile] +\shead{DESCRIPTION} +Reads a portable bitmap as input. Outputs a portable bitmap with every +pixel which has less than % +\it connect % +\rm identical neighbours inverted. +Pbmclean can be used to clean up ``snow'' on bitmap images. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1990 by Angus Duggan. +\copyright 1989 by Jef Poskanzer. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. +% +% end of input file: pbmclean.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:07:58 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmlife.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmlife.1 +% +\phead{pbmlife}{1}{21 February 1991}{}{} + +%.IX pbmlife +\shead{NAME} +pbmlife - apply Conway's rules of Life to a portable bitmap +\shead{SYNOPSIS} +{\bf pbmlife} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Applies the rules of Life to it for one generation, +%.IX Life +and produces a portable bitmap as output. +\par +A white pixel in the image is interpreted as a live beastie, and a +black pixel as an empty space. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1988, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmlife.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:07:59 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmmake.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmmake.1 +% +\phead{pbmmake}{1}{22 February 1989}{}{} + +%.IX pbmmake +\shead{NAME} +pbmmake - create a blank bitmap of a specified size +\shead{SYNOPSIS} +{\bf pbmmake} +{\rm [}{\bf -white}{\rm $|$}{\bf -black}{\rm $|$}{\bf -gray} +{\rm ]} +{\it width height} +\shead{DESCRIPTION} +Produces a portable bitmap of the specified width and height. +%.IX "generating bitmaps" +The color defaults to white. +\shead{OPTIONS} +\par +In addition to the usual +{\bf -white} +and +{\bf -black}{\rm ,} +this program implements +{\bf -gray}{\rm .} +This gives a simple 50\% gray pattern with 1's and 0's alternating. +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pbm(5), ppmmake(1) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmmake.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:00 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmmask.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmmask.1 +% +\phead{pbmmask}{1}{08 August 1989}{}{} + +%.IX pbmmask +\shead{NAME} +pbmmask - create a mask bitmap from a regular bitmap +\shead{SYNOPSIS} +{\bf pbmmask} +{\rm [}{\bf -expand}{\rm ]} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Creates a corresponding mask bitmap and writes it out. +\par +The color to be interpreted as ``background'' is determined automatically. +Regardless of which color is background, the mask will be white where +the background is and black where the figure is. +\par +This lets you do a masked paste like this, for objects with a black background: +\nofill + pbmmask obj $>$ objmask + pnmpaste $<$ dest -and objmask $<$x$>$ $<$y$>$ $|$ pnmpaste -or obj $<$x$>$ $<$y$>$ +\fill +%.IX pnmpaste +For objects with a white background, you can either invert them or +add a step: +\nofill + pbmmask obj $>$ objmask + pnminvert objmask $|$ pnmpaste -and obj 0 0 $>$ blackback + pnmpaste $<$ dest -and objmask $<$x$>$ $<$y$>$ $|$ pnmpaste -or blackback $<$x$>$ $<$y$>$ +\fill +%.IX pnminvert +Note that this three-step version works for objects with black backgrounds +too, if you don't care about the wasted time. +\par +You can also use masks with graymaps and pixmaps, using the +{\it pnmarith} +tool. For instance: +\nofill + ppmtopgm obj.ppm $|$ pgmtopbm -threshold $|$ pbmmask $>$ objmask.pbm + pnmarith -multiply dest.ppm objmask.pbm $>$ t1.ppm + pnminvert objmask.pbm $|$ pnmarith -multiply obj.ppm - $>$ t2.ppm + pnmarith -add t1.ppm t2.ppm +\fill +%.IX pnmarith +An interesting variation on this is to pipe the mask through the +{\it pnmsmooth} +%.IX pnmsmooth +script before using it. This makes the boundary between the two images less +sharp. +%.OPTIONS +\begin{TPlist}{{\bf -expand}} +\item[{{\bf -expand}}] +Expands the mask by one pixel out from the image. +This is useful if you want a little white border around your image. +(A better solution might be to turn the +{\it pbmlife} +tool into a general cellular automaton tool...) +\end{TPlist} + +\shead{SEE ALSO} +pnmpaste(1), pnminvert(1), pbm(5), pnmarith(1), pnmsmooth(1) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmmask.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:16 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmpscale.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmpscale.1 +% +\phead{pbmpscale}{12 Dec 1990}{}{}{} + +\shead{NAME} +pbmpscale - enlarge a portable bitmap with edge smoothing +\shead{SYNOPSIS} +pbmpscale N [ pbmfile ] +\shead{DESCRIPTION} +Reads a portable bitmap as input, and outputs a portable bitmap +enlarged N times. Enlargement is done by pixel replication, +with some additional smoothing of corners and edges. +\shead{SEE ALSO} +pnmenlarge(1), ppmscale(1), pbm(5) +\shead{AUTHOR} +\copyright 1990 by Angus Duggan. +\copyright 1989 by Jef Poskanzer. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. +\shead{NOTES} +pbmpscale works best for enlargements of 2. Enlargements greater than 2 +should be done by as many enlargements of 2 as possible, followed by an +enlargement by the remaining factor. +% +% end of input file: pbmpscale.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:00 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmreduce.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmreduce.1 +% +\phead{pbmreduce}{1}{02 August 1989}{}{} + +%.IX pbmreduce +\shead{NAME} +pbmreduce - read a portable bitmap and reduce it N times +\shead{SYNOPSIS} +{\bf pbmreduce} +{\rm [}{\bf -floyd}{\rm $|$}{\bf -fs}{\rm $|$}{\bf -threshold} +{\rm ]} +{\rm [}{\bf -value} +{\it val}{\rm ]} +{\it N} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Reduces it by a factor of +{\it N}{\rm ,} +and produces a portable bitmap as output. +%.IX shrinking +\par +{\it pbmreduce} +duplicates a lot of the functionality of +{\it pgmtopbm;} +%.IX pgmtopbm +you could do something like +{\bf pnmscale $|$ pgmtopbm,} +%.IX pnmscale +but +{\it pbmreduce} +is a lot faster. +\par +{\it pbmreduce} +can be used to ``re-halftone'' an image. +%.IX halftoning +Let's say you have a scanner that only produces black\&white, not +grayscale, and it does a terrible job of halftoning (most b\&w scanners +fit this description). +One way to fix the halftoning is to scan at the highest possible +resolution, say 300 dpi, and then reduce by a factor of three or +so using +{\it pbmreduce}{\rm .} +You can even correct the brightness of an image, by using the +{\bf -value} +flag. +\shead{OPTIONS} +\par +By default, the halftoning after the reduction is done via +boustrophedonic Floyd-Steinberg error diffusion; however, the +%.IX Floyd-Steinberg +%.IX "error diffusion" +{\bf -threshold} +flag can be used to specify simple thresholding. This gives better +%.IX thresholding +results when reducing line drawings. +\par +The +{\bf -value} +flag alters the thresholding value for all quantizations. +It should be a real number between 0 and 1. +Above 0.5 means darker images; below 0.5 means lighter. +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pnmenlarge(1), pnmscale(1), pgmtopbm(1), pbm(5) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmreduce.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:01 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtext.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtext.1 +% +\phead{pbmtext}{1}{5 January 1991}{}{} + +%.IX pbmtext +\shead{NAME} +pbmtext - render text into a bitmap +\shead{SYNOPSIS} +{\bf pbmtext} +{\rm [}{\bf -font} +{\it fontfile}{\rm ]} +{\rm [}{\it text}{\rm ]} +\shead{DESCRIPTION} +\par +Takes the specified text, either a single line from the command +line or multiple lines from standard input, and renders it +into a bitmap. +%.IX text +\shead{OPTIONS} +\par +By default, pbmtext uses a built-in font. +You can also specify your own font with the +{\bf -font} +flag. +The +{\it fontfile} +is a pbm file, created in a very specific way. +In your window system of choice, display the following text +in the desired (fixed-width) font: +\nofill + + M ",/\^{}\_[`jpqy$|$ M + + / !"\#\$\%\&'()*+ / + $<$ ,-./01234567 $<$ + $>$ 89:;$<$=$>$?@ABC $>$ + @ DEFGHIJKLMNO @ + \_ PQRSTUVWXYZ[ \_ + \{ \bs ]\^{}\_`abcdefg \{ + \} hijklmnopqrs \} + \~{} tuvwxyz\{$|$\}\~{} \~{} + + M ",/\^{}\_[`jpqy$|$ M + +\fill +Do a screen grab or window dump of that text, using for instance +{\it xwd}{\rm ,} +{\it xgrabsc}{\rm ,} +or +{\it screendump}{\rm .} +Convert the result into a pbm file. +If necessary, use +{\it pnmcut} +to remove everything except the text. +Finally, run it through +{\it pnmcrop} +%.IX pnmcrop +to make sure the edges are right up against the text. +{\it pbmtext} +can figure out the sizes and spacings from that. +\shead{SEE ALSO} +pbm(5), pnmcut(1), pnmcrop(1) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtext.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:02 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmto10x.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmto10x.1 +% +\phead{pbmto10x}{1}{1 January 1990}{}{} + +%.IX pbmto10x +\shead{NAME} +pbmto10x - convert a portable bitmap into Gemini 10X printer graphics +\shead{SYNOPSIS} +{\bf pbmto10x} +{\rm [}{\bf -h}{\rm ]} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a file of Gemini 10X printer graphics as output. +%.IX "Gemini 10X printer graphics" +The 10x's printer codes are alleged to be similar to the Epson codes. +%.IX Epson +\par +Note that there is no 10xtopbm tool - this transformation is one way. +\shead{OPTIONS} +\par +The resolution is normally 60H by 72V. +If the +{\bf -h} +flag is specified, resolution is 120H by 144V. +You may find it useful to rotate landscape images before printing. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1990 by Ken Yap. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmto10x.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:02 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtoascii.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtoascii.1 +% +\phead{pbmtoascii}{1}{20 March 1992}{}{} + +\shead{NAME} +pbmtoascii - convert a portable bitmap into ASCII graphics +\shead{SYNOPSIS} +{\bf pbmtoascii} +{\rm [}{\bf -1x2}{\rm $|$}{\bf -2x4}{\rm ]} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a somewhat crude ASCII graphic as output. +\par +Note that there is no asciitopbm tool - this transformation is one-way. +\shead{OPTIONS} +The +{\bf -1x2} +and +{\bf -2x4} +flags give you two alternate ways for the bits to get mapped to characters. +With +{\bf 1x2}{\rm ,} +the default, each character represents a group of 1 bit across by 2 bits down. +With +{\bf -2x4}{\rm ,} +each character represents 2 bits across by 4 bits down. +With the 1x2 mode you can see the individual bits, so it's useful for +previewing small bitmaps on a non-graphics terminal. +The 2x4 mode lets you display larger bitmaps on a standard 80-column display, +but it obscures bit-level details. +2x4 mode is also good for displaying +graymaps - ``pnmscale -width 158 $|$ pgmnorm $|$ pgmtopbm -thresh'' +should give good results. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1988, 1992 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtoascii.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:03 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtoatk.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtoatk.1 +% +\phead{pbmtoatk}{1}{26 September 1991}{}{} + +%.IX pbmtoatk +\shead{NAME} +pbmtoatk - convert portable bitmap to Andrew Toolkit raster object +\shead{SYNOPSIS} +{\bf pbmtoatk} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a Andrew Toolkit raster object as output. +%.IX "Andrew Toolkit raster object" +\shead{SEE ALSO} +atktopbm(1), pbm(5) +\shead{AUTHOR} +\copyright 1991 by Bill Janssen. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtoatk.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:03 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtobbnbg.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtobbnbg.1 +% +\phead{pbmtobg}{1}{16 May 1989}{}{} + +%.IX pbmtobbnbg +\shead{NAME} +pbmtobg - convert a portable bitmap into BitGraph graphics +\shead{SYNOPSIS} +{\bf pbmtobg} +{\rm [}{\it rasterop}{\rm ]} +{\rm [}{\it x} +{\it y}{\rm ]} +$<$ +{\it pbmfile} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces BBN BitGraph terminal Display Pixel Data (DPD) sequence as output. +%.IX "BBN BitGraph" +\par +The rasterop can be specified on the command line. If this is omitted, 3 +(replace) will be used. A position in (x,y) coordinates can also be +specified. If both are given, the rasterop comes first. The portable bitmap +is always taken from the standard input. +\par +Note that there is no bgtopbm tool. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +Copyright 1989 by Mike Parker. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtobbnbg.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:04 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtocmuwm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtocmuwm.1 +% +\phead{pbmtocmuwm}{1}{15 April 1989}{}{} + +%.IX pbmtocmuwm +\shead{NAME} +pbmtocmuwm - convert a portable bitmap into a CMU window manager bitmap +\shead{SYNOPSIS} +{\bf pbmtocmuwm} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a CMU window manager bitmap as output. +%.IX "CMU window manager bitmap" +\shead{SEE ALSO} +cmuwmtopbm(1), pbm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtocmuwm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:17 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtoepsi.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtoepsi.1 +% +\phead{pbmtoepsi}{1}{1992}{}{} + +%.IX pbmtoepsi +\shead{NAME} +pbmtoepsi - convert a portable bitmap into an encapsulated PostScript +style preview bitmap +\shead{SYNOPSIS} +{\bf pbmtoepsi} +{\rm [}{\bf -bbonly}{\rm ]} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produce an encapsulated Postscript style bitmap as output. The output +is not a stand alone postscript file, it is only a preview bitmap, +which can be included in an encapsulated PostScript file. +Note that there is no epsitopbm tool - this transformation is one way. + +This utility is a part of the pstoepsi tool by Doug Crabill +(dgc@cs.purdue.edu). +\shead{OPTIONS} +\begin{TPlist}{{\bf -bbonly}} +\item[{{\bf -bbonly}}] +Only create a boundary box, don't fill it with the image. +\end{TPlist} + +\shead{SEE ALSO} +pbm(5), pnmtops(1), psidtopgm(1) +\shead{AUTHOR} +\copyright 1988 Jef Poskanzer +\nwl +modified by Doug Crabill 1992. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtoepsi.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:04 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtoepson.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtoepson.1 +% +\phead{pbmtoepson}{1}{4 January 1991}{}{} + +%.IX pbmtoepson +\shead{NAME} +pbmtoepson - convert a portable bitmap into Epson printer graphics +\shead{SYNOPSIS} +{\bf pbmtoepson} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a file of Epson printer graphics as output. +%.IX Epson +\par +Note that there is no epsontopbm tool - this transformation is one way. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1991 by John Tiller (tiller@galois.msfc.nasa.gov) and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtoepson.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:05 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtog3.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtog3.1 +% +\phead{pbmtog3}{1}{02 October 1989}{}{} + +%.IX pbmtog3 +\shead{NAME} +pbmtog3 - convert a portable bitmap into a Group 3 fax file +\shead{SYNOPSIS} +{\bf pbmtog3} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as output. +Produces a Group 3 fax file as input. +%.IX "Group 3 fax" +%.IX fax +\shead{REFERENCES} +The standard for Group 3 fax is defined in CCITT Recommendation T.4. +\shead{BUGS} +Probably. +\shead{SEE ALSO} +g3topbm(1), pbm(5) +\shead{AUTHOR} +\copyright 1989 by Paul Haeberli (paul@manray.sgi.com). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtog3.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:05 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtogem.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtogem.1 +% +\phead{pbmtogem}{1}{11 March 1990}{}{} + +%.IX pbmtogem +\shead{NAME} +pbmtogem - convert a portable bitmap into a GEM .img file +\shead{SYNOPSIS} +{\bf pbmtogem} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a GEM .img file as output. +%.IX GEM +\shead{BUGS} +It does not support compression of the data. +\shead{SEE ALSO} +gemtopbm(1), pbm(5) +\shead{AUTHOR} +\copyright 1988 by David Beckemeyer (bdt!david) and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, +% provided that the above copyright notice appear in all copies and that +% both that copyright notice and this permission notice appear in +% supporting documentation. +% +% end of input file: pbmtogem.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:06 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtogo.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtogo.1 +% +\phead{pbmtogo}{1}{24 November 1989}{}{} + +%.IX pbmtogo +\shead{NAME} +pbmtogo - convert a portable bitmap into compressed GraphOn graphics +\shead{SYNOPSIS} +{\bf pbmtogo} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces 2D compressed GraphOn graphics as output. +%.IX GraphOn +Be sure to set up your GraphOn with the following modes: 8 bits / no parity; +obeys no XON/XOFF; NULs are accepted. These are all on the Comm menu. +Also, remember to turn off tty post processing. +Note that there is no gotopbm tool. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1988, 1989 by Jef Poskanzer, Michael Haberler, and Bo Thide'. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtogo.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:06 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtoicon.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtoicon.1 +% +\phead{pbmtoicon}{1}{31 August 1988}{}{} + +%.IX pbmtoicon +\shead{NAME} +pbmtoicon - convert a portable bitmap into a Sun icon +\shead{SYNOPSIS} +{\bf pbmtoicon} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a Sun icon as output. +%.IX Sun +%.IX "Sun icon format" +\shead{SEE ALSO} +icontopbm(1), pbm(5) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtoicon.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:07 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtolj.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtolj.1 +% +\phead{pbmtolj}{1}{29 August 1988}{}{} + +%.IX pbmtolj +\shead{NAME} +pbmtolj - convert a portable bitmap into HP LaserJet format +\shead{SYNOPSIS} +{\bf pbmtolj} +{\rm [}{\bf -resolution} +{\it N}{\rm ]} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces HP LaserJet data as output. +%.IX "HP LaserJet" +\par +Note that there is no ljtopbm tool. +\shead{OPTIONS} +\begin{TPlist}{{\bf -resolution}} +\item[{{\bf -resolution}}] +Specifies the resolution of the output device, in dpi. +Typical values are 75, 100, 150, 300. +The default is 75. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer and Michael Haberler. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtolj.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:15 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtoln03.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtoln03.1 +% +\phead{pbmtoln03}{1}{7 May 1993}{}{} + +%.IX pbmtoln03 +\shead{NAME} +pbmtoln03 - convert protable bitmap to DEC LN03+ Sixel output +\shead{SYNOPSIS} +{\bf pbmtoln03} +{\rm [}{\bf -rltbf}{\rm ]} +{\it pbmfile} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +%.IX "DEC LN03+ Sixel" +Produces a DEC LN03+ Sixel output file. +\shead{OPTIONS} +\begin{TPlist}{{\bf -l nn}} +\item[{{\bf -l nn}}] +Use ``nn'' as value for left margin (default 0). +\item[{{\bf -r nn}}] +Use ``nn'' as value for right margin (default 2400). +\item[{{\bf -t nn}}] +Use ``nn'' as value for top margin (default 0). +\item[{{\bf -b nn}}] +Use ``nn'' as value for bottom margin (default 3400). +\item[{{\bf -f nn}}] +Use ``nn'' as value for form length (default 3400). +\end{TPlist} + +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +Tim Cook, 26 Feb 1992 +% +% end of input file: pbmtoln03.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:18 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtolps.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtolps.1 +% +\phead{pbmtolps}{12 Dec 1990}{}{}{} + +\shead{NAME} +pbmtolps - convert portable bitmap to PostScript +\shead{SYNOPSIS} +pbmtolps [ -dpi n ] [ pbmfile ] +\shead{DESCRIPTION} +Reads a portable bitmap as input, and outputs PostScript. +The output Postscript uses lines instead of the image operator to +generate a (device dependent) picture which will be imaged +much faster. +\par +The Postscript path length is constrained to be less that 1000 +points so that no limits are overrun on the Apple Laserwriter +and (presumably) no other printers. +\shead{SEE ALSO} +pgmtops(1), ppmtops(1), pbm(5) +\shead{AUTHOR} +\copyright George Phillips (phillips@cs.ubc.ca). +% +% end of input file: pbmtolps.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:08 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtomacp.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtomacp.1 +% +\phead{pbmtomacp}{1}{31 August 1988}{}{} + +%.IX pbmtomacp +\shead{NAME} +pbmtomacp - convert a portable bitmap into a MacPaint file +\shead{SYNOPSIS} +{\bf pbmtomacp} +{\rm [}{\bf -l} +{\it left}{\rm ]} +{\rm [}{\bf -r} +{\it right}{\rm ]} +{\rm [}{\bf -b} +{\it bottom}{\rm ]} +{\rm [}{\bf -t} +{\it top}{\rm ]} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +If no input-file is given, standard input is assumed. +Produces a MacPaint file as output. +%.IX MacPaint +%.IX Macintosh +\par +The generated file is only the data fork of a picture. +You will need a program such as +{\it mcvert} +to generate a Macbinary or a BinHex file that contains the necessary +information to identify the file as a PNTG file to MacOS. +\shead{OPTIONS} +\par +Left, right, bottom \& top let you define a square into the pbm file, +that must be converted. +Default is the whole file. +If the file is too large for a MacPaint-file, the bitmap is cut to fit +from ( left, top ). +\shead{BUGS} +The source code contains comments in a language other than English. +\shead{SEE ALSO} +ppmtopict(1), macptopbm(1), pbm(5), mcvert(1) +\shead{AUTHOR} +\copyright 1988 by Douwe van der Schaaf ($\ldots$!mcvax!uvapsy!vdschaaf). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtomacp.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:08 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtomgr.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtomgr.1 +% +\phead{pbmtomgr}{1}{24 January 1989}{}{} + +%.IX pbmtomgr +\shead{NAME} +pbmtomgr - convert a portable bitmap into a MGR bitmap +\shead{SYNOPSIS} +{\bf pbmtomgr} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a MGR bitmap as output. +%.IX MGR +\shead{SEE ALSO} +mgrtopbm(1), pbm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtomgr.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:36 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtopgm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtopgm.1 +% +\phead{pbmtopgm}{12 Dec 1990}{}{}{} + +\shead{NAME} +pbmtopgm - convert portable bitmap to portable graymap by averaging areas +\shead{SYNOPSIS} +pbmtopgm $<$width$>$ $<$height$>$ [pbmfile] +\shead{DESCRIPTION} +Reads a portable bitmap as input. Outputs a portable graymap created by +averaging the number of pixels within a sample area of +% +\it width % +\rm by % +\it height % +\rm around each point. Pbmtopgm is similar to a +special case of ppmconvol. A ppmsmooth step may be needed after pbmtopgm. +\par +Pbmtopgm has the effect of anti-aliasing bitmaps which contain distinct +line features. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1990 by Angus Duggan. +\copyright 1989 by Jef Poskanzer. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. +\shead{NOTES} +Pbmtopgm works best with odd sample width and heights. +% +% end of input file: pbmtopgm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:09 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtopi3.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtopi3.1 +% +\phead{pbmtopi3}{1}{11 March 1990}{}{} + +%.IX pbmtopi3 +\shead{NAME} +pbmtopi3 - convert a portable bitmap into an Atari Degas .pi3 file +\shead{SYNOPSIS} +{\bf pbmtopi3} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces an Atari Degas .pi3 file as output. +%.IX Atari +%.IX "Degas .pi3" +\shead{SEE ALSO} +pi3topbm(1), pbm(5), ppmtopi1(1), pi1toppm(1) +\shead{AUTHOR} +\copyright 1988 by David Beckemeyer (bdt!david) and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, +% provided that the above copyright notice appear in all copies and that +% both that copyright notice and this permission notice appear in +% supporting documentation. +% +% end of input file: pbmtopi3.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:18 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtopk.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtopk.1 +% +\phead{pbmtopk}{1}{6 August 1990}{}{} + +\shead{NAME} +pbmtopk - convert a portable bitmap into a packed (PK) format font +\shead{SYNOPSIS} +pbmtopk pkfile[.pk] tfmfile[.tfm] resolution [-s designsize] [-p num param...] +[-C codingscheme] [-F family] [-f optfile] [-c num] +[-W width] [-H height] [-D depth] +[-I ital] [-h horiz] [-v vert] [-x xoff] [-y yoff] [pbmfile]... +\shead{DESCRIPTION} +Reads portable bitmaps as input, and produces a packed (PK) font file and a +TFM (TeX font metric) file as output. The resolution parameter indicates the +resolution of the font, in dots per inch. If the filename ``-'' is used for any +of the filenames, the standard input stream (or standard output where +appropriate) will be used. +\shead{OPTIONS} +\begin{IPlist} +\IPitem{{-s\ designsize}} +Sets the design size of the font, in TeX's points (72.27pt to the inch). The +default design size is 1. The TFM parameters are given as multiples of the +design size. +\IPitem{{-p\ num\ param...}} +Sets the first num font parameters for the font. The first seven parameters +are the slant, +interword spacing, interword space stretchability, interword space +shrinkability, x-height, quad width, and post-sentence extra space of the +font. Math and symbol fonts may have more parameters; see The TeXbook for a +list of these. Reasonable default values are chosen for parameters which are +not specified. +\IPitem{{-C\ codingscheme}} +Sets the coding scheme comment in the TFM file. +\IPitem{{-F\ family}} +Sets the font family comment in the TFM file. +\IPitem{{-f\ optfile}} +Reads the file optfile, which should contain a lines of the form: +\par\vspace{1.0\baselineskip} +\nofill +\raggedright + filename xoff yoff horiz vert width height depth ital +\fill +%.ad +\par\vspace{1.0\baselineskip} +The pbm files specified by the filename parameters are inserted consecutively +in the font with the specified attributes. If any of the attributes are +omitted, or replaced with ``*'', a default value will be calculated from the +size of the bitmap. The settings of the -W, -H, -D, -I, -h, -v, -x, and -y +options do not affected characters created in this way. +The character number can be changed by including a line starting with +``='', +followed by the new number. +Lines beginning with +``\%'' or ``\#'' are ignored. +\IPitem{{-c\ num}} +Sets the character number of the next bitmap encountered to num. +\IPitem{{-W\ width}} +Sets the TFM width of the next character to width (in design size multiples). +\IPitem{{-H\ height}} +Sets the TFM height of the next character to height (in design size multiples). +\IPitem{{-D\ depth}} +Sets the TFM depth of the next character to depth (in design size multiples). +\IPitem{{-I\ ital}} +Sets the italic correction of the next character to +ital (in design size multiples). +\IPitem{{-h\ horiz}} +Sets the horizontal escapement of the next character to horiz (in pixels). +\IPitem{{-v\ vert}} +Sets the vertical escapement of the next character to vert (in pixels). +\IPitem{{-x\ xoff}} +Sets the horizontal offset of the next character to xoff (in pixels). +\IPitem{{-y\ yoff}} +Sets the vertical offset of the next character to yoff (in pixels, from the +top row). +\end{IPlist} + +\shead{SEE ALSO} +pktopbm(1), pbm(5) +\shead{AUTHOR} +Adapted from Tom Rokicki's pxtopk by Angus Duggan (ajcd@dcs.ed.ac.uk). + +% +% end of input file: pbmtopk.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:09 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtoplot.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtoplot.1 +% +\phead{pbmtoplot}{1}{1 September 1990}{}{} + +%.IX pbmtoplot +\shead{NAME} +pbmtoplot - convert a portable bitmap into a Unix plot(5) file +\shead{SYNOPSIS} +{\bf pbmtoplot} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a Unix +{\it plot} +file. +%.IX plot +\par +Note that there is no plottopbm tool - this transformation is one-way. +\shead{SEE ALSO} +pbm(5), plot(5) +\shead{AUTHOR} +\copyright 1990 by Arthur David Olson. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtoplot.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:10 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtoptx.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtoptx.1 +% +\phead{pbmtoptx}{1}{31 August 1988}{}{} + +%.IX pbmtoptx +\shead{NAME} +pbmtoptx - convert a portable bitmap into Printronix printer graphics +\shead{SYNOPSIS} +{\bf pbmtoptx} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a file of Printronix printer graphics as output. +%.IX Printronix +\par +Note that there is no ptxtopbm tool - this transformation is one way. +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtoptx.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:10 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtox10bm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtox10bm.1 +% +\phead{pbmtox10bm}{1}{31 August 1988}{}{} + +%.IX pbmtox10bm +\shead{NAME} +pbmtox10bm - convert a portable bitmap into an X10 bitmap +\shead{SYNOPSIS} +{\bf pbmtox10bm} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces an X10 bitmap as output. +This older format is maintained for compatibility. +%.IX "X bitmap" +%.IX "X window system" +\par +Note that there is no x10bmtopbm tool, because +{\it xbmtopbm} +can read both X11 and X10 bitmaps. +\shead{SEE ALSO} +pbmtoxbm(1), xbmtopbm(1), pbm(5) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtox10bm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:11 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtoxbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtoxbm.1 +% +\phead{pbmtoxbm}{1}{31 August 1988}{}{} + +%.IX pbmtoxbm +\shead{NAME} +pbmtoxbm - convert a portable bitmap into an X11 bitmap +\shead{SYNOPSIS} +{\bf pbmtoxbm} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces an X11 bitmap as output. +%.IX "X bitmap" +%.IX "X window system" +\shead{SEE ALSO} +pbmtox10bm(1), xbmtopbm(1), pbm(5) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtoxbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:12 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtoybm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtoybm.1 +% +\phead{pbmtoybm}{1}{06 March 1990}{}{} + +%.IX pbmtoybm +\shead{NAME} +pgmtoybm - convert a portable bitmap into a Bennet Yee ``face'' file +\shead{SYNOPSIS} +{\bf pbmtoybm} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces as output a file acceptable to the +{\it face} +and +{\it xbm} +programs by Bennet Yee (bsy+@cs.cmu.edu). +%.IX face +\shead{SEE ALSO} +ybmtopbm(1), pbm(5), face(1), face(5), xbm(1) +\shead{AUTHOR} +\copyright 1991 by Jamie Zawinski and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmtoybm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:12 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmtozinc.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmtozinc.1 +% +\phead{pbmtozinc}{l}{02 November 1990}{}{} + +%.IX pbmtozinc +\shead{NAME} +pbmtozinc - convert a portable bitmap into a Zinc bitmap +\shead{SYNOPSIS} +{\bf pbmtozinc} +{\rm [}{\it pbmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable bitmap as input. +Produces a bitmap in the format used by the Zinc Interface Library +(ZIL) Version 1.0 as output. +%.IX "Zinc Interface Library" +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1988 by James Darrell McCauley (jdm5548@diamond.tamu.edu) +and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% Zinc and Zinc Interface Library are trademarks of +% Zinc Software Inc., Pleasant Grove, Utah. +% +% end of input file: pbmtozinc.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:13 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pbmupc.1 + +\newpage +%-------------------------------------------------- +% start of input file: pbmupc.1 +% +\phead{pbmupc}{1}{14 March 1989}{}{} + +%.IX pbmupc +\shead{NAME} +pbmupc - create a Universal Product Code bitmap +\shead{SYNOPSIS} +{\bf pbmupc} +{\rm [}{\bf -s1}{\rm $|$}{\bf -s2}{\rm ]} +{\it type manufac product} +\shead{DESCRIPTION} +Generates a Universal Product Code symbol. +%.IX "Universal Product Code" +The three arguments are: a one digit product type, a five digit +manufacturer code, and a five digit product code. +For example, ``0 72890 00011'' is the code for Heineken. +%.IX Heineken +\par +As presently configured, +{\it pbmupc} +produces a bitmap 230 bits wide and 175 bits high. +The size can be altered by changing the defines at the beginning of +the program, or by running the output through +{\it pnmenlarge} +or +{\it pnmscale}{\rm .} +\shead{OPTIONS} +\par +The +{\bf -s1} +and +{\bf -s2} +flags select the style of UPC to generate. +The default, +{\bf -s1}{\rm ,} +looks more or less like this: +\nofill + $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$ + $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$ + $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$ + $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$ +0$|$$|$12345$|$$|$67890$|$$|$5 +\fill +The other style, +{\bf -s2}{\rm ,} +puts the product type digit higher up, and +doesn't display the checksum digit: +\nofill + $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$ + $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$ +0$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$ + $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$ + $|$$|$12345$|$$|$67890$|$$|$ +\fill +\shead{SEE ALSO} +pbm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pbmupc.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:42 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pcxtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pcxtoppm.1 +% +\phead{pcxtoppm}{1}{9 April 1990}{}{} + +%.IX pcxtoppm +\shead{NAME} +pcxtoppm - convert a PCX file into a portable pixmap +\shead{SYNOPSIS} +{\bf pcxtoppm} +{\rm [}{\it pcxfile}{\rm ]} +\shead{DESCRIPTION} +Reads a PCX file as input. +%.IX PCX +Produces a portable pixmap as output. +\shead{SEE ALSO} +ppmtopcx(1), ppm(5) +\shead{AUTHOR} +\copyright 1990 by Michael Davidson. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pcxtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:38 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgm.5 + +\newpage +%-------------------------------------------------- +% start of input file: pgm.5 +% +\phead{pgm}{5}{12 November 1991}{}{} + +\shead{NAME} +pgm - portable graymap file format +\shead{DESCRIPTION} +The portable graymap format is a lowest common denominator grayscale +file format. +%.IX "PGM file format" +The definition is as follows: +\begin{IPlist} +\IPitem{{-}} +A ``magic number'' for identifying the file type. +A pgm file's magic number is the two characters ``P2''. +%.IX "magic numbers" +\IPitem{{-}} +Whitespace (blanks, TABs, CRs, LFs). +\IPitem{{-}} +A width, formatted as ASCII characters in decimal. +\IPitem{{-}} +Whitespace. +\IPitem{{-}} +A height, again in ASCII decimal. +\IPitem{{-}} +Whitespace. +\IPitem{{-}} +The maximum gray value, again in ASCII decimal. +\IPitem{{-}} +Whitespace. +\IPitem{{-}} +Width * height gray values, each in ASCII decimal, between 0 and the specified +maximum value, separated by whitespace, starting at the top-left +corner of the graymap, proceeding in normal English reading order. +A value of 0 means black, and the maximum value means white. +\IPitem{{-}} +Characters from a ``\#'' to the next end-of-line are ignored (comments). +\IPitem{{-}} +No line should be longer than 70 characters. +\end{IPlist} + +\par +Here is an example of a small graymap in this format: +\nofill +P2 +\# feep.pgm +24 7 +15 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0 +0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0 +0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0 +0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0 +0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +\fill +\par +Programs that read this format should be as lenient as possible, +accepting anything that looks remotely like a graymap. +\par +There is also a variant on the format, available +by setting the RAWBITS option at compile time. This variant is +different in the following ways: +%.IX RAWBITS +\begin{IPlist} +\IPitem{{-}} +The ``magic number'' is ``P5'' instead of ``P2''. +\IPitem{{-}} +The gray values are stored as plain bytes, instead of ASCII decimal. +\IPitem{{-}} +No whitespace is allowed in the grays section, and only a single character +of whitespace (typically a newline) is allowed after the maxval. +\IPitem{{-}} +The files are smaller and many times faster to read and write. +\end{IPlist} + +\par +Note that this raw format can only be used for maxvals less than +or equal to 255. +If you use the +{\it pgm} +library and try to write a file with a larger maxval, +it will automatically fall back on the slower but more general plain +format. +\shead{SEE ALSO} +fitstopgm(1), fstopgm(1), hipstopgm(1), lispmtopgm(1), psidtopgm(1), +rawtopgm(1), +pgmbentley(1), pgmcrater(1), pgmedge(1), pgmenhance(1), pgmhist(1), pgmnorm(1), +pgmoil(1), pgmramp(1), pgmtexture(1), +pgmtofits(1), pgmtofs(1), pgmtolispm(1), pgmtopbm(1), +pnm(5), pbm(5), ppm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgm.5 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:26 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmbentley.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmbentley.1 +% +\phead{pgmbentley}{1}{11 January 1991}{}{} + +%.IX pgmbentley +\shead{NAME} +pgmbentley - Bentleyize a portable graymap +\shead{SYNOPSIS} +{\bf pgmbentley} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Performs The Bentley Effect, and writes a portable graymap as output. +%.IX "Bentley Effect" +\par +The Bentley Effect is described in ``Beyond Photography'' by Holzmann, +chapter 4, photo 4. +It's a vertical smearing based on brightness. +\shead{SEE ALSO} +pgmoil(1), ppmrelief(1), pgm(5) +\shead{AUTHOR} +\copyright 1990 by Wilson Bent (whb@hoh-2.att.com). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmbentley.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:27 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmcrater.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmcrater.1 +% +\phead{pgmcrater}{1}{15 October 1991}{}{} + +%.IX pgmcrater +%.IX fractals +%.IX craters +\shead{NAME} +pgmcrater - create cratered terrain by fractal forgery +\shead{SYNOPSIS} +\raggedright +{\bf pgmcrater} +'ti 15 +{\rm [}{\bf -number} +{\it n}{\rm ]} +{\rm [}{\bf -height}{\rm $|$}{\bf -ysize} +{\it s}{\rm ]} +{\rm [}{\bf -width}{\rm $|$}{\bf -xsize} +{\it s}{\rm ]} +{\rm [}{\bf -gamma} +{\it g}{\rm ]} +%.ad +\shead{DESCRIPTION} +{\bf pgmcrater} +creates a portable graymap which mimics cratered terrain. The graymap +is created by simulating the impact of a given number of craters with +random position and size, then rendering the resulting terrain +elevations based on a light source shining from one side of the +screen. The size distribution of the craters is based on a power law +which results in many more small craters than large ones. The number +of craters of a given size varies as the reciprocal of the area as +described on pages 31 and 32 of Peitgen and Saupe[1]; cratered bodies +in the Solar System are observed to obey this relationship. The +formula used to obtain crater radii governed by this law from a +uniformly distributed pseudorandom sequence was developed by Rudy +Rucker. +\par +High resolution images with large numbers of craters often benefit +from being piped through +{\bf pnmsmooth}{\rm .} +The averaging performed by this process eliminates some of the jagged +pixels and lends a mellow ``telescopic image'' feel to the overall +picture. +\shead{OPTIONS} +\begin{TPlist}{{\bf -number}{\it \ n} +} +\item[{{\bf -number}{\it \ n} +}] +Causes +{\it n} +craters to be generated. If no +{\bf -number} +specification is given, 50000 craters will be generated. Don't expect +to see them all! For every large crater there are many, many more +tiny ones which tend simply to erode the landscape. In general, the +more craters you specify the more realistic the result; ideally you +want the entire terrain to have been extensively turned over again and +again by cratering. High resolution images containing five to ten +million craters are stunning but take quite a while to create. +\item[{{\bf -height}{\it \ height} +}] +Sets the height of the generated image to +{\it height} +pixels. The default height is 256 pixels. +\item[{{\bf -width}{\it \ width} +}] +Sets the width of the generated image to +{\it width} +pixels. The default width is 256 pixels. +\item[{{\bf -xsize}{\it \ width} +}] +Sets the width of the generated image to +{\it width} +pixels. The default width is 256 pixels. +\item[{{\bf -ysize}{\it \ height} +}] +Sets the height of the generated image to +{\it height} +pixels. The default height is 256 pixels. +\item[{{\bf -gamma}{\it \ factor} +}] +The specified +{\it factor} +is used to gamma correct the graymap in the same manner as performed +by +{\bf pnmgamma}{\rm .} +The default value is 1.0, which results in a medium contrast image. +Values larger than 1 lighten the image and reduce contrast, while +values less than 1 darken the image, increasing contrast. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{BUGS} +The +{\bf -gamma} +option isn't really necessary since you can achieve the same +effect by piping the output from +{\bf pgmcrater} +through +{\bf pnmgamma}{\rm .} +However, +{\bf pgmcrater} +performs an internal gamma map anyway in the process of rendering the +elevation array into a graymap, so there's no additional overhead in +allowing a user-specified gamma. +\par +Real craters have two distinct morphologies. +{\bf pgmcrater} +simulates only small craters, which are hemispherical in shape +(regardless of the incidence angle of the impacting body, as long as the +velocity is sufficiently high). Large craters, such as Copernicus and +Tycho on the Moon, have a ``walled plain'' shape with a cross-section more +like: +\nofill +%.ne 2 +%.cs R 18 + /\bs /\bs +\nwl + \_\_\_\_\_/ \bs \_\_\_\_\_\_\_\_\_\_\_\_/\bs \_\_\_\_\_\_\_\_\_\_\_\_/ \bs \_\_\_\_\_ +%.cs R +\fill +%.ss 12 +Larger craters should really use this profile, including the central +peak, and totally obliterate the pre-existing terrain. +\shead{SEE ALSO} +{\bf pgm}{\rm (5),} +{\bf pnmgamma}{\rm (1),} +{\bf pnmsmooth}{\rm (1)} +\begin{TPlist}{[1]} +\item[{[1]}] +Peitgen, H.-O., and Saupe, D. eds., The Science Of Fractal Images, +New York: Springer Verlag, 1988. +%.ne 10 +\end{TPlist} + +\shead{AUTHOR} +\ind{1\parindent}{\nofill + John Walker + Autodesk SA + Avenue des Champs-Montants 14b + CH-2074 MARIN + Suisse/Schweiz/Svizzera/Svizra/Switzerland +\fill} +\begin{TPlist}{Usenet:} +\item[{Usenet:}] +kelvin@Autodesk.com +\item[{Fax:}] +038/33 88 15 +\item[{Voice:}] +038/33 76 33 +\end{TPlist} + +\par +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +without any conditions or restrictions. This software is provided ``as +is'' without express or implied warranty. +\par +{\bf PLUGWARE!} +If you like this kind of stuff, you may also enjoy ``James Gleick's +Chaos--The Software'' for MS-DOS, available for \$59.95 from your +local software store or directly from Autodesk, Inc., Attn: Science +Series, 2320 Marinship Way, Sausalito, CA 94965, USA. Telephone: +(800) 688-2344 toll-free or, outside the U.S. (415) 332-2344 Ext +4886. Fax: (415) 289-4718. ``Chaos--The Software'' includes a more +comprehensive fractal forgery generator which creates +three-dimensional landscapes as well as clouds and planets, plus five +more modules which explore other aspects of Chaos. The user guide of +more than 200 pages includes an introduction by James Gleick and +detailed explanations by Rudy Rucker of the mathematics and algorithms +used by each program. +% +% end of input file: pgmcrater.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:27 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmedge.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmedge.1 +% +\phead{pgmedge}{1}{04 February 1990}{}{} + +%.IX pgmedge +\shead{NAME} +pgmedge - edge-detect a portable graymap +\shead{SYNOPSIS} +{\bf pgmedge} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Outlines the edges, and writes a portable graymap as output. +%.IX "edge detection" +Piping the result through +{\bf pgmtopbm -threshold} +and playing with the +threshold value will give a bitmap of the edges. +%.IX thresholding +\par +The edge detection technique used is to take the Pythagorean sum of +two Sobel gradient operators at 90 degrees to each other. +For more details see ``Digital Image Processing'' by Gonzalez and Wintz, +chapter 7. +\shead{SEE ALSO} +pgmenhance(1), pgmtopbm(1), pgm(5), pbm(5) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmedge.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:28 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmenhance.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmenhance.1 +% +\phead{pgmenhance}{1}{13 January 1989}{}{} + +%.IX pgmenhance +\shead{NAME} +pgmenhance - edge-enhance a portable graymap +\shead{SYNOPSIS} +{\bf pgmenhance} +{\rm [}{\it -N}{\rm ]} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Enhances the edges, and writes a portable graymap as output. +%.IX "edge enhancement" +\par +The edge enhancing technique is taken from Philip R. Thompson's ``xim'' +program, which in turn took it from section 6 of ``Digital Halftones by +Dot Diffusion'', D. E. Knuth, ACM Transaction on Graphics Vol. 6, No. 4, +October 1987, which in turn got it from two 1976 papers by J. F. Jarvis +{\it et. al.} +\shead{OPTIONS} +\par +The optional +{\it -N} +flag should be a digit from 1 to 9. +1 is the lowest level of enhancement, 9 is the highest, +The default is 9. +\shead{SEE ALSO} +pgmedge(1), pgm(5), pbm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmenhance.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:29 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmhist.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmhist.1 +% +\phead{pgmhist}{1}{28 February 1989}{}{} + +%.IX pgmhist +\shead{NAME} +pgmhist - print a histogram of the values in a portable graymap +\shead{SYNOPSIS} +{\bf pgmhist} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Prints a histogram of the gray values. +\shead{SEE ALSO} +pgmnorm(1), pgm(5), ppmhist(1) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmhist.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Feb 4 14:35:48 1994 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmkernel.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmkernel.1 +% +\phead{pgmkernel}{1}{10 December 1992}{}{} + +%.IX pgmkernel +\shead{NAME} +pgmkernel - generate a convolution kernel +\shead{SYNOPSIS} +{\bf pgmkernel} [{\bf --weight}{\it w}] {\it width} [{\it height}] +\shead{DESCRIPTION} +Generates a portable graymap array of size +{\it width} x {\it height} (or {\it width} x {\it width} if {\it height} +is not specified) to be used as a convolution file by +{\bf pnmconvol}{\rm .} +The data in the convolution array K are computed according to the +formula: +\par +K(i,j) = 1 / ( 1 + w * sqrt((i-width/2)\^{}2 + (j-height/2)\^{}2)) +\par +where +{\it w} +is a coefficient specified via the +{\it --weight} +flag, and +{\it width} +and +{\it height} +are the X and Y filter sizes. +\par +The output PGM file is always written out in ASCII format. +\shead{OPTIONS} +The optional +{\it -weight} +flag should be a real number greater than -1. +The default value is 6.0. +\shead{BUGS} +The computation time is proportional to +{\it width} +* +{\it height}{\rm .} +This increases rapidly with the increase of the kernel size. +A better approach could be using a FFT in these cases. +\shead{SEE ALSO} +pnmconvol(1), pnmsmooth(1) +\shead{AUTHOR} +Alberto Accomazzi (alberto@cfa.harvard.edu). +% +% end of input file: pgmkernel.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Nov 29 13:21:08 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmnoise.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmnoise.1 +% +\phead{pgmnoise}{1}{16 November 1993}{}{} + +%.IX pgmnoise +\shead{NAME} +pgmnoise - create a graymap made up of white noise +\shead{SYNOPSIS} +{\bf pgmnoise} +{\it width height} +\shead{DESCRIPTION} +Creates a portable graymap that is made up of random pixels with +gray values in the range of 0 to PGM\_MAXMAXVAL (depends on the compilation, +either 255 or 65535). The graymap has a size of width * height pixels. +\shead{SEE ALSO} +pgm(5) +\shead{AUTHOR} +\copyright 1993 by Frank Neumann. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmnoise.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:29 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmnorm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmnorm.1 +% +\phead{pgmnorm}{1}{28 February 1989}{}{} + +%.IX pgmnorm +\shead{NAME} +pgmnorm - normalize the contrast in a portable graymap +\shead{SYNOPSIS} +{\bf pgmnorm} +{\rm [}{\bf -bpercent} +{\it N} +$|$ +{\bf -bvalue} +{\it N}{\rm ]} +{\rm [}{\bf -wpercent} +{\it N} +$|$ +{\bf -wvalue} +{\it N}{\rm ]} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Normalizes the contrast by forcing the lightest pixels to white, the +%.IX "contrast normalization" +darkest pixels to black, and linearly rescaling the ones in between; +and produces a portable graymap as output. +\shead{OPTIONS} +\par +By default, the darkest 2 percent of all pixels are mapped to black, and +the lightest 1 percent are mapped to white. +You can override these percentages by using the +{\bf -bpercent} +and +{\bf -wpercent} +flags, +or you can specify the exact pixel values to be mapped by using the +{\bf -bvalue} +and +{\bf -wvalue} +flags. +Appropriate numbers for the flags can be gotten from the +{\it pgmhist} +tool. +%.IX pgmhist +If you just want to enhance the contrast, then choose values at elbows in the +histogram; {\it e.g.}, if value 29 represents 3\% of the image but value 30 +represents 20\%, choose 30 for +{\it bvalue}{\rm .} +If you want to lighten the +image, then set +{\it bvalue} +to 0 and just fiddle with +{\it wvalue}{\rm ;} +similarly, to darken the image, set +{\it wvalue} +to maxval and play with +{\it bvalue}{\rm .} +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pgmhist(1), pgm(5) +\shead{AUTHOR} +Partially based on the fbnorm filter in Michael Mauldin's ``Fuzzy +Pixmap'' +package. + +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmnorm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:30 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmoil.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmoil.1 +% +\phead{pgmoil}{1}{11 January 1991}{}{} + +%.IX pgmoil +\shead{NAME} +pgmoil - turn a portable graymap into an oil painting +\shead{SYNOPSIS} +{\bf pgmoil} +{\rm [}{\bf -n} +{\it N}{\rm ]} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Does an ``oil transfer'', and writes a portable graymap as output. +%.IX "oil transfer" +\par +The oil transfer is described in ``Beyond Photography'' by Holzmann, +chapter 4, photo 7. +It's a sort of localized smearing. +\shead{OPTIONS} +\par +The optional +{\bf -n} +flag controls the size of the area smeared. The default value is 3. +\shead{BUGS} +Takes a long time to run. +\shead{SEE ALSO} +pgmbentley(1), ppmrelief(1), pgm(5) +\shead{AUTHOR} +\copyright 1990 by Wilson Bent (whb@hoh-2.att.com). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmoil.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:30 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmramp.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmramp.1 +% +\phead{pgmramp}{1}{24 November 1989}{}{} + +%.IX pgmramp +\shead{NAME} +pgmramp - generate a grayscale ramp +\shead{SYNOPSIS} +{\bf pgmramp} +{\bf -lr}{\rm $|$}{\bf -tb} +$|$ +{\bf -rectangle}{\rm $|$}{\bf -ellipse} +{\it width height} +\shead{DESCRIPTION} +Generates a graymap of the specified size containing a black-to-white ramp. +%.IX "generating graymaps" +These ramps are useful for multiplying with other images, using the +{\it pnmarith} +tool. +%.IX pnmarith +\shead{OPTIONS} +\begin{TPlist}{{\bf -lr}} +\item[{{\bf -lr}}] +A left to right ramp. +\item[{{\bf -tb}}] +A top to bottom ramp. +\item[{{\bf -rectangle}}] +A rectangular ramp. +\item[{{\bf -ellipse}}] +An elliptical ramp. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pnmarith(1), pgm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmramp.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:35 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmtexture.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmtexture.1 +% +\phead{pgmtexture}{1}{22 Aug 1991}{}{} + +%.IX pgmtexture +\shead{NAME} +pgmtexture - calculate textural features on a portable graymap +\shead{SYNOPSIS} +{\bf pgmtexture} +{\rm [}{\bf -d} +{\it d}{\rm ]} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. Calculates textural features +based on spatial dependence matrices at 0, 45, 90, and 135 degrees for +a distance +{\it d} +(default = 1). +Textural features include: +\begin{IPlist} +\IPitem{{}} +(1) Angular Second Moment, +\nwl +(2) Contrast, +\nwl +(3) Correlation, +\nwl +(4) Variance, +\nwl +(5) Inverse Difference Moment, +\nwl +(6) Sum Average, +\nwl +(7) Sum Variance, +\nwl +(8) Sum Entropy, +\nwl +(9) Entropy, +\nwl +(10) Difference Variance, +\nwl +(11) Difference Entropy, +\nwl +(12, 13) Information Measures of Correlation, and +\nwl +(14) Maximal Correlation Coefficient. +\end{IPlist} + +\par +Algorithm taken from: +\nwl +Haralick, R.M., K. Shanmugam, and I. Dinstein. 1973. Textural features +for image classification. +{\it IEEE Transactions on Systems, Man,} +{\it and Cybertinetics,} +SMC-3(6):610-621. +\shead{BUGS} +The program can run incredibly slow for large images (larger than 64 x 64) +and command line options are limited. +The method for finding (14) the maximal correlation coefficient, which +requires finding the second largest eigenvalue of a matrix Q, does not +always converge. +\shead{REFERENCES} +{\it IEEE Transactions on Systems, Man,} +{\it and Cybertinetics,} +SMC-3(6):610-621. +\shead{SEE ALSO} +pgm(5), pnmcut(1) +\shead{AUTHOR} +\copyright 1991 by Texas Agricultural Experiment Station, employer for +hire of James Darrell McCauley. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% THE TEXAS AGRICULTURAL EXPERIMENT STATION (TAES) AND THE TEXAS A&M +% UNIVERSITY SYSTEM (TAMUS) MAKE NO EXPRESS OR IMPLIED WARRANTIES +% (INCLUDING BY WAY OF EXAMPLE, MERCHANTABILITY) WITH RESPECT TO ANY +% ITEM, AND SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL +% OR CONSEQUENTAL DAMAGES ARISING OUT OF THE POSESSION OR USE OF +% ANY SUCH ITEM. LICENSEE AND/OR USER AGREES TO INDEMNIFY AND HOLD +% TAES AND TAMUS HARMLESS FROM ANY CLAIMS ARISING OUT OF THE USE OR +% POSSESSION OF SUCH ITEMS. +% +% end of input file: pgmtexture.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:31 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmtofits.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmtofits.1 +% +\phead{pgmtofits}{1}{20 September 1989}{}{} + +%.IX pgmtofits +\shead{NAME} +pgmtofits - convert a portable graymap into FITS format +\shead{SYNOPSIS} +{\bf pgmtofits} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Produces a FITS file as output. +%.IX FITS +\par +FITS stands for Flexible Image Transport System. A full description +can be found in Astronomy \& Astrophysics Supplement Series 44 (1981), +page 363. +\shead{SEE ALSO} +fitstopgm(1), pgm(5) +\shead{AUTHOR} +\copyright 1989 by Wilson H. Bent (whb@hoh-2.att.com). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmtofits.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:31 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmtofs.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmtofs.1 +% +\phead{pgmtofs}{1}{18 May 1990}{}{} + +%.IX pgmtofs +\shead{NAME} +pgmtofs - convert portable graymap to Usenix FaceSaver(tm) format +\shead{SYNOPSIS} +{\bf pgmtofs} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Produces Usenix FaceSaver(tm) format as output. +%.IX FaceSaver +\par +FaceSaver is a registered trademark of Metron Computerware Ltd. of +Oakland, CA. +\shead{SEE ALSO} +fstopgm(1), pgm(5) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmtofs.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:32 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmtolispm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmtolispm.1 +% +\phead{pgmtolispm}{1}{06 March 1990}{}{} + +%.IX pgmtolispm +\shead{NAME} +pgmtolispm - convert a portable graymap into Lisp Machine format +\shead{SYNOPSIS} +{\bf pgmtolispm} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Produces a Lisp Machine bitmap as output. +%.IX "Lisp Machine bitmap" +\par +This is the file format read by the tv:read-bit-array-file function on +TI Explorer and Symbolics lisp machines. +\par +Given a pgm (instead of a pbm) a multi-plane image will be output. +This is probably not useful unless you have a color lisp machine. +\par +Multi-plane bitmaps on lisp machines are color; but the lispm image file +format does not include a color map, so we must treat it as a graymap +instead. This is unfortunate. +\shead{SEE ALSO} +lispmtopgm(1), pgm(5) +\shead{BUGS} +Output width is always rounded up to the nearest multiple of 32; this might +not always be what you want, but it probably is (arrays which are not +modulo 32 cannot be passed to the Lispm BITBLT function, and thus cannot +easily be displayed on the screen). +\par +No color. +\shead{AUTHOR} +\copyright 1991 by Jamie Zawinski and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmtolispm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:33 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmtopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmtopbm.1 +% +\phead{pgmtopbm}{1}{26 July 1988}{}{} + +%.IX pgmtopbm +\shead{NAME} +pgmtopbm - convert a portable graymap into a portable bitmap +\shead{SYNOPSIS} +{\bf pgmtopbm} +{\rm [}{\bf -floyd}{\rm $|$}{\bf -fs}{\rm $|$}{\bf -threshold} +{\rm $|$}{\bf -dither8}{\rm $|$}{\bf -d8}{\rm $|$}{\bf -cluster3} +{\rm $|$}{\bf -c3}{\rm $|$}{\bf -cluster4}{\rm $|$}{\bf -c4} +{\rm $|$}{\bf -cluster8}{\rm $|$}{\bf -c8}{\rm ]} +{\rm [}{\bf -value} +{\it val}{\rm ]} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Produces a portable bitmap as output. +%.IX halftoning +\par +Note that there is no pbmtopgm converter, because any pgm program can +read pbm files automagically. +\shead{OPTIONS} +\par +The default quantization method is boustrophedonic Floyd-Steinberg error +diffusion +{\rm (}{\bf -floyd} +or +{\bf -fs}{\rm ).} +%.IX Floyd-Steinberg +%.IX "error diffusion" +Also available are simple thresholding +{\rm (}{\bf -threshold}{\rm );} +%.IX thresholding +Bayer's ordered dither +{\rm (}{\bf -dither8}{\rm )} +with a 16x16 matrix; and three different sizes of 45-degree clustered-dot dither +{\rm (}{\bf -cluster3}{\rm ,} +{\bf -cluster4}{\rm ,} +{\bf -cluster8}{\rm ).} +%.IX dithering +\par +Floyd-Steinberg will almost always give the best looking results; however, +looking good is not always what you want. +For instance, thresholding can be used in a pipeline with the +{\it pnmconvol} +%.IX pnmconvol +tool, for tasks like edge and peak detection. +And clustered-dot dithering gives a newspaper-ish look, a useful special effect. +\par +The +{\bf -value} +flag alters the thresholding value for Floyd-Steinberg and +simple thresholding. +It should be a real number between 0 and 1. +Above 0.5 means darker images; below 0.5 means lighter. +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{REFERENCES} +The only reference you need for this stuff is ``Digital Halftoning'' by +Robert Ulichney, MIT Press, ISBN 0--262--21009--6. +\shead{SEE ALSO} +pbmreduce(1), pgm(5), pbm(5), pnmconvol(1) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmtopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:43 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pgmtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pgmtoppm.1 +% +\phead{pgmtoppm}{1}{11 January 1991}{}{} + +%.IX pgmtoppm +\shead{NAME} +pgmtoppm - colorize a portable graymap into a portable pixmap +\shead{SYNOPSIS} +{\bf pgmtoppm} +{\it colorspec} +{\rm [}{\it pgmfile}{\rm ]} +\nwl +{\bf pgmtoppm} +{\it colorspec1}{\bf -}{\it colorspec2} +{\rm [}{\it pgmfile}{\rm ]} +\nwl +{\bf pgmtoppm -map} +{\it mapfile} +{\rm [}{\it pgmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable graymap as input. +Colorizes it by multiplying the the gray values by specified color or colors, +and produces a portable pixmap as output. +%.IX colorization +\par +If only one color is specified, black in the pgm file stays black and +white in the pgm file turns into the specified color in the ppm file. +If two colors (separated by a dash) are specified, then black gets mapped +to the first color and white gets mapped to the second. +\par +The color can be specified in five ways: +%.IX "specifying colors" +\begin{TPlist}{o} +\item[{o}] +A name, assuming +that a pointer to an X11-style color names file was compiled in. +\item[{o}] +An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are +each 1- to 4-digit hexadecimal numbers. +\item[{o}] +An X11-style decimal specifier: rgbi:r/g/b, where r g and b are +floating point numbers between 0 and 1. +\item[{o}] +For backwards compatibility, an old-X11-style hexadecimal +number: \#rgb, \#rrggbb, \#rrrgggbbb, or \#rrrrggggbbbb. +\item[{o}] +For backwards compatibility, a triplet of numbers +separated by commas: r,g,b, where r g and b are +floating point numbers between 0 and 1. +(This style was added before MIT came up with the similar rgbi style.) +\end{TPlist} + +\par +Also, the +{\bf -map} +flag lets you specify an entire colormap to be used. +The mapfile is just a +{\it ppm} +file; it can be any shape, all that matters +is the colors in it and their order. +In this case, black gets mapped into the first +color in the map file, and white gets mapped to the last. +\shead{SEE ALSO} +rgb3toppm(1), ppmtopgm(1), ppmtorgb3(1), ppm(5), pgm(5) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pgmtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:43 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pi1toppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pi1toppm.1 +% +\phead{pi1toppm}{1}{19 July 1990}{}{} + +%.IX pi1toppm +\shead{NAME} +pi1toppm - convert an Atari Degas .pi1 into a portable pixmap +\shead{SYNOPSIS} +{\bf pi1toppm} +{\rm [}{\it pi1file}{\rm ]} +\shead{DESCRIPTION} +Reads an Atari Degas .pi1 file as input. +%.IX Atari +%.IX "Degas .pi1" +Produces a portable pixmap as output. +\shead{SEE ALSO} +ppmtopi1(1), ppm(5), pi3topbm(1), pbmtopi3(1) +\shead{AUTHOR} +\copyright 1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer. +% Permission to use, copy, modify and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pi1toppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:13 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pi3topbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pi3topbm.1 +% +\phead{pi3topbm}{1}{11 March 1990}{}{} + +%.IX pi3topbm +\shead{NAME} +pi3topbm - convert an Atari Degas .pi3 file into a portable bitmap +\shead{SYNOPSIS} +{\bf pi3topbm} +{\rm [}{\it pi3file}{\rm ]} +\shead{DESCRIPTION} +Reads an Atari Degas .pi3 file as input. +%.IX Atari +%.IX "Degas .pi3" +Produces a portable bitmap as output. +\shead{SEE ALSO} +pbmtopi3(1), pbm(5), pi1toppm(1), ppmtopi1(1) +\shead{AUTHOR} +\copyright 1988 by David Beckemeyer (bdt!david) and Diomidis D. Spinellis. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, +% provided that the above copyright notice appear in all copies and that +% both that copyright notice and this permission notice appear in +% supporting documentation. +% +% end of input file: pi3topbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:44 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: picttoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: picttoppm.1 +% +\phead{picttoppm}{1}{29 November 1991}{}{} + +%.IX picttoppm +\shead{NAME} +picttoppm - convert a Macintosh PICT file into a portable pixmap +\shead{SYNOPSIS} +{\bf picttoppm} +{\rm [}{\bf -verbose}{\rm ]} +{\rm [}{\bf -fullres}{\rm ]} +{\rm [}{\bf -noheader}{\rm ]} +{\rm [}{\it pictfile}{\rm ]} +\shead{DESCRIPTION} +Reads a PICT file (version 1 or 2) and outputs a portable pixmap. +%.IX PICT +%.IX Macintosh +Useful as the first step in converting a scanned image to something +that can be displayed on Unix. +\shead{OPTIONS} +\begin{TPlist}{{\bf --fullres}} +\item[{{\bf --fullres}}] +Force any images in the PICT file to be output with at least their +full resolution. A PICT file may indicate that a contained +image is to be scaled down before output. This option forces images +to retain their sizes and prevent information loss. +\item[{{\bf --noheader}}] +Do not skip the 512 byte header that is present on all PICT files. +This is useful when you have PICT data that was not stored in +the data fork of a PICT file. +\item[{{\bf --verbose}}] +Turns on verbose mode which prints a +a whole bunch of information that only +{\it picttoppm} +hackers really care about. +\end{TPlist} + +\shead{BUGS} +The PICT file format is a general drawing format. +{\it picttoppm} +only supports a small subset of its operations but is still very useful for +files produced by scanning software. In particular, text added to a +scanned image will be silently ignored. +\shead{SEE ALSO} +Inside Macintosh volume 5, +ppmtopict(1), +ppm(5) +\shead{AUTHOR} +\copyright 1989 George Phillips (phillips@cs.ubc.ca). +% Permission is granted to freely distribute this program in whole or in +% part provided you don't make money off it, you don't pretend that you +% wrote it and that this notice accompanies the code. +% +% George Phillips +% Department of Computer Science +% University of British Columbia +% +% end of input file: picttoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:44 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pjtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pjtoppm.1 +% +\phead{pjtoppm}{1}{14 July 1991}{}{} + +%.IX pjtoppm +\shead{NAME} +pjtoppm - convert an HP PaintJet file to a portable pixmap +\shead{SYNOPSIS} +{\bf pjtoppm} +{\rm [}{\it paintjet}{\rm ]} +\shead{DESCRIPTION} +Reads an HP PaintJet file as input and converts it into a portable pixmap. +This was a quick hack to save some trees, and it only handles a small +subset of the paintjet commands. +In particular, it will only handle +enough commands to convert most raster image files. +\shead{REFERENCES} +HP PaintJet XL Color Graphics Printer User's Guide +\shead{SEE ALSO} +ppmtopj(1) +\shead{AUTHOR} +\copyright 1991 by Christos Zoulas. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pjtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:19 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pktopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: pktopbm.1 +% +\phead{pktopbm}{1}{6 August 1990}{}{} + +\shead{NAME} +pktopbm - convert packed (PK) format font into portable bitmap(s) +\shead{SYNOPSIS} +pktopbm pkfile[.pk] [-c num] pbmfile ... +\shead{DESCRIPTION} +Reads a packed (PK) font file as input, and produces portable bitmaps as +output. If the filename ``-'' is used for any +of the filenames, the standard input stream (or standard output where +appropriate) will be used. +\shead{OPTIONS} +\begin{IPlist} +\IPitem{{-c\ num}} +Sets the character number of the next bitmap written to num. +\end{IPlist} + +\shead{SEE ALSO} +pbmtopk(1), pbm(5) +\shead{AUTHOR} +Adapted from Tom Rokicki's pxtopk by Angus Duggan (ajcd@dcs.ed.ac.uk. + +% +% end of input file: pktopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:35 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnm.5 + +\newpage +%-------------------------------------------------- +% start of input file: pnm.5 +% +\phead{pnm}{5}{27 September 1991}{}{} + +\shead{NAME} +pnm - portable anymap file format +\shead{DESCRIPTION} +The +{\it pnm} +programs operate on portable bitmaps, graymaps, and pixmaps, produced by the +{\it pbm, pgm,} +and +{\it ppm} +segments. There is no file format associated with +{\it pnm} +itself. +\shead{SEE ALSO} +anytopnm(1), rasttopnm(1), tifftopnm(1), xwdtopnm(1), +pnmtops(1), pnmtorast(1), pnmtotiff(1), pnmtoxwd(1), +pnmarith(1), pnmcat(1), pnmconvol(1), pnmcrop(1), pnmcut(1), +pnmdepth(1), pnmenlarge(1), pnmfile(1), pnmflip(1), pnmgamma(1), +pnmindex(1), pnminvert(1), pnmmargin(1), pnmnoraw(1), pnmpaste(1), +pnmrotate(1), pnmscale(1), pnmshear(1), pnmsmooth(1), pnmtile(1), +ppm(5), pgm(5), pbm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnm.5 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Feb 7 08:47:49 1994 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmalias.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmalias.1 +% +\phead{pnmalias}{1}{30 April 1992}{}{} + +\shead{NAME} +pnmalias - antialias a portable anyumap. +\shead{SYNOPSIS} +{\bf pnmalias} +{\rm [}{\bf -bgcolor} +{\it color}{\rm ]} +{\rm [}{\bf -fgcolor} +{\it color}{\rm ]} +{\rm [}{\bf -bonly}{\rm ]} +{\rm [}{\bf -fonly}{\rm ]} +{\rm [}{\bf -balias}{\rm ]} +{\rm [}{\bf -falias}{\rm ]} +{\rm [}{\bf -weight} +{\it w}{\rm ]} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input, and applies anti-aliasing to background and +foreground pixels. +If the input file is a portable bitmap, the +output anti-aliased image is promoted to a graymap, and a message is printed +informing the user of the change in format. +\shead{OPTIONS} +\par +{\bf --bgcolor} +{\it colorb,} +{\bf --fgcolor} +{\it colorf} +\ind{1\parindent}set the background color to +{\it colorb,} +and the foreground to color to +{\it colorf.} +Pixels with these values will be anti-aliased. by default, +the background color is taken to be black, and foreground color +is assumed to be white. +The colors can be specified in five ways: +\begin{TPlist}{{\bf o}} +\item[{{\bf o}}] +A name, assuming +that a pointer to an X11-style color names file was compiled in. +\item[{{\bf o}}] +An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are +each 1- to 4-digit hexadecimal numbers. +\item[{{\bf o}}] +An X11-style decimal specifier: rgbi:r/g/b, where r g and b are +floating point numbers between 0 and 1. +\item[{{\bf o}}] +For backwards compatibility, an old-X11-style hexadecimal +number: \#rgb, \#rrggbb, \#rrrgggbbb, or \#rrrrggggbbbb. +\item[{{\bf o}}] +For backwards compatibility, a triplet of numbers +separated by commas: r,g,b, where r g and b are +floating point numbers between 0 and 1. +(This style was added before MIT came up with the similar rgbi style.) +\end{TPlist} +\par\noindent +Note that even when dealing with graymaps, background and foreground +colors need to be specified in the fashion described above. +In this case, background and foreground pixel values are taken to be the +value of the red component for the given color. +\ind{1\parindent} +\par +{\bf --bonly}{\rm ,} +{\bf --fonly} +\ind{1\parindent}Apply anti-aliasing only to background +{\rm (}{\bf --bonly}{\rm ),} +or foreground +{\rm (}{\bf --fonly}{\rm )} +pixels. +\ind{1\parindent} +\par +{\bf --balias}{\rm ,} +{\bf --falias} +\ind{1\parindent}Apply anti-aliasing to all pixels surrounding background +{\rm (}{\bf --balias}{\rm ),} +or foreground +{\rm (}{\bf --falias}{\rm )} +pixels. By default, anti-aliasing takes place only among neighboring +background and foreground pixels. +\ind{1\parindent} +\par +{\bf --weight} +{\it w} +\ind{1\parindent}Use +{\it w} +as the central weight for the aliasing filter. +{\it W} +must be a real number in the range +0 $<$ +{\it w} +$<$ 1. +The lower the value of +{\it w} +is, the ``blurrier'' the output image is. The default is w = 1/3. +\shead{SEE ALSO} +pbmtext(1), pnmsmooth(1), pnm(5) +\shead{AUTHOR} +Copyright (C) 1992 by Alberto Accomazzi, Smithsonian Astrophysical Observatory. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmalias.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:17 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmarith.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmarith.1 +% +\phead{pnmarith}{1}{26 August 1993}{}{} + +%.IX pnmarith +\shead{NAME} +pnmarith - perform arithmetic on two portable anymaps +\shead{SYNOPSIS} +{\bf pnmarith} +{\bf -add}{\rm $|$}{\bf -subtract}{\rm $|$}{\bf -multiply}{\rm $|$}{\bf -difference} +{\it pnmfile1 pnmfile2} +\shead{DESCRIPTION} +Reads two portable anymaps as input. +Performs the specified arithmetic operation, +and produces a portable anymap as output. +The two input anymaps must be the same width and height. +\par +The arithmetic is performed between corresponding pixels in the two +anymaps, as if maxval was 1.0, black was 0.0, and a linear scale in between. +Results that fall outside of [0..1) are truncated. +\par +The operator +{\it -difference} +calculates the absolute value of +{\it pnmarith -subtract pnmfile1 pnmfile2,} +{\it i.e.}, no truncation is done. +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pbmmask(1), pnmpaste(1), pnminvert(1), pnm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer.. +Lightly modified by Marcel Wijkstra (wijkstra@fwi.uva.nl). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmarith.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:17 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmcat.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmcat.1 +% +\phead{pnmcat}{1}{12 March 1989}{}{} + +%.IX pnmcat +\shead{NAME} +pnmcat - concatenate portable anymaps +\shead{SYNOPSIS} +{\bf pnmcat} +{\rm [}{\bf -white}{\rm $|$}{\bf -black}{\rm ]} +{\bf -leftright}{\rm $|$}{\bf -lr} +{\rm [}{\bf -jtop}{\rm $|$}{\bf -jbottom}{\rm ]} +{\it pnmfile pnmfile} +{\rm ...} +\nwl +{\bf pnmcat} +{\rm [}{\bf -white}{\rm $|$}{\bf -black}{\rm ]} +{\bf -topbottom}{\rm $|$}{\bf -tb} +{\rm [}{\bf -jleft}{\rm $|$}{\bf -jright}{\rm ]} +{\it pnmfile pnmfile} +{\rm ...} +\shead{DESCRIPTION} +Reads portable anymaps as input. +Concatenates them either left to right or top to bottom, and produces a +portable anymap as output. +%.IX concatenation +\shead{OPTIONS} +\par +If the anymaps are not all the same height (left-right) or width (top-bottom), +the smaller ones have to be justified with the largest. +By default, they get centered, but you can specify one side or the other +with one of the -j* flags. +So, +{\bf -topbottom -jleft} +would stack the anymaps on top of each other, flush with the left edge. +\par +The +{\bf -white} +and +{\bf -black} +flags specify what color to use to fill in the extra space +when doing this justification. +If neither is specified, the program makes a guess. +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pnm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmcat.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:31 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmcomp.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmcomp.1 +% +\phead{pnmcomp}{1}{21 February 1989}{}{} + +%.IX pnmcomp +\shead{NAME} +pnmcomp - composite two portable anymap files together +\shead{SYNOPSIS} +{\bf pnmcomp} +{\rm [}{\it -invert}{\rm ]} +{\rm [}{\it -xoff}{\rm N}{\it ]} +{\rm [}{\it -yoff}{\rm N}{\it ]} +{\rm [}{\it -alpha}{\rm pgmfile}{\it ]} +{\rm overlay} +{\rm [}{\it pnm-input}{\rm ]} +{\rm [}{\it pnm-output}{\rm ]} +\shead{DESCRIPTION} +Reads in a portable any map image and put a overlay upon it, with optional +alpha mask. The +{\it -alpha pgmfile} +allows you to also add an alpha mask file to the compositing process, the +range of max and min can be swapped by using the +{\it -invert} +option. +The +{\it -xoff} +and +{\it -yoff} +arguments can be negative, allowing you to shift the overlay off the +top corner of the screen. +\shead{SEE ALSO} +pnm(5) +\shead{AUTHOR} +\copyright 1992 by David Koblas (koblas@mips.com). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmcomp.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:18 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmconvol.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmconvol.1 +% +\phead{pnmconvol}{1}{13 January 1991}{}{} + +%.IX pnmconvol +\shead{NAME} +pnmconvol - general MxN convolution on a portable anymap +\shead{SYNOPSIS} +{\bf pnmconvol} +{\it convolutionfile} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads two portable anymaps as input. +Convolves the second using the first, +and writes a portable anymap as output. +%.IX convolution +\par +Convolution means replacing each pixel with a weighted average of the +nearby pixels. The weights and the area to average are determined by +the convolution matrix. +The unsigned numbers in the convolution file are offset by -maxval/2 to +make signed numbers, and then normalized, so the actual values in the +convolution file are only relative. +\par +Here is a sample convolution file; +it does a simple average of the nine immediate neighbors, resulting +in a smoothed image: +\nofill + P2 + 3 3 + 18 + 10 10 10 + 10 10 10 + 10 10 10 +\fill +\par +To see how this works, do the above-mentioned offset: 10 - 18/2 gives 1. +The possible range of values is from 0 to 18, and after the offset +that's -9 to 9. The normalization step makes the range -1 to 1, and +the values get scaled correspondingly so they become 1/9 - exactly what +you want. +The equivalent matrix for 5x5 smoothing would have maxval 50 and be +filled with 26. +\par +The convolution file will usually be a graymap, +so that the same convolution gets applied to each color component. +However, if you want to use a pixmap and do a different convolution to +different colors, you can certainly do that. +\shead{SEE ALSO} +pnmsmooth(1), pnm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmconvol.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:18 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmcrop.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmcrop.1 +% +\phead{pnmcrop}{1}{25 February 1989}{}{} + +%.IX pnmcrop +\shead{NAME} +pnmcrop - crop a portable anymap +\shead{SYNOPSIS} +{\bf pnmcrop} +{\rm [}{\bf -white}{\rm $|$}{\bf -black}{\rm ]} +{\rm [}{\bf -left}{\rm ]} +{\rm [}{\bf -right}{\rm ]} +{\rm [}{\bf -top}{\rm ]} +{\rm [}{\bf -bottom}{\rm ]} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Removes edges that are the background color, +and produces a portable anymap as output. +%.IX cropping +\shead{OPTIONS} +\par +By default, it makes a guess as to what the background color is. +You can override the default with the +{\bf -white} +and +{\bf -black} +flags. +\par +The options +{\bf -left, -right, -top} +and +{\bf -bottom} +restrict cropping to the sides specified. The default is to crop all sides of +the image. +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pnmcut(1), pnm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmcrop.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:19 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmcut.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmcut.1 +% +\phead{pnmcut}{1}{21 February 1989}{}{} + +%.IX pnmcut +\shead{NAME} +pnmcut - cut a rectangle out of a portable anymap +\shead{SYNOPSIS} +{\bf pnmcut} +{\it x y width height} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Extracts the specified rectangle, +and produces a portable anymap as output. +%.IX cut +The +{\it x} +and +{\it y} +can be negative, in which case they are interpreted +relative to the right and bottom of the anymap, respectively. +\shead{SEE ALSO} +pnm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmcut.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:20 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmdepth.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmdepth.1 +% +\phead{pnmdepth}{1}{12 January 1991}{}{} + +%.IX pnmdepth +\shead{NAME} +pnmdepth - change the maxval in a portable anymap +\shead{SYNOPSIS} +{\bf pnmdepth} +{\it newmaxval} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Scales all the pixel values, and writes out the image with the new maxval. +Scaling the colors down to a smaller maxval will result in some loss +of information. +\par +Be careful of off-by-one errors when choosing the new maxval. +For instance, if you want the color values to be five bits wide, +use a maxval of 31, not 32. +\shead{SEE ALSO} +pnm(5), ppmquant(1), ppmdither(1) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmdepth.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:20 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmenlarge.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmenlarge.1 +% +\phead{pnmenlarge}{1}{26 February 1989}{}{} + +%.IX pnmenlarge +\shead{NAME} +pnmenlarge - read a portable anymap and enlarge it N times +\shead{SYNOPSIS} +{\bf pnmenlarge} +{\it N} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Replicates its pixels +{\it N} +times, and produces a portable anymap as output. +%.IX enlarging +\par +{\it pnmenlarge} +can only enlarge by integer factors. +The slower but more general +{\it pnmscale} +%.IX pnmscale +can enlarge or reduce by arbitrary +factors, and +{\it pbmreduce} +%.IX pbmreduce +can reduce by integer factors, but only for bitmaps. +\par +If you enlarge by a factor of 3 or more, you should probably add a +{\it pnmsmooth} +%.IX pnmsmooth +step; otherwise, you can see the original pixels in the resulting image. +\shead{SEE ALSO} +pbmreduce(1), pnmscale(1), pnmsmooth(1), pnm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmenlarge.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:21 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmfile.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmfile.1 +% +\phead{pnmfile}{1}{9 January 1991}{}{} + +%.IX pnmfile +\shead{NAME} +pnmfile - describe a portable anymap +\shead{SYNOPSIS} +{\bf pnmfile} +{\rm [}{\it pnmfile}{\rm ]} +{\rm ...} +\shead{DESCRIPTION} +Reads one or more portable anymaps as input. +Writes out short descriptions of the image type, size, etc. +This is mostly for use in shell scripts, so the format is not +particularly pretty. +\shead{SEE ALSO} +pnm(5), file(1) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmfile.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:21 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmflip.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmflip.1 +% +\phead{pnmflip}{1}{25 July 1989}{}{} + +%.IX pnmflip +\shead{NAME} +pnmflip - perform one or more flip operations on a portable anymap +\shead{SYNOPSIS} +{\bf pnmflip} +{\rm [}{\bf -leftright}{\rm $|$}{\bf -lr}{\rm ]} +{\rm [}{\bf -topbottom}{\rm $|$}{\bf -tb}{\rm ]} +{\rm [}{\bf -transpose}{\rm $|$}{\bf -xy}{\rm ]} +{\rm [}{\bf -rotate90}{\rm $|$}{\bf -r90}{\rm $|$}{\bf -ccw} +{\rm ]} +{\rm [}{\bf -rotate270}{\rm $|$}{\bf -r270}{\rm $|$}{\bf -cw} +{\rm ]} +{\rm [}{\bf -rotate180}{\rm $|$}{\bf -r180}{\rm ]} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Performs one or more flip operations, in the order specified, and +writes out a portable anymap. +%.IX rotation +%.IX reflection +%.IX transposition +\shead{OPTIONS} +\par +The flip operations available are: left for right +{\rm (}{\bf -leftright} +or +{\bf -lr}{\rm );} +top for bottom +{\rm (}{\bf -topbottom} +or +{\bf -tb}{\rm );} +and transposition +{\rm (}{\bf -transpose} +or +{\bf -xy}{\rm ).} +In addition, some canned concatenations are available: +{\bf -rotate90} +or +{\bf -ccw} +is equivalent to +{\bf -transpose} +{\bf -topbottom}{\rm ;} +{\bf -rotate270} +or +{\bf -cw} +is equivalent to +{\bf -transpose} +{\bf -leftright}{\rm ;} +and +{\bf -rotate180} +is equivalent to +{\bf -leftright} +{\bf -topbottom}{\rm .} +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pnmrotate(1), pnm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmflip.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:29 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmgamma.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmgamma.1 +% +\phead{pnmgamma}{1}{12 January 1991}{}{} + +%.IX pnmgamma +\shead{NAME} +pnmgamma - perform gamma correction on a portable anymap +\shead{SYNOPSIS} +{\bf pnmgamma} +{\it value} +{\rm [}{\it pnmfile}{\rm ]} +\nwl +{\bf pnmgamma} +{\it redvalue greenvalue bluevalue} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Performs gamma correction, +and produces a portable anymap as output. +%.IX "gamma correction" +\par +The arguments specify what gamma value(s) to use. +A value of 1.0 leaves the image alone, less than one darkens it, +and greater than one lightens it. +\shead{SEE ALSO} +pnm(5) +\shead{AUTHOR} +\copyright 1991 by Bill Davidson and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmgamma.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:22 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnminvert.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnminvert.1 +% +\phead{pnminvert}{1}{08 August 1989}{}{} + +%.IX pnminvert +\shead{NAME} +pnminvert - invert a portable anymap +\shead{SYNOPSIS} +{\bf pnminvert} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Inverts it black for white and produces a portable anymap as output. +\shead{SEE ALSO} +pnm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnminvert.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:32 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmnlfilt.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmnlfilt.1 +% +\phead{pnmnlfilt}{1}{5 February 1993}{}{} + +%.IX pnmnlfilt +\shead{NAME} +pnmnlfilt - non-linear filters: smooth, alpha trim mean, optimal +estimation smoothing, edge enhancement. +\shead{SYNOPSIS} +{\bf pnmnlfilt} +{\rm alpha} +{\rm radius} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +%.IX smoothing +%.IX dithering +%.IX alpha trim +%.IX mean filter +%.IX median filter +%.IX optimal estimation +This is something of a swiss army knife filter. It has 3 distinct operating +modes. In all of the modes each pixel in the image is examined and processed +according to it and its surrounding pixels values. Rather than using the +9 pixels in a 3x3 block, 7 hexagonal area samples are taken, the size of +the hexagons being controlled by the radius parameter. A radius value of +0.3333 means that the 7 hexagons exactly fit into the center pixel ({\it i.e.}, +there will be no filtering effect). A radius value of 1.0 means that +the 7 hexagons exactly fit a 3x3 pixel array. +\shead{Alpha trimmed mean filter. (0.0 $<$= alpha $<$= 0.5)} +\par +The value of the center pixel will be +replaced by the mean of the 7 hexagon values, but the 7 values are +sorted by size and the top and bottom alpha portion of the 7 are +excluded from the mean. This implies that an alpha value of 0.0 gives +the same sort of output as a normal convolution ({\it i.e.}, averaging or +smoothing filter), where radius will determine the ``strength'' of the +filter. A good value to start from for subtle filtering is alpha = 0.0, radius = 0.55 +For a more blatant effect, try alpha 0.0 and radius 1.0 +\par +An alpha value of 0.5 will cause the median value of the +7 hexagons to be used to replace the center pixel value. This sort +of filter is good for eliminating ``pop'' or single pixel noise from +an image without spreading the noise out or smudging features on +the image. Judicious use of the radius parameter will fine tune the +filtering. Intermediate values of alpha give effects somewhere +between smoothing and ``pop'' noise reduction. For subtle filtering +try starting with values of alpha = 0.4, radius = 0.6 For a more blatant +effect try alpha = 0.5, radius = 1.0 +\shead{Optimal estimation smoothing. (1.0 $<$= alpha $<$= 2.0)} +\par +This type of filter applies a smoothing filter adaptively over the image. +For each pixel the variance of the surrounding hexagon values is calculated, +and the amount of smoothing is made inversely proportional to it. The idea +is that if the variance is small then it is due to noise in the image, while +if the variance is large, it is because of ``wanted'' image features. As usual +the radius parameter controls the effective radius, but it probably advisable to +leave the radius between 0.8 and 1.0 for the variance calculation to be meaningful. +The alpha parameter sets the noise threshold, over which less smoothing will be done. +This means that small values of alpha will give the most subtle filtering effect, +while large values will tend to smooth all parts of the image. You could start +with values like alpha = 1.2, radius = 1.0 and try increasing or decreasing the +alpha parameter to get the desired effect. This type of filter is best for +filtering out dithering noise in both bitmap and color images. +\shead{Edge enhancement. (-0.1 $>$= alpha $>$= -0.9)} +\par +This is the opposite type of filter to the smoothing filter. It enhances +edges. The alpha parameter controls the amount of edge enhancement, from +subtle (-0.1) to blatant (-0.9). The radius parameter controls the effective +radius as usual, but useful values are between 0.5 and 0.9. Try starting +with values of alpha = 0.3, radius = 0.8 +\shead{Combination use.} +\par +The various modes of +{\bf pnmnlfilt} +can be used one after the other to get the desired result. For instance to +turn a monochrome dithered image into a grayscale image you could try +one or two passes of the smoothing filter, followed by a pass of the optimal estimation +filter, then some subtle edge enhancement. Note that using edge enhancement is +only likely to be useful after one of the non-linear filters (alpha trimmed mean +or optimal estimation filter), as edge enhancement is the direct opposite of +smoothing. +\par +For reducing color quantization noise in images ({\it i.e.}, turning .gif files back into +24 bit files) you could try a pass of the optimal estimation filter +(alpha 1.2, radius 1.0), a pass of the median filter (alpha 0.5, radius 0.55), +and possibly a pass of the edge enhancement filter. +Several passes of the optimal estimation filter with declining alpha +values are more effective than a single pass with a large alpha value. +As usual, there is a tradeoff between filtering effectiveness and loosing +detail. Experimentation is encouraged. +\shead{References:} +\par +The alpha-trimmed mean filter is +based on the description in IEEE CG\&A May 1990 +Page 23 by Mark E. Lee and Richard A. Redner, +and has been enhanced to allow continuous alpha adjustment. +\par +The optimal estimation filter is taken from an article ``Converting Dithered +Images Back to Gray Scale'' by Allen Stenger, Dr Dobb's Journal, November +1992, and this article references ``Digital Image Enhancement and Noise Filtering by +Use of Local Statistics'', Jong-Sen Lee, IEEE Transactions on Pattern Analysis and +Machine Intelligence, March 1980. +\par +The edge enhancement details are from pgmenhance(1), +which is taken from Philip R. Thompson's ``xim'' +program, which in turn took it from section 6 of ``Digital Halftones by +Dot Diffusion'', D. E. Knuth, ACM Transaction on Graphics Vol. 6, No. 4, +October 1987, which in turn got it from two 1976 papers by J. F. Jarvis +{\it et. al.} +\shead{SEE ALSO} +pgmenhance(1), pnmconvol(1), pnm(5) +\shead{BUGS} +Integers and tables may overflow if PPM\_MAXMAXVAL is greater than 255. +\shead{AUTHOR} +Graeme W. Gill graeme@labtam.oz.au +% +% end of input file: pnmnlfilt.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:23 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmnoraw.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmnoraw.1 +% +\phead{pnmnoraw}{1}{8 January 1991}{}{} + +%.IX pnmnoraw +\shead{NAME} +pnmnoraw - force a portable anymap into plain format +\shead{SYNOPSIS} +{\bf pnmnoraw} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Writes it out in plain (non-raw) format. +This is fairly useless if you haven't defined the PBMPLUS\_RAWBITS +compile-time option. +%.IX RAWBITS +\shead{SEE ALSO} +pnm(5) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmnoraw.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:33 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmpad.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmpad.1 +% +\phead{pnmpad}{12 Dec 1990}{}{}{} + +\shead{NAME} +pnmpad - add borders to portable anymap +\shead{SYNOPSIS} +pnmpad [-white$|$-black] [-l\#] [-r\#] [-t\#] [-b\#] [pnmfile] +\shead{DESCRIPTION} +Reads a portable anymap as input. Outputs a portable anymap with extra +borders of the sizes specified. The colour of the borders can be set to +black or white (default black). + +\shead{SEE ALSO} +pbmmake(1), pnmpaste(1), pbm(5) +\shead{AUTHOR} +\copyright 1990 by Angus Duggan. +\copyright 1989 by Jef Poskanzer. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. +% +% end of input file: pnmpad.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:23 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmpaste.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmpaste.1 +% +\phead{pnmpaste}{1}{21 February 1991}{}{} + +%.IX pnmpaste +\shead{NAME} +pnmpaste - paste a rectangle into a portable anymap +\shead{SYNOPSIS} +{\bf pnmpaste} +{\rm [}{\bf -replace}{\rm $|$}{\bf -or}{\rm $|$}{\bf -and} +{\rm $|$}{\bf -xor}{\rm ]} +{\it frompnmfile x y} +{\rm [}{\it intopnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads two portable anymaps as input. +Inserts the first anymap into the second at the specified location, +and produces a portable anymap the same size as the second as output. +%.IX paste +If the second anymap is not specified, it is read from stdin. +The +{\it x} +and +{\it y} +can be negative, in which case they are interpreted +relative to the right and bottom of the anymap, respectively. +\par +This tool is most useful in combination with +{\it pnmcut}{\rm .} +%.IX pnmcut +For instance, if you want to edit a small segment of a large +image, and your image editor cannot edit the +large image, you can cut out the segment you are interested in, +edit it, and then paste it back in. +\par +Another useful companion tool is +{\it pbmmask}{\rm .} +%.IX pnmmask +%.OPTIONS +\par +The optional flag specifies the operation to use when doing the paste. +The default is +{\bf -replace}{\rm .} +The other, logical operations are only allowed if both input images +are bitmaps. +%.IX "logical operations" +These operations act as if white is TRUE and black is FALSE. +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pnmcut(1), pnminvert(1), pnmarith(1), pnm(5), pbmmask(1) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmpaste.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:29 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmrotate.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmrotate.1 +% +\phead{pnmrotate}{1}{12 January 1991}{}{} + +%.IX pnmrotate +\shead{NAME} +pnmrotate - rotate a portable anymap by some angle +\shead{SYNOPSIS} +{\bf pnmrotate} +{\rm [}{\bf -noantialias}{\rm ]} +{\it angle} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Rotates it by the specified angle +and produces a portable anymap as output. +%.IX rotation +If the input file is in color, the output will be too, +otherwise it will be grayscale. +The angle is in degrees (floating point), measured counter-clockwise. +It can be negative, but it should be between -90 and 90. +Also, for rotations greater than 45 degrees you may get better results +if you first use +{\it pnmflip} +%.IX pnmflip +to do a 90 degree rotation and then +{\it pnmrotate} +less than 45 degrees back the other direction +\par +The rotation algorithm is Alan Paeth's three-shear method. +Each shear is implemented by looping over the source pixels and distributing +fractions to each of the destination pixels. +This has an ``anti-aliasing'' effect - it avoids jagged edges and similar +artifacts. +%.IX anti-aliasing +However, it also means that the original colors or gray levels in the image +are modified. +If you need to keep precisely the same set of colors, you can use the +{\bf -noantialias} +flag. This does the shearing by moving pixels without changing their values. +If you want anti-aliasing and don't care about the precise colors, but +still need a limited *number* of colors, you can run the result through +{\it ppmquant}{\rm .} +%.IX ppmquant +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{REFERENCES} +``A Fast Algorithm for General Raster Rotation'' by Alan Paeth, +Graphics Interface '86, pp. 77-81. +\shead{SEE ALSO} +pnmshear(1), pnmflip(1), pnm(5), ppmquant(1) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmrotate.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:24 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmscale.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmscale.1 +% +\phead{pnmscale}{1}{12 January 1991}{}{} + +%.IX pnmscale +\shead{NAME} +pnmscale - scale a portable anymap +\shead{SYNOPSIS} +{\bf pnmscale} +{\it s} +{\rm [}{\it pnmfile}{\rm ]} +\nwl +{\bf pnmscale} +{\bf -xsize}{\rm $|$}{\bf -width}{\rm $|$}{\bf -ysize}{\rm $|$} +{\bf -height} +{\it s} +{\rm [}{\it pnmfile}{\rm ]} +\nwl +{\bf pnmscale} +{\bf -xscale}{\rm $|$}{\bf -yscale} +{\it s} +{\rm [}{\it pnmfile}{\rm ]} +\nwl +{\bf pnmscale} +{\bf -xscale}{\rm $|$}{\bf -xsize}{\rm $|$}{\bf -width} +{\it s} +{\bf -yscale}{\rm $|$}{\bf -ysize}{\rm $|$}{\bf -height} +{\it s} +{\rm [}{\it pnmfile}{\rm ]} +\nwl +{\bf pnmscale -xysize} +{\it x y} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Scales it by the specified factor or factors and produces a portable +anymap as output. +%.IX shrinking +%.IX enlarging +If the input file is in color, the output will be too, +otherwise it will be grayscale. +You can both enlarge (scale factor $>$ 1) and reduce (scale factor $<$ 1). +\par +You can specify one dimension as a pixel size, and the other dimension +will be scaled correspondingly. +\par +You can specify one dimension as a scale, and the other dimension +will not be scaled. +\par +You can specify different sizes or scales for each axis. +\par +Or, you can use the special +{\bf -xysize} +flag, which fits the image into +the specified size without changing the aspect ratio. +\par +All flags can be abbreviated to their shortest unique prefix. +\par +If you enlarge by a factor of 3 or more, you should probably add a +{\it pnmsmooth} +%.IX pnmsmooth +step; otherwise, you can see the original pixels in the resulting image. +\shead{SEE ALSO} +pbmreduce(1), pnmenlarge(1), pnmsmooth(1), pnm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmscale.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:30 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmshear.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmshear.1 +% +\phead{pnmshear}{1}{12 January 1991}{}{} + +%.IX pnmshear +\shead{NAME} +pnmshear - shear a portable anymap by some angle +\shead{SYNOPSIS} +{\bf pnmshear} +{\rm [}{\bf -noantialias}{\rm ]} +{\it angle} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Shears it by the specified angle and produces a portable +anymap as output. +%.IX shearing +If the input file is in color, the output will be too, +otherwise it will be grayscale. +The angle is in degrees (floating point), and measures this: +\nofill + +-------+ +-------+ + $|$ $|$ $|$\bs \bs + $|$ OLD $|$ $|$ \bs NEW \bs + $|$ $|$ $|$an\bs \bs + +-------+ $|$gle+-------+ +\fill +If the angle is negative, it shears the other way: +\nofill + +-------+ $|$-an+-------+ + $|$ $|$ $|$gl/ / + $|$ OLD $|$ $|$e/ NEW / + $|$ $|$ $|$/ / + +-------+ +-------+ +\fill +The angle should not get too close to 90 or -90, or the resulting +anymap will be unreasonably wide. +\par +The shearing is implemented by looping over the source pixels and distributing +fractions to each of the destination pixels. +This has an ``anti-aliasing'' effect - it avoids jagged edges and similar +artifacts. +%.IX anti-aliasing +However, it also means that the original colors or gray levels in the image +are modified. +If you need to keep precisely the same set of colors, you can use +the +{\bf -noantialias} +flag. This does the shearing by moving pixels without changing their values. +If you want anti-aliasing and don't care about the precise colors, but +still need a limited *number* of colors, you can run the result through +{\it ppmquant}{\rm .} +%.IX ppmquant +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pnmrotate(1), pnmflip(1), pnm(5), ppmquant(1) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmshear.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:24 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmtile.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmtile.1 +% +\phead{pnmtile}{1}{13 May 1989}{}{} + +%.IX pnmtile +\shead{NAME} +pnmtile - replicate a portable anymap into a specified size +\shead{SYNOPSIS} +{\bf pnmtile} +{\it width height} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Replicates it until it is the specified size, +and produces a portable anymap as output. +%.IX tiling +\shead{SEE ALSO} +pnm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmtile.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Feb 7 08:49:06 1994 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmtofits.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmtofits.1 +% +\phead{pnmtofits}{1}{5 Dec 1992}{}{} +\shead{NAME} +pnmtofits - convert a portable anymap into FITS format +\shead{SYNOPSIS} +{\bf pnmtofits} +{\rm [}{\bf --max} +{\it f}{\rm ]} +{\rm [}{\bf --min} +{\it f}{\rm ]} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Produces a FITS (Flexible Image Transport System) file as output. +The resolution of the output file is either 8 bits/pixel, +or 16 bits/pixel, depending on the value of maxval in the input file. +If the input file is a portable bitmap or a portable graymap, the output file +consists of a single plane image (NAXIS = 2). If instead the input file is +a portable pixmap, the output file will consist of a three-plane image +(NAXIS = 3, NAXIS3 = 3). +A full description of the FITS format +can be found in Astronomy \& Astrophysics Supplement Series 44 (1981), page 363. +\shead{OPTIONS} +\par +Flags +{\bf --min} +and +{\bf --max} +can be used to set DATAMAX, DATAMIN, BSCALE and BZERO in the FITS +header, but do not cause the data to be rescaled. +\shead{SEE ALSO} +fitstopnm(1), pgm(5) +\shead{AUTHOR} +Copyright (C) 1989 by Wilson H. Bent (whb@hoh-2.att.com), with +modifications +by Alberto Accomazzi (alberto@cfa.harvard.edu). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmtofits.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:25 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmtops.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmtops.1 +% +\phead{pnmtops}{1}{26 October 1991}{}{} + +%.IX pnmtops +\shead{NAME} +pnmtops - convert portable anymap to PostScript +\shead{SYNOPSIS} +{\bf pnmtops} +{\rm [}{\bf -scale} +{\it s}{\rm ]} +{\rm [}{\bf -turn}{\rm $|$}{\bf -noturn}{\rm ]} +{\rm [}{\bf -rle}{\rm $|$}{\bf -runlength}{\rm ]} +{\rm [}{\bf -dpi} +{\it n}{\rm ]} +{\rm [}{\bf -width} +{\it n}{\rm ]} +{\rm [}{\bf -height} +{\it n}{\rm ]} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Produces Encapsulated PostScript as output. +%.IX PostScript +\par +If the input file is in color (PPM), a color PostScript file gets +written. +Some PostScript interpreters can't handle color PostScript. +If you have one of these you will need to run your image through +{\it ppmtopgm} +first. +\par +Note that there is no pstopnm +tool - this transformation is one-way, because a pstopnm tool would +be a full-fledged PostScript interpreter, which is beyond the scope +of this package. +However, see the +{\it psidtopgm} +tool, which can read grayscale non-runlength PostScript image data. +Also, if you're willing to install the fairly large GhostScript package, +it comes with a pstoppm script. +\shead{OPTIONS} +\par +The +{\bf -scale} +flag controls the scale of the result. The default scale is 1, +which on a 300 dpi printer such as the Apple LaserWriter makes +the output look about the same size as the input would if it was displayed +on a typical 72 dpi screen. +To get one PNM pixel per 300 dpi printer pixel, use ``-scale 0.25''. +\par +The +{\bf -turn} +and +{\bf -noturn} +flags control whether the image gets turned 90 degrees. +Normally, if an image is wider than it is tall, it gets turned +automatically to better fit the page. +If the +{\bf -turn} +flag is specified, it will be turned no matter what its shape; and if the +{\bf -noturn} +flag is specified, it will +{\it not} +be turned no matter what its shape. +\par +The +{\bf -rle} +or +{\bf -runlength} +flag specifies run-length compression. This may save +time if the host-to-printer link is slow; but normally the printer's processing +time dominates, so +{\bf -rle} +makes things slower. +\par +The +{\bf -dpi} +flag lets you specify the dots per inch of your output device. +The default is 300 dpi. +In theory PostScript is device-independent and you don't have to +worry about this, but in practice its raster rendering can have +unsightly bands if the device pixels and the image pixels aren't +in sync. +\par +The +{\bf -width} +and +{\bf -height} +flags let you specify the size of the page. +The default is 8.5 inches by 11 inches. +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pnm(5), psidtopgm(1) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmtops.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:26 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmtorast.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmtorast.1 +% +\phead{pnmtorast}{1}{12 January 1991}{}{} + +%.IX pnmtorast +\shead{NAME} +pnmtorast - convert a portable pixmap into a Sun rasterfile +\shead{SYNOPSIS} +{\bf pnmtorast} +{\rm [}{\bf -standard}{\rm $|$}{\bf -rle}{\rm ]} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces a Sun rasterfile as output. +%.IX Sun +%.IX rasterfile +\par +Color values in Sun rasterfiles are eight bits wide, so +{\it pnmtorast} +will automatically scale colors to have a maxval of 255. +An extra +{\it pnmdepth} +step is not necessary. +\shead{OPTIONS} +\par +The +{\bf -standard} +flag forces the result to be in RT\_STANDARD form; the +{\bf -rle} +flag, RT\_BYTE\_ENCODED, which is smaller but, well, less standard. +The default is +{\bf -rle}{\rm .} +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +rasttopnm(1), pnm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmtorast.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:31 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmtosir.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmtosir.1 +% +\phead{pnmtosir}{1}{20 March 1991}{}{} + +\shead{NAME} +pnmtosir - convert a portable anymap into a Solitaire format +\shead{SYNOPSIS} +{\bf pnmtosir} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Produces a Solitaire Image Recorder format. +\par +pnmtosir produces an MGI TYPE 17 file for +{\it pbm} +and +{\it pgm} +files. +For +{\it ppm}{\rm ,} +it writes a MGI TYPE 11 file. +\shead{SEE ALSO} +sirtopnm(1), pnm(5) +\shead{BUGS} + +\shead{AUTHOR} +\copyright 1991 by Marvin Landis. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. + +% +% end of input file: pnmtosir.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:36 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmtotiff.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmtotiff.1 +% +\phead{pnmtotiff}{1}{13 January 1991}{}{} + +%.IX pnmtotiff +\shead{NAME} +pnmtotiff - convert a a portable anymap into a TIFF file +\shead{SYNOPSIS} +{\bf pnmtotiff} +{\rm [}{\bf -none}{\rm $|$}{\bf -packbits}{\rm $|$} +{\bf -lzw}{\rm $|$}{\bf -g3}{\rm $|$}{\bf -g4}{\rm ]} +{\rm [}{\bf -2d}{\rm ]} +{\rm [}{\bf -fill}{\rm ]} +{\rm [}{\bf -predictor} +{\it n}{\rm ]} +{\rm [}{\bf -msb2lsb}{\rm $|$}{\bf -lsb2msb}{\rm ]} +{\rm [}{\bf -rowsperstrip} +{\it n}{\rm ]} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Produces a TIFF file as output. +%.IX TIFF +\shead{OPTIONS} +\par +By default, +{\it pnmtotiff} +creates a TIFF file with LZW compression. +This is your best bet most of the time. +However, some TIFF readers can't deal with it. +If you want to try another compression scheme or tweak some of the +other even more obscure output options, there are a number of +flags to play with. +\par +The +{\bf -none}{\rm ,} +{\bf -packbits}{\rm ,} +{\bf -lzw}{\rm ,} +{\bf -g3}{\rm ,} +and +{\bf -g4} +options are used to override the default and set the compression +scheme used in creating the output file. The CCITT Group 3 and Group +4 compression algorithms can only be used with bilevel data. The +{\bf -2d} +and +{\bf -fill} +options are meaningful only with Group 3 compression: +{\bf -2d} +requests 2-dimensional encoding, while +{\bf -fill} +requests that each encoded scanline be zero-filled to a byte boundry. +The +{\bf -predictor} +option is only meaningful with LZW compression: a predictor value of 2 +causes each scanline of the output image to undergo horizontal +differencing before it is encoded; a value of 1 forces each scanline +to be encoded without differencing. +\rm +By default, +{\it pnmtotiff} +creates a TIFF file with msb-to-lsb fill order. +The +{\bf -msb2lsb} +and +{\bf -lsb2msb} +options are used to override the default and set the fill order used +in creating the file. +\rm +The +{\bf -rowsperstrip} +option can be used to set the number of rows (scanlines) in each +strip of data in the output file. By default, the output file has +the number of rows per strip set to a value that will ensure each +strip is no more than 8 kilobytes long. +\shead{BUGS} +This program is not self-contained. To use it you must fetch the +TIFF Software package listed in the OTHER.SYSTEMS file and configure +PBMPLUS to use libtiff. See PBMPLUS's Makefile for details on this +configuration. +\shead{SEE ALSO} +tifftopnm(1), pnm(5) +\shead{AUTHOR} +Derived by Jef Poskanzer from ras2tiff.c, which is +\copyright 1990 by Sun Microsystems, Inc.\hfil\break +Author: Patrick J. Naughton (naughton@wind.sun.com). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, +% provided that the above copyright notice appear in all copies and that +% both that copyright notice and this permission notice appear in +% supporting documentation. +% +% This file is provided AS IS with no warranties of any kind. The author +% shall have no liability with respect to the infringement of copyrights, +% trade secrets or any patents by this file or any part thereof. In no +% event will the author be liable for any lost revenue or profits or +% other special, indirect and consequential damages. +% +% end of input file: pnmtotiff.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:26 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: pnmtoxwd.1 + +\newpage +%-------------------------------------------------- +% start of input file: pnmtoxwd.1 +% +\phead{pnmtoxwd}{1}{24 September 1991}{}{} + +%.IX pnmtoxwd +\shead{NAME} +pnmtoxwd - convert a portable anymap into an X11 window dump +\shead{SYNOPSIS} +{\bf pnmtoxwd} +{\rm [}{\bf -pseudodepth} +{\it n}{\rm ]} +{\rm [}{\bf -directcolor}{\rm ]} +{\rm [}{\it pnmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable anymap as input. +Produces an X11 window dump as output. +%.IX XWD +%.IX "X window system" +This window dump can be displayed using the xwud tool. +\par +Normally, pnmtoxwd produces a StaticGray dump file for +{\it pbm} +and +{\it pgm} +files. +For +{\it ppm}{\rm ,} +it writes a PseudoColor dump file if there are up +to 256 colors in the input, and a DirectColor dump file otherwise. +The +{\bf -directcolor} +flag can be used to force a DirectColor dump. +And the +{\bf -pseudodepth} +flag can be used to change the depth of PseudoColor dumps from the default +of 8 bits / 256 colors. +\shead{SEE ALSO} +xwdtopnm(1), pnm(5), xwud(1) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: pnmtoxwd.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:13 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppm.5 + +\newpage +%-------------------------------------------------- +% start of input file: ppm.5 +% +\phead{ppm}{5}{27 September 1991}{}{} + +\shead{NAME} +ppm - portable pixmap file format +\shead{DESCRIPTION} +The portable pixmap format is a lowest common denominator color image +file format. +%.IX "PPM file format" +The definition is as follows: +\begin{IPlist} +\IPitem{{-}} +A ``magic number'' for identifying the file type. +A ppm file's magic number is the two characters ``P3''. +%.IX "magic numbers" +\IPitem{{-}} +Whitespace (blanks, TABs, CRs, LFs). +\IPitem{{-}} +A width, formatted as ASCII characters in decimal. +\IPitem{{-}} +Whitespace. +\IPitem{{-}} +A height, again in ASCII decimal. +\IPitem{{-}} +Whitespace. +\IPitem{{-}} +The maximum color-component value, again in ASCII decimal. +\IPitem{{-}} +Whitespace. +\IPitem{{-}} +Width * height pixels, each three ASCII decimal values between 0 and the +specified maximum value, starting at the top-left +corner of the pixmap, proceeding in normal English reading order. +The three values for each pixel represent red, green, and blue, respectively; +a value of 0 means that color is off, and the maximum value means that color +is maxxed out. +\IPitem{{-}} +Characters from a ``\#'' to the next end-of-line are ignored (comments). +\IPitem{{-}} +No line should be longer than 70 characters. +\end{IPlist} + +\par +Here is an example of a small pixmap in this format: +\nofill +P3 +\# feep.ppm +4 4 +15 + 0 0 0 0 0 0 0 0 0 15 0 15 + 0 0 0 0 15 7 0 0 0 0 0 0 + 0 0 0 0 0 0 0 15 7 0 0 0 +15 0 15 0 0 0 0 0 0 0 0 0 +\fill +\par +Programs that read this format should be as lenient as possible, +accepting anything that looks remotely like a pixmap. +\par +There is also a variant on the format, available +by setting the RAWBITS option at compile time. This variant is +different in the following ways: +%.IX RAWBITS +\begin{IPlist} +\IPitem{{-}} +The ``magic number'' is ``P6'' instead of ``P3''. +\IPitem{{-}} +The pixel values are stored as plain bytes, instead of ASCII decimal. +\IPitem{{-}} +Whitespace is not allowed in the pixels area, and only a single character +of whitespace (typically a newline) is allowed after the maxval. +\IPitem{{-}} +The files are smaller and many times faster to read and write. +\end{IPlist} + +\par +Note that this raw format can only be used for maxvals less than +or equal to 255. +If you use the +{\it ppm} +library and try to write a file with a larger maxval, +it will automatically fall back on the slower but more general plain +format. +\shead{SEE ALSO} +giftoppm(1), gouldtoppm(1), ilbmtoppm(1), imgtoppm(1), mtvtoppm(1), +pcxtoppm(1), pgmtoppm(1), pi1toppm(1), picttoppm(1), pjtoppm(1), qrttoppm(1), +rawtoppm(1), rgb3toppm(1), sldtoppm(1), spctoppm(1), sputoppm(1), tgatoppm(1), +ximtoppm(1), xpmtoppm(1), yuvtoppm(1), +ppmtoacad(1), ppmtogif(1), ppmtoicr(1), ppmtoilbm(1), ppmtopcx(1), ppmtopgm(1), +ppmtopi1(1), ppmtopict(1), ppmtopj(1), ppmtopuzz(1), ppmtorgb3(1), +ppmtosixel(1), ppmtotga(1), ppmtouil(1), ppmtoxpm(1), ppmtoyuv(1), +ppmdither(1), ppmforge(1), ppmhist(1), ppmmake(1), ppmpat(1), ppmquant(1), +ppmquantall(1), ppmrelief(1), +pnm(5), pgm(5), pbm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppm.5 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:08 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmbrighten.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmbrighten.1 +% +\phead{ppmbrighten}{1}{20 Nov 1990}{}{} + +\shead{NAME} +ppmbrighten - change an images Saturation and Value from an HSV map +\shead{SYNOPSIS} +ppmbrighten [-n] [-s $<$+- saturation$>$] [-v $<$+- value$>$] $<$ppmfile$>$ +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Converts the image from RGB space to HSV space and changes +the Value by $<$+- value$>$ as a percentage. +Likewise with the Saturation. +Doubling the Value would involve +\par\vspace{1.0\baselineskip} +ppmbrighten -v 100 +\par\vspace{1.0\baselineskip} +to add 100 percent to the Value. +\par +The 'n' option normalizes the Value to exist between 0 and 1 +(normalized). +\shead{SEE ALSO} +pgmnorm(1), ppm(5) +\shead{AUTHOR} +\copyright 1990 by Brian Moffet. +\copyright 1989 by Jef Poskanzer. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. +\shead{NOTES} +This program does not change the number of colors. +% +% end of input file: ppmbrighten.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Feb 7 08:50:59 1994 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmchange.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmchange.1 +% +\phead{ppmchange}{1}{3 December 1993}{}{} + +\shead{NAME} +ppmchange - change all pixels of one color to another in a portable pixmap +\shead{SYNOPSIS} +{\bf ppmchange} +{\it oldcolor newcolor [...]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Changes all pixels of +{\it oldcolor} +to +{\it newcolor}{\rm ,} +leaving all others unchanged. +Up to 256 colors may be replaced by specifying couples of colors on +the command line. +\par +The colors can be specified in five ways: +\begin{TPlist}{o} +\item[{o}] +A name, assuming +that a pointer to an X11-style color names file was compiled in. +\item[{o}] +An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are +each 1- to 4-digit hexadecimal numbers. +\item[{o}] +An X11-style decimal specifier: rgbi:r/g/b, where r g and b are +floating point numbers between 0 and 1. +\item[{o}] +For backwards compatibility, an old-X11-style hexadecimal +number: \#rgb, \#rrggbb, \#rrrgggbbb, or \#rrrrggggbbbb. +\item[{o}] +For backwards compatibility, a triplet of numbers +separated by commas: r,g,b, where r g and b are +floating point numbers between 0 and 1. +(This style was added before MIT came up with the similar rgbi style.) +\end{TPlist} +\shead{SEE ALSO} +pgmtoppm(1), ppm(5) +\shead{AUTHOR} +Wilson H. Bent. Jr. (whb@usc.edu) +with modifications by Alberto Accomazzi (alberto@cfa.harvard.edu) +% +% end of input file: ppmchange.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Nov 29 13:33:23 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmdim.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmdim.1 +% +\phead{ppmdim}{1}{16 November 1993}{}{} + +%.IX ppmdim +\shead{NAME} +ppmdim - dim a portable pixmap down to total blackness +\shead{SYNOPSIS} +ppmdim +{\it dimfactor} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. Diminishes its brightness by +the specified dimfactor down to total blackness. +The dimfactor may be in the range from 0.0 (total blackness, +deep night, nada, null, nothing) to 1.0 (original picture's +brightness). +\par +As +{\it pnmgamma} +does not do the brightness correction in the way I +wanted it, this small program was written. +\par +ppmdim is similar to +{\it ppmbrighten} +, but not exactly the same. +\shead{SEE ALSO} +ppm(5), ppmflash(1), pnmgamma(1), ppmbrighten(1) +\shead{AUTHOR} +Copyright (C) 1993 by Frank Neumann +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmdim.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:08 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmdist.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmdist.1 +% +\phead{ppmdist}{1}{22 July 1992}{}{} + +%.IX ppmdist +\shead{NAME} +ppmdist - simplistic grayscale assignment for machine generated, color images +\shead{SYNOPSIS} +{\bf ppmdist} +{\rm [}{\bf -intensity}{\rm $|$}{\bf -frequency}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input, performs a simplistic grayscale +assignment intended for use with grayscale or bitmap printers. + +Often conversion from ppm to pgm will yield an image with contrast too +low for good printer output. The program maximizes contrast between +the gray levels output. + +A ppm input of n colors is read, and a pgm of n gray levels is written. +The gray levels take on the values 0..n-1, while maxval takes on n-1. + +The mapping from color to stepped grayscale can be performed in order +of input pixel intensity, or input pixel frequency (number of repetitions). +\shead{OPTIONS} +\begin{TPlist}{} +\item[{}] +{\bf -frequency} +Sort input colors by the number of times a color appears in the input, +before mapping to evenly distributed graylevels of output. +{\bf -intensity} +Sort input colors by their grayscale intensity, before mapping to evenly +distributed graylevels of output. This is the default. +\end{TPlist} + +\shead{BUGS} +Helpful only for images with a very small number of colors. +Perhaps should have been an option to ppmtopgm(1). +\shead{SEE ALSO} +ppmtopgm(1), ppmhist(1), ppm(5) +\shead{AUTHOR} +\copyright 1993 by Dan Stromberg. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmdist.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:45 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmdither.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmdither.1 +% +\phead{ppmdither}{1}{14 July 1991}{}{} + +%.IX ppmdither +\shead{NAME} +ppmdither - ordered dither for color images +\shead{SYNOPSIS} +{\bf ppmdither} +{\rm [}{\bf -dim} +{\it dimension}{\rm ]} +{\rm [}{\bf -red} +{\it shades}{\rm ]} +{\rm [}{\bf -green} +{\it shades}{\rm ]} +{\rm [}{\bf -blue} +{\it shades}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input, and applies dithering to it to reduce +the number of colors used down to the specified number of shades for +each primary. +The default number of shades is red=5, green=9, blue=5, for +a total of 225 colors. +To convert the image to a binary rgb format +suitable for color printers, use -red 2 -green 2 -blue 2. +The maximum +number of colors that can be used is 256 and can be computed as the +product of the number of red, green and blue shades. +\shead{OPTIONS} +\begin{TPlist}{{\bf -dim}{\it \ dimension} +} +\item[{{\bf -dim}{\it \ dimension} +}] +The size of the dithering matrix. +Must be a power of 2. +\item[{{\bf -red}{\it \ shades} +}] +The number of red shades to be used; minimum of 2. +\item[{{\bf -green}{\it \ shades} +}] +The number of green shades to be used; minimum of 2. +\item[{{\bf -blue}{\it \ shades} +}] +The number of blue shades to be used; minimum of 2. +\end{TPlist} + +\shead{SEE ALSO} +pnmdepth(1), ppmquant(1), ppm(5) +\shead{AUTHOR} +\copyright 1991 by Christos Zoulas. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmdither.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Nov 29 13:33:29 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmflash.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmflash.1 +% +\phead{ppmflash}{1}{16 November 1993}{}{} + +%.IX ppmflash +\shead{NAME} +ppmflash - brighten a picture up to complete white-out +\shead{SYNOPSIS} +ppmflash +{\it flashfactor} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. Increases its brightness by +the specified flashfactor up to a total white-out image. +The flashfactor may be in the range from 0.0 (original picture's +brightness) to 1.0 (full white-out, The Second After). +\par +As +{\it pnmgamma} +does not do the brightness correction in the way I +wanted it, this small program was written. +\par +This program is similar to +{\it ppmbrighten} +, but not exactly the same. +\shead{SEE ALSO} +ppm(5), ppmdim(1), pnmgamma(1), ppmbrighten(1) +\shead{AUTHOR} +Copyright (C) 1993 by Frank Neumann +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmflash.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:46 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmforge.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmforge.1 +% +\phead{ppmforge}{1}{25 October 1991}{}{} + +%.IX ppmforge +%.IX fractals +%.IX clouds +%.IX planets +%.IX stars +\shead{NAME} +ppmforge - fractal forgeries of clouds, planets, and starry skies +\shead{SYNOPSIS} +\raggedright +%.nh +{\bf ppmforge} +{\rm [}{\bf -clouds}{\rm ]} +'in +9n +{\rm [}{\bf -night}{\rm ]} +{\rm [}{\bf -dimension} +{\it dimen}{\rm ]} +{\rm [}{\bf -hour} +{\it hour}{\rm ]} +{\rm [}{\bf -inclination$|$-tilt} +{\it angle}{\rm ]} +{\rm [}{\bf -mesh} +{\it size}{\rm ]} +{\rm [}{\bf -power} +{\it factor}{\rm ]} +{\rm [}{\bf -glaciers} +{\it level}{\rm ]} +{\rm [}{\bf -ice} +{\it level}{\rm ]} +{\rm [}{\bf -saturation} +{\it sat}{\rm ]} +{\rm [}{\bf -seed} +{\it seed}{\rm ]} +{\rm [}{\bf -stars} +{\it fraction}{\rm ]} +{\rm [}{\bf -xsize$|$-width} +{\it width}{\rm ]} +{\rm [}{\bf -ysize$|$-height} +{\it height}{\rm ]} +\ind{-4.5em} +%.ad +%.hy +\shead{DESCRIPTION} +{\bf ppmforge} +generates three kinds of ``random fractal forgeries,'' the term coined +by Richard F. Voss of the IBM Thomas J. Watson Research Center for +seemingly realistic pictures of natural objects generated by simple +algorithms embodying randomness and fractal self-similarity. The +techniques used by +{\bf ppmforge} +are essentially those +given by Voss[1], particularly the technique of spectral synthesis +explained in more detail by Dietmar Saupe[2]. +\par +The program generates two varieties of pictures: planets and clouds, +which are just different renderings of data generated in an identical +manner, illustrating the unity of the fractal structure of these very +different objects. A third type of picture, a starry sky, is +synthesised directly from pseudorandom numbers. +\par +The generation of planets or clouds begins with the preparation of an +array of random data in the frequency domain. The size of this +array, the ``mesh size,'' can be set with the +{\bf -mesh} +option; the larger the mesh the more realistic the pictures but the +calculation time and memory requirement increases as the square of the +mesh size. The fractal dimension, which you can specify with the +{\bf -dimension} +option, determines the roughness of the terrain on the planet or the +scale of detail in the clouds. As the fractal dimension is increased, +more high frequency components are added into the random mesh. +\par +Once the mesh is generated, an inverse two dimensional Fourier +transform is performed upon it. This converts the original random +frequency domain data into spatial amplitudes. We scale the real +components that result from the Fourier transform into numbers from 0 +to 1 associated with each point on the mesh. You can further +modify this number by applying a ``power law scale'' to it with the +{\bf -power} +option. Unity scale +leaves the numbers unmodified; a power scale of 0.5 takes the square +root of the numbers in the mesh, while a power scale of 3 replaces the +numbers in the mesh with their cubes. Power law scaling is best +envisioned by thinking of the data as representing the elevation of +terrain; powers less than 1 yield landscapes with vertical scarps that +look like glacially-carved valleys; powers greater than one make +fairy-castle spires (which require large mesh sizes and high +resolution for best results). +\par +After these calculations, we have a array of the specified size +containing numbers that range from 0 to 1. The pixmaps are generated as +follows: +\begin{TPlist}{{\bf Clouds}} +\item[{{\bf Clouds}}] +A colour map is created that ranges from pure blue to white by +increasing admixture (desaturation) of blue with white. Numbers less +than 0.5 are coloured blue, numbers between 0.5 and 1.0 are coloured +with corresponding levels of white, with 1.0 being pure white. +\item[{{\bf Planet}}] +The mesh is projected onto a sphere. Values less than 0.5 are treated +as water and values between 0.5 and 1.0 as land. The water areas are +coloured based upon the water depth, and land based on its elevation. +The random depth data are used to create clouds over the oceans. An +atmosphere approximately like the Earth's is simulated; its light +absorption is calculated to create a blue cast around the limb of the +planet. A function that rises from 0 to 1 based on latitude is +modulated by the local elevation to generate polar ice caps--high +altitude terrain carries glaciers farther from the pole. Based on the +position of the star with respect to the observer, the apparent colour +of each pixel of the planet is calculated by ray-tracing from the star +to the planet to the observer and applying a lighting model that sums +ambient light and diffuse reflection (for most planets ambient light +is zero, as their primary star is the only source of illumination). +Additional random data are used to generate stars around the planet. +\item[{{\bf Night}}] +A sequence of pseudorandom numbers is used to generate stars with a +user specified density. +\end{TPlist} + +\par +Cloud pictures always contain 256 or fewer colours and may be +displayed on most colour mapped devices without further processing. +Planet pictures often contain tens of thousands of colours which +must be compressed with +{\bf ppmquant} +or +{\bf ppmdither} +before encoding in a colour mapped format. If the display resolution is +high enough, +{\bf ppmdither} +generally produces better looking planets. +{\bf ppmquant} +tends to create discrete colour bands, particularly in the oceans, +which are unrealistic and distracting. The number of colours in starry +sky pictures generated with the +{\bf -night} +option depends on the value specified for +{\bf -saturation}{\rm .} +Small values limit the colour temperature distribution of the stars +and reduce the number of colours in the image. +If the +{\bf -saturation} +is set to 0, none of the stars will be coloured and the resulting +image will never contain more than 256 colours. +Night sky pictures with many different star colours often look +best when colour compressed by +{\bf pnmdepth} +rather than +{\bf ppmquant} +or +{\bf ppmdither}{\rm .} +Try +{\it newmaxval} +settings of 63, 31, or 15 with +{\bf pnmdepth} +to reduce the number of colours in the picture to 256 or fewer. +\shead{OPTIONS} +\begin{TPlist}{{\bf -clouds}} +\item[{{\bf -clouds}}] +Generate clouds. A pixmap of fractal clouds is generated. Selecting clouds +sets the default for fractal dimension to 2.15 and power scale factor +to 0.75. +\item[{{\bf -dimension}{\it \ dimen} +}] +Sets the fractal dimension to the specified +{\it dimen}{\rm ,} +which may be any floating point value between 0 and 3. Higher fractal +dimensions create more ``chaotic'' images, which require higher +resolution output and a larger FFT mesh size to look good. If no +dimension is specified, 2.4 is used when generating planets and 2.15 +for clouds. +\item[{{\bf -glaciers}{\it \ level} +}] +The floating point +{\it level} +setting controls the extent to which terrain elevation causes ice to +appear at lower latitudes. The default value of 0.75 makes the polar +caps extend toward the equator across high terrain and forms glaciers +in the highest mountains, as on Earth. Higher values make ice sheets +that cover more and more of the land surface, simulating planets in the +midst of an ice age. Lower values tend to be boring, resulting in +unrealistic geometrically-precise ice cap boundaries. +\item[{{\bf -hour}{\it \ hour} +}] +When generating a planet, +{\it hour} +is used as the ``hour angle at the central meridian.'' If you specify +{\bf -hour\ 12}{\rm ,} +for example, the planet will be fully illuminated, corresponding to +high noon at the longitude at the centre of the screen. You can +specify any floating point value between 0 and 24 for +{\it hour}{\rm ,} +but values which place most of the planet in darkness (0 to 4 and 20 +to 24) result in crescents which, while pretty, don't give you many +illuminated pixels for the amount of computing that's required. If no +{\bf -hour} +option is specified, a random hour angle is chosen, biased so that +only 25\% of the images generated will be crescents. +\item[{{\bf -ice}{\it \ level} +}] +Sets the extent of the polar ice caps to the given floating point +{\it level}{\rm .} +The default level of 0.4 produces ice caps similar to those of the Earth. +Smaller values reduce the amount of ice, while larger +{\bf -ice} +settings create more prominent ice caps. Sufficiently large values, +such as 100 or more, in conjunction with small settings for +{\bf -glaciers} +(try 0.1) create ``ice balls'' like Europa. +\item[{{\bf -inclination$|$-tilt}{\it \ angle} +}] +The inclination angle of the planet with regard to its primary star is +set to +{\it angle}{\rm ,} +which can be any floating point value from -90 to 90. The inclination +angle can be thought of as specifying, in degrees, the ``season'' the +planet is presently experiencing or, more precisely, the latitude at +which the star transits the zenith at local noon. If 0, the planet +is at equinox; the star is directly overhead at the equator. +Positive values represent summer in the northern hemisphere, negative +values summer in the southern hemisphere. The Earth's inclination +angle, for example, is about 23.5 at the June solstice, 0 at the +equinoxes in March and September, and -23.5 at the December solstice. +If no inclination angle is specified, a random value between -21.6 and +21.6 degrees is chosen. +\item[{{\bf -mesh}{\it \ size} +}] +A mesh of +{\it size}{\rm \ by\ }{\it size} +will be used for the fast Fourier transform (FFT). Note that memory +requirements and computation speed increase as the square of +{\it size}{\rm ;} +if you double the mesh size, the program will use four times the +memory and run four times as long. The default mesh is 256x256, which +produces reasonably good looking pictures while using half a megabyte +for the 256x256 array of single precision complex numbers +required by the FFT. On machines with limited memory capacity, you +may have to reduce the mesh size to avoid running out of RAM. +Increasing the mesh size produces better looking pictures; the +difference becomes particularly noticeable when generating high +resolution images with relatively high fractal dimensions (between 2.2 +and 3). +\item[{{\bf -night}}] +A starry sky is generated. The stars are created by the same algorithm +used for the stars that surround planet pictures, but the output +consists exclusively of stars. +\item[{{\bf -power}{\it \ factor} +}] +Sets the ``power factor'' used to scale elevations synthesised from +the FFT to +{\it factor}{\rm ,} +which can be any floating point number greater than zero. If no +factor is specified a default of 1.2 is used if a planet is being +generated, or 0.75 if clouds are selected by the +{\bf -clouds} +option. The result of the FFT image synthesis is an array of elevation +values between 0 and 1. A non-unity power factor exponentiates each +of these elevations to the specified power. For example, a power +factor of 2 squares each value, while a power factor of 0.5 replaces +each with its square root. (Note that exponentiating values between 0 +and 1 yields values that remain within that range.) Power factors +less than 1 emphasise large-scale elevation changes at the expense of +small variations. Power factors greater than 1 increase the roughness +of the terrain and, like high fractal dimensions, may require a larger +FFT mesh size and/or higher screen resolution to look good. +\item[{{\bf -saturation}{\it \ sat} +}] +Controls the degree of colour saturation of the stars that surround planet +pictures and fill starry skies created with the +{\bf -night} +option. The default value of 125 creates stars which resemble the sky +as seen by the human eye from Earth's surface. Stars are dim; only +the brightest activate the cones in the human retina, causing colour +to be perceived. Higher values of +{\it sat} +approximate the appearance of stars from Earth orbit, where better +dark adaptation, absence of skyglow, and the concentration of light +from a given star onto a smaller area of the retina thanks to the lack +of atmospheric turbulence enhances the perception of colour. Values +greater than 250 create ``science fiction'' skies that, while pretty, +don't occur in this universe. +\item[{\ }] +Thanks to the inverse square law combined with Nature's love of +mediocrity, there are many, many dim stars for every bright one. +This population relationship is accurately reflected in the skies +created by +{\bf ppmforge}{\rm .} +Dim, low mass stars live much longer than bright massive stars, +consequently there are many reddish stars for every blue giant. This +relationship is preserved by +{\bf ppmforge}{\rm .} +You can reverse the proportion, simulating the sky as seen in a starburst +galaxy, by specifying a negative +{\it sat} +value. +\item[{{\bf -seed}{\it \ num} +}] +Sets the seed for the random number generator to the integer +{\it num}{\rm .} +The seed used to create each picture is displayed on standard output (unless +suppressed with the +{\bf -quiet} +option). Pictures generated with the same seed will be identical. If no +{\bf -seed} +is specified, a random seed derived from the date and time will be +chosen. Specifying an explicit seed allows you to re-render a picture +you particularly like at a higher resolution or with different viewing +parameters. +\item[{{\bf -stars}{\it \ fraction} +}] +Specifies the percentage of pixels, in tenths of a percent, which will +appear as stars, either surrounding a planet or filling the entire +frame if +{\bf -night} +is specified. The default +{\it fraction} +is 100. +\item[{{\bf -xsize$|$-width}{\it \ width} +}] +Sets the width of the generated image to +{\it width} +pixels. The default width is 256 pixels. Images must be at least as +wide as they are high; if a width less than the height is specified, +it will be increased to equal the height. If you must have a long +skinny pixmap, make a square one with +{\bf ppmforge}{\rm ,} +then use +{\bf pnmcut} +to extract a portion of the shape and size you require. +\item[{{\bf -ysize$|$-height}{\it \ height} +}] +Sets the height of the generated image to +{\it height} +pixels. The default height is 256 pixels. If the height specified +exceeds the width, the width will be increased to equal the height. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{BUGS} +\par +The algorithms require the output pixmap to be at least as wide as it +is high, and the width to be an even number of pixels. These +constraints are enforced by increasing the size of the requested +pixmap if necessary. +\par +You may have to reduce the FFT mesh size on machines with 16 bit +integers and segmented pointer architectures. +\shead{SEE ALSO} +{\bf pnmcut}{\rm (1),} +{\bf pnmdepth}{\rm (1),} +{\bf ppmdither}{\rm (1),} +{\bf ppmquant}{\rm (1),} +{\bf ppm}{\rm (5)} +\begin{TPlist}{[1] } +\item[{[1] }] +Voss, Richard F., ``Random Fractal Forgeries,'' in Earnshaw +{\it et. al.}, Fundamental Algorithms for Computer Graphics, Berlin: +Springer-Verlag, 1985. +\item[{[2]}] +Peitgen, H.-O., and Saupe, D. eds., The Science Of Fractal Images, +New York: Springer Verlag, 1988. +%.ne 10 +\end{TPlist} + +\shead{AUTHOR} +\ind{1\parindent}{\nofill + John Walker + Autodesk SA + Avenue des Champs-Montants 14b + CH-2074 MARIN + Suisse/Schweiz/Svizzera/Svizra/Switzerland +\fill} +\begin{TPlist}{Usenet:} +\item[{Usenet:}] +kelvin@Autodesk.com +\item[{Fax:}] +038/33 88 15 +\item[{Voice:}] +038/33 76 33 +\end{TPlist} + +\par +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +without any conditions or restrictions. This software is provided ``as +is'' without express or implied warranty. +\par +{\bf PLUGWARE!} +If you like this kind of stuff, you may also enjoy ``James Gleick's +Chaos--The Software'' for MS-DOS, available for \$59.95 from your +local software store or directly from Autodesk, Inc., Attn: Science +Series, 2320 Marinship Way, Sausalito, CA 94965, USA. Telephone: +(800) 688-2344 toll-free or, outside the U.S. (415) 332-2344 Ext +4886. Fax: (415) 289-4718. ``Chaos--The Software'' includes a more +comprehensive fractal forgery generator which creates +three-dimensional landscapes as well as clouds and planets, plus five +more modules which explore other aspects of Chaos. The user guide of +more than 200 pages includes an introduction by James Gleick and +detailed explanations by Rudy Rucker of the mathematics and algorithms +used by each program. +% +% end of input file: ppmforge.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:47 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmhist.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmhist.1 +% +\phead{ppmhist}{1}{03 April 1989}{}{} + +%.IX ppmhist +\shead{NAME} +ppmhist - print a histogram of a portable pixmap +\shead{SYNOPSIS} +{\bf ppmhist} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Generates a histogram of the colors in the pixmap. +\shead{SEE ALSO} +ppm(5), pgmhist(1) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmhist.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:48 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmmake.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmmake.1 +% +\phead{ppmmake}{1}{24 September 1991}{}{} + +%.IX ppmmake +\shead{NAME} +ppmmake - create a pixmap of a specified size and color +\shead{SYNOPSIS} +{\bf ppmmake} +{\it color width height} +\shead{DESCRIPTION} +Produces a portable pixmap of the specified color, width, and height. +%.IX "generating pixmaps" +\par +The color can be specified in five ways: +%.IX "specifying colors" +\begin{TPlist}{o} +\item[{o}] +A name, assuming +that a pointer to an X11-style color names file was compiled in. +\item[{o}] +An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are +each 1- to 4-digit hexadecimal numbers. +\item[{o}] +An X11-style decimal specifier: rgbi:r/g/b, where r g and b are +floating point numbers between 0 and 1. +\item[{o}] +For backwards compatibility, an old-X11-style hexadecimal +number: \#rgb, \#rrggbb, \#rrrgggbbb, or \#rrrrggggbbbb. +\item[{o}] +For backwards compatibility, a triplet of numbers +separated by commas: r,g,b, where r g and b are +floating point numbers between 0 and 1. +(This style was added before MIT came up with the similar rgbi style.) +\end{TPlist} + +\shead{SEE ALSO} +ppm(5), pbmmake(1) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmmake.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Nov 29 13:23:43 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmmix.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmmix.1 +% +\phead{ppmmix}{1}{16 November 1993}{}{} + +%.IX ppmmix +\shead{NAME} +ppmmix - blend together two portable pixmaps +\shead{SYNOPSIS} +ppmmix +{\it fadefactor} +{\it ppmfile1 ppmfile2} +\shead{DESCRIPTION} +Reads two portable pixmaps as input. Mixes them together using the +specified fade factor. The fade factor may be in the range from 0.0 +(only ppmfile1's image data) to 1.0 (only ppmfile2's image data). +Anything in between gains a smooth blend between the two images. +\par +The two pixmaps must have the same size. +\shead{SEE ALSO} +ppm(5) +\shead{AUTHOR} +\copyright 1993 by Frank Neumann. +% Permission to use, , modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmmix.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:06 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmpat.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmpat.1 +% +\phead{ppmpat}{1}{04 September 1989}{}{} + +%.IX ppmpat +\shead{NAME} +ppmpat - make a pretty pixmap +\shead{SYNOPSIS} +{\bf ppmpat} +{\bf -gingham2}{\rm $|$}{\bf -g2}{\rm $|$}{\bf -gingham3}{\rm $|$} +{\bf -g3}{\rm $|$}{\bf -madras}{\rm $|$}{\bf -tartan}{\rm $|$} +{\bf -poles}{\rm $|$}{\bf -squig}{\rm $|$}{\bf -camo}{\rm $|$} +{\bf -anticamo} +{\it width height} +\shead{DESCRIPTION} +Produces a portable pixmap of the specified width and height, +with a pattern in it. +%.IX "generating pixmaps" +\par +This program is mainly to demonstrate use of the ppmdraw routines, a +simple but powerful drawing library. +See the ppmdraw.h include file for more info on using these routines. +Still, some of the patterns can be rather pretty. +If you have a color workstation, something like +{\bf ppmpat\ -squig\ 300\ 300 $|$ ppmquant\ 128} +should generate a nice background. +\shead{OPTIONS} +\par +The different flags specify various different pattern types: +\begin{TPlist}{{\bf -gingham2}} +\item[{{\bf -gingham2}}] +A gingham check pattern. Can be tiled. +\item[{{\bf -gingham3}}] +A slightly more complicated gingham. Can be tiled. +\item[{{\bf -madras}}] +A madras plaid. Can be tiled. +\item[{{\bf -tartan}}] +A tartan plaid. Can be tiled. +\item[{{\bf -poles}}] +Color gradients centered on randomly-placed poles. +May need to be run through +{\it ppmquant}{\rm .} +\item[{{\bf -squig}}] +Squiggley tubular pattern. Can be tiled. +May need to be run through +{\it ppmquant}{\rm .} +\item[{{\bf -camo}}] +Camouflage pattern. +May need to be run through +{\it ppmquant}{\rm .} +\item[{{\bf -anticamo}}] +Anti-camouflage pattern - like -camo, but ultra-bright colors. +May need to be run through +{\it ppmquant}{\rm .} +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{REFERENCES} +Some of the patterns are from ``Designer's Guide to Color 3'' by Jeanne Allen. +\shead{SEE ALSO} +pnmtile(1), ppmquant(1), ppm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmpat.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:48 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmquant.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmquant.1 +% +\phead{ppmquant}{1}{12 January 1991}{}{} + +%.IX ppmquant +\shead{NAME} +ppmquant - quantize the colors in a portable pixmap down to a specified number + +\shead{SYNOPSIS} +{\bf ppmquant} +{\rm [}{\bf -floyd}{\rm $|$}{\bf -fs}{\rm ]} +{\it ncolors} +{\rm [}{\it ppmfile}{\rm ]} +\nwl +{\bf ppmquant} +{\rm [}{\bf -floyd}{\rm $|$}{\bf -fs}{\rm ]} +{\bf -map} +{\it mapfile} +{\rm [}{\it ppmfile}{\rm ]} + +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Chooses +{\it ncolors} +colors to best represent the image, maps the existing colors +to the new ones, and writes a portable pixmap as output. +%.IX "colormap reduction" +\par +The quantization method is Heckbert's ``median cut''. +%.IX "median cut" +\par +Alternately, you can skip the color-choosing step by +specifying your own set of colors with the +{\bf -map} +flag. The +{\it mapfile} +is just a +{\it ppm} +file; it can be any shape, all that matters is the colors in it. +For instance, to quantize down to the 8-color IBM TTL color set, you +might use: +{\tt\nofill + P3 + 8 1 + 255 + 0 0 0 + 255 0 0 + 0 255 0 + 0 0 255 + 255 255 0 + 255 0 255 + 0 255 255 + 255 255 255 +\fill} + +If you want to quantize one pixmap to use the colors in another one, +just use the second one as the mapfile. +You don't have to reduce it down to only one pixel of each color, +just use it as is. +\par +The +{\bf -floyd}{\rm /}{\bf -fs} +flag enables a Floyd-Steinberg error diffusion step. +%.IX Floyd-Steinberg +%.IX "error diffusion" +Floyd-Steinberg gives vastly better results on images where the unmodified +quantization has banding or other artifacts, especially when going to a +small number of colors such as the above IBM set. +However, it does take substantially more CPU time, so the default is off. +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{REFERENCES} +``Color Image Quantization for Frame Buffer Display'' by Paul Heckbert, +SIGGRAPH '82 Proceedings, page 297. +\shead{SEE ALSO} +ppmquantall(1), pnmdepth(1), ppmdither(1), ppm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmquant.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Nov 29 13:33:41 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmquantall.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmquantall.1 +% +\phead{ppmquantall}{1}{27 July 1990}{}{} + +%.IX ppmquantall +\shead{NAME} +ppmquantall - run ppmquant on a bunch of files all at once, so they share a common colormap +\shead{SYNOPSIS} +{\bf ppmquantall} +{\it ncolors ppmfile} +{\rm ...} +\shead{DESCRIPTION} +Takes a bunch of portable pixmap as input. +Chooses +{\it ncolors} +colors to best represent all of the images, maps the +existing colors to the new ones, and +{\bf overwrites the input files} +with the new quantized versions. +%.IX "colormap reduction" +\par +Verbose explanation: Let's say you've got a dozen pixmaps that you want +to display on the screen all at the same time. Your screen can only +display 256 different colors, but the pixmaps have a total of a thousand +or so different colors. For a single pixmap you solve this problem with +{\it ppmquant}{\rm ;} +%.IX ppmquant +this script solves it for multiple pixmaps. All it does is +concatenate them together into one big pixmap, run +{\it ppmquant} +on that, and then split it up into little pixmaps again. +\par +(Note that another way to solve this problem is to pre-select a set of +colors and then use +{\it ppmquant}{\rm 's} +{\bf -map} +option to separately quantize each pixmap to that set.) +\shead{SEE ALSO} +ppmquant(1), ppm(5) +\shead{BUGS} +It's a csh script. +Csh scripts are not portable to System V. +Scripts in general are not portable to non-Unix environments. +\shead{AUTHOR} +Copyright (C) 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmquantall.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:09 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmqvga.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmqvga.1 +% +\phead{PPMQVGA}{1}{local}{}{} + +'% Heading: name(sect) center (paren) name(sect) +\shead{NAME} +ppmqvga - 8 plane quantization +'% name [, name] ... \- brief description on a single line of \s-1INPUT\s+1 +\shead{SYNOPSIS} +ppmqvga [ options ] [ input file ] +'% foo [ options ] files1 [ file2 [ ... ] ] +\shead{DESCRIPTION} +{\bf ppmqvga} +quantizes PPM files to 8 planes, with optional Floyd-Steinberg dithering. +Input is a PPM file from the file named, or standard input of no file is +provided. +%.SS Options +{\bf -d} +dither. Apply Floyd-Steinberg dithering to the data + +{\bf -q} +quiet. Produces no progress reporting, and no terminal output unless +and error occurs. + +{\bf -v} +verbose. Produces additional output describing the number of colors found, +and some information on the resulting mapping. May be repeated to generate +loads of internal table output, but generally only useful once. +\shead{EXAMPLES} +ppmqvga -d my\_image.ppm $|$ ppmtogif $>$my\_image.gif + +tgatoppm zombie.tga $|$ ppmqvga $|$ ppmtotif $>$ zombie.tif +\shead{SEE ALSO} +ppmquant +\shead{DIAGNOSTICS} +Error messages if problems, various levels of optional progress reporting. +\shead{LIMITATIONS} +none known. +\shead{AUTHOR} +Original by Lyle Rains (lrains@netcom.com) as ppmq256 and ppmq256fs +combined, documented, and enhanced by Bill Davidsen (davidsen@crd.ge.com) +\shead{Copyright} +Copyright 1991,1992 by Bill Davidsen, all rights reserved. +The program and documentation may be freely distributed by anyone in source +or binary format. Please clearly note any changes. +% +% end of input file: ppmqvga.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:49 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmrelief.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmrelief.1 +% +\phead{ppmrelief}{1}{11 January 1991}{}{} + +%.IX ppmrelief +\shead{NAME} +ppmrelief - run a Laplacian relief filter on a portable pixmap +\shead{SYNOPSIS} +{\bf ppmrelief} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Does a Laplacian relief filter, and writes a portable pixmap as output. +%.IX "Laplacian relief" +\par +The Laplacian relief filter is described in ``Beyond Photography'' by Holzmann, +equation 3.19. +It's a sort of edge-detection. +%.IX "edge detection" +\shead{SEE ALSO} +pgmbentley(1), pgmoil(1), ppm(5) +\shead{AUTHOR} +\copyright 1990 by Wilson Bent (whb@hoh-2.att.com). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmrelief.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Nov 29 13:24:20 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmshift.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmshift.1 +% +\phead{ppmshift}{1}{16 November 1993}{}{} + +%.IX ppmshift +\shead{NAME} +ppmshift - shift lines of a portable pixmap left or right by a random amount +\shead{SYNOPSIS} +ppmshift +{\it shift} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. Shifts every row of image data to the +left or right by a certain amount. The 'shift' parameter determines by how +many pixels a row is to be shifted at most. +\par +Another one of those effects I intended to use for MPEG tests. +Unfortunately, this program will not help me here - it creates too random +patterns to be used for animations. Still, it might give interesting +results on still images. +\shead{EXAMPLE} +Check this out: Save your favourite model's picture from something like +alt.binaries.pictures.supermodels (ok, or from any other picture source), +convert it to ppm, and process it e.g. like this, assuming the picture is +800x600 pixels: +\nofill\ind{1\parindent}\tt{} \# take the upper half, and leave it like it is + pnmcut 0 0 800 300 cs.ppm $>$upper.ppm + + \# take the lower half, flip it upside down, dim it and distort it a little + pnmcut 0 300 800 300 cs.ppm $|$ pnmflip -tb $|$ ppmdim 0.7 $|$ + ppmshift 10 $>$lower.ppm + + \# and concatenate the two pieces + pnmcat -tb upper.ppm lower.ppm $>$newpic.ppm +\fill +The resulting picture looks like the image being reflected on a water +surface with slight ripples. +\shead{SEE ALSO} +ppm(5), pnmcut(1), pnmflip(1), ppmdim(1), pnmcat(1) +\shead{AUTHOR} +\copyright 1993 by Frank Neumann +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmshift.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Nov 29 13:24:10 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmspread.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmspread.1 +% +\phead{ppmspread}{1}{16 November 1993}{}{} + +%.IX ppmspread +\shead{NAME} +ppmspread - displace a portable pixmap's pixels by a random amount +\shead{SYNOPSIS} +ppmspread +{\it amount} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. Moves every pixel around a bit +relative to its original position. amount determines by how many +pixels a pixel is to be moved around at most. +\par +Pictures processed with this filter will seem to be somewhat +dissolved or unfocussed (although they appear more coarse than +images processed by something like +{\it pnmconvol} +). +\shead{SEE ALSO} +ppm(5), pnmconvol(1) +\shead{AUTHOR} +\copyright 1993 by Frank Neumann +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty +% +% end of input file: ppmspread.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:50 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtoacad.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtoacad.1 +% +\phead{ppmtoacad}{1}{10 October 1991}{}{} + +%.IX ppmtoacad +%.IX AutoCAD +\shead{NAME} +ppmtoacad - convert portable pixmap to AutoCAD database or slide +\shead{SYNOPSIS} +\raggedright +{\bf ppmtoacad} +'in 15n +{\rm [}{\bf -dxb}{\rm ]} +{\rm [}{\bf -poly}{\rm ]} +{\rm [}{\bf -background} +{\it colour}{\rm ]} +{\rm [}{\bf -white}{\rm ]} +{\rm [}{\bf -aspect} +{\it ratio}{\rm ]} +{\rm [}{\bf -8}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\ind{-7.5em} +%.ad +\shead{DESCRIPTION} +Reads a portable pixmap as input. Produces an AutoCAD{l}ide file or +binary database import (.dxb) file as output. +If no +{\it ppmfile} +is specified, input is read from standard input. +\shead{OPTIONS} +\begin{TPlist}{{\bf -dxb}} +\item[{{\bf -dxb}}] +An AutoCAD binary database import (.dxb) file is written. This file +is read with the DXBIN command and, once loaded, becomes part of +the AutoCAD geometrical database and can be viewed and edited like +any other object. Each sequence of identical pixels becomes a +separate object in the database; this can result in very large AutoCAD +drawing files. However, if you want to trace over a bitmap, it lets +you zoom and pan around the bitmap as you wish. +\item[{{\bf -poly}}] +If the +{\bf -dxb} +option is not specified, the output of +{\bf ppmtoacad} +is an AutoCAD slide file. Normally each row of pixels is +represented by an AutoCAD line entity. If +{\bf -poly} +is selected, the pixels are rendered as filled polygons. If the +slide is viewed on a display with higher resolution than the source +pixmap, this will cause the pixels to expand instead of appearing as +discrete lines against the screen background colour. Regrettably, +this representation yields slide files which occupy more disc space +and take longer to display. +\item[{{\bf -background}{\it \ colour} +}] +Most AutoCAD display drivers can be configured to use any available +colour as the screen background. Some users perfer a black screen +background, others white, while splinter groups advocate burnt ocher, +tawny puce, and shocking grey. Discarding pixels whose closest +AutoCAD colour representation is equal to the background colour can +substantially reduce the size of the AutoCAD database or slide file +needed to represent a bitmap. If no +{\bf -background} +colour is specified, the screen background colour is assumed to be +black. Any AutoCAD colour number may be specified as the screen +background; colour numbers are assumed to specify the hues defined +in the standard AutoCAD 256 colour palette. +\item[{{\bf -white}}] +Since many AutoCAD users choose a white screen background, this option +is provided as a short-cut. Specifying +{\bf -white} +is identical in effect to +{\bf -background\ 7}{\rm .} +\item[{{\bf -aspect}{\it \ ratio} +}] +If the source pixmap had non-square pixels, the ratio of the pixel +width to pixel height should be specified as +{\it ratio}{\rm .} +The resulting slide or .dxb file will be corrected so that pixels on +the AutoCAD screen will be square. For example, to correct an image made +for a 320x200 VGA/MCGA screen, specify +{\bf -aspect\ 0.8333}{\rm .} +\item[{{\bf -8}}] +Restricts the colours in the output file to the 8 RGB shades. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{BUGS} +AutoCAD has a fixed palette of 256 colours, distributed along the hue, +lightness, and saturation axes. Pixmaps which contain many +nearly-identical colours, or colours not closely approximated by +AutoCAD's palette, may be poorly rendered. +\par +{\bf ppmtoacad} +works best if the system displaying its output supports the full 256 +colour AutoCAD palette. Monochrome, 8 colour, and 16 colour +configurations will produce less than optimal results. +\par +When creating a .dxb file or a slide file with the +{\bf -poly} +option, +{\bf ppmtoacad} +finds both vertical and horizontal runs of identical pixels and +consolidates them into rectangular regions to reduce the size of the +output file. This is effective for images with large areas of +constant colour but it's no substitute for true raster to vector +conversion. In particular, thin diagonal lines are not optimised at +all by this process. +\par +Output files can be huge. +\shead{SEE ALSO} +AutoCAD Reference Manual: +{\it Slide File Format} +and +{\it Binary\ Drawing\ Interchange\ (DXB)\ Files}{\rm ,} +{\bf ppm}{\rm (5)} +\shead{AUTHOR} +\ind{1\parindent}{\nofill + John Walker + Autodesk SA + Avenue des Champs-Montants 14b + CH-2074 MARIN + Suisse/Schweiz/Svizzera/Svizra/Switzerland +\fill} +\begin{TPlist}{Usenet:} +\item[{Usenet:}] +kelvin@Autodesk.com +\item[{Fax:}] +038/33 88 15 +\item[{Voice:}] +038/33 76 33 +\end{TPlist} + +\par +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +without any conditions or restrictions. This software is provided ``as +is'' without express or implied warranty. +\par +AutoCAD and Autodesk are registered trademarks of Autodesk, Inc. +% +% end of input file: ppmtoacad.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:09 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtobmp.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtobmp.1 +% +\phead{ppmtobmp}{1}{26 Oct 1992}{}{} + +%.IX ppmtobmp +\shead{NAME} +ppmtobmp -- convert a portable pixmap into a BMP file +\shead{SYNOPSIS} +{\bf ppmtobmp} +{\rm [}{\it --windows}{\rm ]} +{\rm [}{\it --os2}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces a Microsoft Windows or OS/2 BMP file as output. +%.IX BMP +\shead{OPTIONS} +\begin{TPlist}{{\bf --windows}} +\item[{{\bf --windows}}] +Tells the program to produce a Microsoft Windows BMP file. +\item[{{\bf --os2}}] +Tells the program to produce an OS/2 BMP file. +(This is the default.) +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +bmptoppm(1), +ppm(5) +\shead{AUTHOR} +\copyright 1992 by David W. Sanderson. +% Permission to use, copy, modify, and distribute this software and +% its documentation for any purpose and without fee is hereby granted, +% provided that the above copyright notice appear in all copies and +% that both that copyright notice and this permission notice appear in +% supporting documentation. This software is provided "as is" without +% express or implied warranty. +% +% end of input file: ppmtobmp.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:50 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtogif.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtogif.1 +% +\phead{ppmtogif}{1}{30 June 1993}{}{} + +%.IX ppmtogif +\shead{NAME} +ppmtogif - convert a portable pixmap into a GIF file +\shead{SYNOPSIS} +{\bf ppmtogif} +{\rm [}{\bf -interlace}{\rm ]} +{\rm [}{\bf -sort}{\rm ]} +{\rm [}{\bf -map} +{\it mapfile ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces a GIF file as output. +%.IX GIF +\shead{OPTIONS} +\begin{TPlist}{{\bf -interlace}} +\item[{{\bf -interlace}}] +Tells the program to produce an interlaced GIF file. +\item[{{\bf -sort}}] +Produces a GIF file with a sorted color map. +\item[{{\bf -map}}] +{\it mapfile} + +Uses the colors found in the +{\it mapfile} +to create the colormap in the GIF file, instead of the colors from +{\it ppmfile.} +The +{\it mapfile} +can be any +{\it ppm} +file; all that matters is the colors in it. If the colors in +{\it ppmfile} +do not match those in +{\it mapfile} +, they are matched to a ``best match''. A (much) better result can be obtained by +using the following filter in advance: + +{\it ppmquant} +-floyd -map +{\it mapfile} +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +giftoppm(1), ppmquant(1), ppm(5) +\shead{AUTHOR} +Based on GIFENCOD by David Rowley (mgardi@watdcsu.waterloo.edu). +Lempel-Ziv compression based on ``compress''. + +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% The Graphics Interchange Format(c) is the Copyright property of +% CompuServe Incorporated. GIF(sm) is a Service Mark property of +% CompuServe Incorporated. +% +% end of input file: ppmtogif.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:51 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtoicr.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtoicr.1 +% +\phead{ppmtoicr}{1}{30 July 1990}{}{} + +%.IX ppmtoicr +\shead{NAME} +ppmtoicr - convert a portable pixmap into NCSA ICR format +\shead{SYNOPSIS} +{\bf ppmtoicr} +{\rm [}{\bf -windowname} +{\it name}{\rm ]} +{\rm [}{\bf -expand} +{\it expand}{\rm ]} +{\rm [}{\bf -display} +{\it display}{\rm ]} +{\rm [}{\bf -rle}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap file as input. +Produces an NCSA Telnet Interactive Color Raster graphic file as output. +%.IX "NCSA ICR" +If +{\it ppmfile} +is not supplied, +{\it ppmtoicr} +will read from standard input. +\par +Interactive Color Raster (ICR) is a protocol for displaying raster +graphics on workstation screens. The protocol is implemented in NCSA +Telnet for the Macintosh version 2.3. +%.IX Macintosh +The ICR protocol shares +characteristics of the Tektronix graphics terminal emulation protocol. +%.IX Tektronix +For example, escape sequences are used to control the display. +\par +{\it ppmtoicr} +will output the appropriate sequences to create a window of the +dimensions of the input pixmap, +create a colormap of up to 256 +colors on the display, then load the picture data into the window. +\par +Note that there is no icrtoppm tool - this transformation is one way. +\shead{OPTIONS} +\begin{TPlist}{{\bf -windowname}{\it name} +} +\item[{{\bf -windowname}{\it name} +}] +Output will be displayed in +{\it name} +(Default is to use +{\it ppmfile} +or ``untitled'' if standard input is read.) +\item[{{\bf -expand}{\it expand} +}] +Output will be expanded on display by factor +{\it expand} +(For example, a value of 2 will cause four pixels to be displayed for +every input pixel.) +\item[{{\bf -display}{\it display} +}] +Output will be displayed on screen numbered +{\it display} +\item[{{\bf -rle}}] +Use run-length encoded format for display. (This will nearly always +result in a quicker display, but may skew the colormap.) +\end{TPlist} + +\shead{EXAMPLES} +To display a +{\it ppm} +file using the protocol: +\nofill + ppmtoicr ppmfile +\fill +This will create a window named +{\it ppmfile} +on the display with the correct dimensions for +{\it ppmfile,} +create and download a colormap of up +to 256 colors, and download the picture into the window. The same effect +may be achieved by the following sequence: +\nofill + ppmtoicr ppmfile $>$ filename + cat filename +\fill +To display a GIF +file using the protocol in a window titled after the input file, zoom +the displayed image by a factor of 2, and +run-length encode the data: +\nofill + giftoppm giffile $|$ ppmtoicr -w giffile -r -e 2 +\fill +\shead{BUGS} +\par +The protocol uses frequent +{\it fflush} +calls to speed up display. If the +output is saved to a file for later display via +{\it cat,} +drawing will be +much slower. In either case, increasing the Blocksize limit on the +display will speed up transmission substantially. +\shead{SEE ALSO} +{\bf ppm(5)} +\par\noindent +{\it NCSA\ Telnet\ for\ the\ Macintosh}{\rm ,} +University of Illinois at Urbana-Champaign (1989) +\shead{AUTHOR} +\copyright 1990 by Kanthan Pillay (svpillay@Princeton.EDU), +Princeton University Computing and Information Technology. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtoicr.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:52 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtoilbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtoilbm.1 +% +\phead{ppmtoilbm}{1}{29 August 1993}{}{} + +%.IX ppmtoilbm +\shead{NAME} +ppmtoilbm - convert a portable pixmap into an ILBM file +\shead{SYNOPSIS} +{\bf ppmtoilbm} +{\rm [}{\bf -maxplanes}{\rm $|$}{\bf -mp} +{\it N}{\rm ]} +{\rm [}{\bf -fixplanes}{\rm $|$}{\bf -fp} +{\it N}{\rm ]} +{\rm [}{\bf -ham6}{\rm $|$}{\bf -ham8}{\rm ]} +{\rm [}{\bf -dcbits}{\rm $|$}{\bf -dcplanes}{\rm r}{\bf g}{\rm b}{\bf ]} +{\rm [}{\bf -normal}{\rm $|$}{\bf -hamif}{\rm $|$}{\bf -hamforce}{\rm $|$}{\bf -24if}{\rm $|$}{\bf -24force}{\rm $|$} +{\rm -dcif}{\bf $|$}{\rm -dcforce}{\bf $|$}{\rm -cmaponly}{\bf ]} +{\rm [}{\bf -ecs}{\rm $|$}{\bf -aga}{\rm ]} +{\rm [}{\bf -map}{\rm ppmfile}{\bf ]} +{\rm [}{\bf ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +%.IX "ILBM" +Produces an ILBM file as output. +Supported ILBM types are: +\begin{TPlist}{Normal ILBMs with 1-16 planes.} +\item[{Normal ILBMs with 1-16 planes.}] +\item[{Amiga Hold-and-Modify (HAM) with 3-16 planes.}] +%.IX "Amiga" +%.IX "HAM" +\item[{24 bit.}] +\item[{Color map (BMHD + CMAP chunk only, nPlanes = 0).}] +\item[{Unofficial direct color.}] +1-16 planes for each color component. +\item[{Chunks written:}] +BMHD, CMAP, CAMG (only for HAM), BODY (not for colormap files) +unofficial DCOL chunk for direct color ILBM +\item[{Chunks ignored:}] +GRAB, DEST, SPRT, CRNG, CCRT, CLUT, DPPV, DRNG, EPSF +\item[{Other chunks (ignored but displayed in verbose mode):}] +NAME, AUTH, (c), ANNO, DPI +\end{TPlist} + +\shead{OPTIONS} +Options marked with (*) can be prefixed with a ``no'', +{\it e.g.}, ``-nohamif''. All options can be abbreviated to +their shortest unique prefix. +\begin{TPlist}{{\bf -maxplanes $|$ -mp n}} +\item[{{\bf -maxplanes $|$ -mp n}}] +(default 5, minimum 1, maximum 16) +Maximum planes to write in a normal ILBM. If the pixmap +does not fit into $<$n$>$ planes, ppmtoilbm writes a HAM file +(if -hamif is used), a 24bit file (if -24if is used) or a +direct color file (if -dcif is used) or aborts with an error. +\item[{{\bf -fixplanes $|$ -fp n}}] +(min 1, max 16) +If a normal ILBM is written, it will have exactly $<$n$>$ planes. +\item[{{\bf -hambits $|$ -hamplanes n}}] +(default 6, min 3, max 16) +Select number of planes for HAM picture. The current Amiga +hardware supports 6 and 8 planes, so for now you should +only use this values. +\item[{{\bf -normal (default)}}] +Turns off -hamif/-24if/-dcif, -hamforce/-24force/-dcforce and +-cmaponly. +\item[{{\bf -hamif (*)}}] +\item[{{\bf -24if (*)}}] +\item[{{\bf -dcif (*)}}] +Write a HAM/24bit/direct color file if the pixmap does not +fit into $<$maxplanes$>$ planes. +\item[{{\bf -hamforce (*)}}] +\item[{{\bf -24force (*)}}] +\item[{{\bf -dcforce (*)}}] +Write a HAM/24bit/direct color file. +\item[{{\bf -dcbits $|$ -dcplanes r g b}}] +(default 5, min 1, max 16). +Select number of bits for red, green \& blue in a direct +color ILBM. +\item[{{\bf -ecs (default)}}] +Shortcut for: -hamplanes 6 -maxplanes 5 +\item[{{\bf -aga}}] +\item[{{\bf Shortcut for: -hamplanes 8 -maxplanes 8}}] +\item[{{\bf -ham6}}] +\item[{{\bf Shortcut for: -hamplanes 6 -hamforce}}] +\item[{{\bf -ham8}}] +Shortcut for: -hamplanes 8 -hamforce +\item[{{\bf -map ppmfile}}] +Write a normal ILBM using the colors in $<$ppmfile$>$ as the +colormap. The colormap file also determines the number of +planes, a -maxplanes or -fixplanes option is ignored. +\item[{{\bf -cmaponly}}] +Write a colormap file: only BMHD and CMAP chunks, no BODY +chunk, nPlanes = 0. +\end{TPlist} + +\shead{BUGS} +Needs a real colormap selection algorithm for HAM pictures, +instead of using a grayscale colormap. +\shead{REFERENCES} +Amiga ROM Kernel Reference Manual - Devices (3rd Ed.) +Addison Wesley, ISBN 0--201--56775--X +\shead{SEE ALSO} +ppm(5), ilbmtoppm(1) +\shead{AUTHORS} +\copyright 1989 by Jef Poskanzer. +\nwl +Modified August 1993 by Ingo Wilken +(Ingo.Wilken@informatik.uni-oldenburg.de). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtoilbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Tue Nov 30 08:30:37 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtomitsu.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtomitsu.1 +% +\phead{ppmtomitsu}{1}{29 Jan 1992}{}{} + +%.IX ppmtomitsu +\shead{NAME} +ppmtomitsu - convert a portable pixmap to a Mitsubishi S340-10 file +\shead{SYNOPSIS} +{\bf ppmtomitsu} +{\rm [-sharpness} +{\it val}{\rm ]} +{\rm [}{\bf -enlarge} +{\it val}{\rm ]} +{\rm [}{\bf -media} +{\it string}{\rm ]} +{\rm [}{\bf -copy} +{\it val}{\rm ]} +{\rm [}{\bf -dpi300}{\rm ]} +{\rm [}{\bf -tiny}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input and converts it into a format suitable +to be printed by a Mitsubishi S340-10 printer, or any other Mitsubishi +color sublimation printer. +\par +The Mitsubishi S340-10 Color Sublimation printer supports 24bit color. +Images of the available sizes take so long to transfer that there is a +fast method, employing a lookuptable, that ppmtomitsu will use if there +is a maximum of 256 colors in the pixmap. +ppmtomitsu will try to position your image to the center of the paper, +and will rotate your image for you if xsize is larger than ysize. +If your image is larger than the media allows, ppmtomitsu will quit +with an error message. (We decided that the media were too expensive +to have careless users produce misprints.) +Once data transmission has started, the job can't be stopped in a +sane way without resetting the printer. +The printer understands putting together images in the printers memory; +ppmtomitsu doesn't utilize this as pnmcat etc provide the same functionality +and let you view the result on-screen, too. +The S340-10 is the lowest common denominator printer; for higher +resolution printers there's the dpi300 option. The other printers also +support higher values for enlarge eg, but I don't think that's essential +enough to warrant a change in the program. +\begin{TPlist}{{\bf -sharpness}{\it \ 1-4} +} +\item[{{\bf -sharpness}{\it \ 1-4} +}] + 'sharpness' designation. Default is to use the current sharpness. +\item[{{\bf -enlarge}{\it \ 1-3} +}] +Enlarge by a factor; Default is 1 (no enlarge) +\item[{{\bf -media}{\it \ A,\ A4,\ AS,\ A4S} +}] +Designate the media you're using. Default is 1184 x 1350, which will fit +on any media. A is 1216 x 1350, A4 is 1184 x 1452, AS is 1216 x 1650 and +A4S is 1184 x 1754. A warning: If you specify a different media than the +printer currently has, the printer will wait until you put in the correct +media or switch it off. +\item[{{\bf -copy}{\it \ 1-9} +}] +The number of copies to produce. Default is 1. +\item[{{\bf -dpi300} +}] +Double the number of allowed pixels for a S3600-30 Printer in S340-10 +compatibility mode. (The S3600-30 has 300 dpi). +\item[{{\bf -tiny} +}] +Memory-safing, but always slow. The printer will get the data line-by-line +in 24bit. It's probably a good idea to use this if your machine starts +paging a lot without this option. +\end{TPlist} + +\shead{REFERENCES} +Mitsubishi Sublimation Full Color Printer S340-10 Specifications of +Parallel Interface LSP-F0232F +\shead{SEE ALSO} +ppmquant(1), pnmscale(1), ppm(5) +\shead{BUGS} +We didn't find any - yet. (Besides, they're called features anyway :-) +If you should find one, my email-adress is below. +\shead{AUTHOR} +\copyright 1992, 93 by S.Petra Zeidler, MPIfR Bonn, Germany. +(spz@specklec.mpifr-bonn.mpg.de) +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtomitsu.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:10 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtomap.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtomap.1 +% +\phead{ppmtomap}{1}{11 August 1993}{}{} + +%.IX ppmtomap +\shead{NAME} +ppmtomap - extract all colors from a portable pixmap +\shead{SYNOPSIS} +{\bf ppmtomap} +{\rm [}{\bf -sort}{\rm ]} +{\rm [}{\bf -square}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces a portable pixmap as output, representing a color map of the +input file. All N different colors found are put in an Nx1 portable +pixmap. +This color map file can be used as a mapfile for +{\it ppmquant} +or +{\it ppmtogif.} +\shead{OPTIONS} +\begin{TPlist}{{\bf -sort}} +\item[{{\bf -sort}}] +Produces a portable pixmap with the colors in some sorted order. +\item[{{\bf -square}}] +Produces a (more or less) square output file, instead of putting all +colors on the top row. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{WARNING} +If you want to use the output file as a mapfile for +{\it ppmtogif,} +you first have to do a +{\it ppmquant 256,} +since +{\it ppmtomap} +is not limited to 256 colors (but to 65536). +\shead{SEE ALSO} +ppmtogif(1), ppmquant(1), ppm(5) +\shead{AUTHOR} +Marcel Wijkstra (wijkstra@fwi.uva.nl). + +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% The Graphics Interchange Format(c) is the Copyright property of +% CompuServe Incorporated. GIF(sm) is a Service Mark property of +% CompuServe Incorporated. +% +% end of input file: ppmtomap.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:53 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtopcx.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtopcx.1 +% +\phead{ppmtopcx}{1}{09 April 1990}{}{} + +%.IX ppmtopcx +\shead{NAME} +ppmtopcx - convert a portable pixmap into a PCX file +\shead{SYNOPSIS} +{\bf ppmtopcx} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces a PCX file as output. +%.IX PCX +\shead{SEE ALSO} +pcxtoppm(1), ppm(5) +\shead{AUTHOR} +\copyright 1990 by Michael Davidson. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtopcx.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:53 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtopgm.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtopgm.1 +% +\phead{ppmtopgm}{1}{23 December 1988}{}{} + +%.IX ppmtopgm +\shead{NAME} +ppmtopgm - convert a portable pixmap into a portable graymap +\shead{SYNOPSIS} +{\bf ppmtopgm} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces a portable graymap as output. +The quantization formula used is .299 r + .587 g + .114 b. +\par +Note that although there is a +{\it pgmtoppm} +program, it is not necessary +for simple conversions from +{\it pgm} +to +{\it ppm}{\rm ,} +because any ppm program can +read +{\it pgm} +(and +{\it pbm} +) files automagically. +{\it pgmtoppm} +is for colorizing a +{\it pgm} +file. Also, see +{\it ppmtorgb3} +%.IX ppmtorgb3 +for a different way of converting color to gray. +\shead{QUOTE} +\nofill +Cold-hearted orb that rules the night +Removes the colors from our sight +Red is gray, and yellow white +But we decide which is right +And which is a quantization error. +\fill +\shead{SEE ALSO} +pgmtoppm(1), ppmtorgb3(1), rgb3toppm(1), ppm(5), pgm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtopgm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:54 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtopi1.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtopi1.1 +% +\phead{ppmtopi1}{1}{19 July 1990}{}{} + +%.IX ppmtopi1 +\shead{NAME} +ppmtopi1 - convert a portable pixmap into an Atari Degas .pi1 file +\shead{SYNOPSIS} +{\bf ppmtopi1} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces an Atari Degas .pi1 file as output. +%.IX Atari +%.IX "Degas .pi1" +\shead{SEE ALSO} +pi1toppm(1), ppm(5), pbmtopi3(1), pi3topbm(1) +\shead{AUTHOR} +\copyright 1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer. +% Permission to use, copy, modify and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtopi1.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:54 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtopict.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtopict.1 +% +\phead{ppmtopict}{1}{15 April 1990}{}{} + +%.IX ppmtopict +\shead{NAME} +ppmtopict - convert a portable pixmap into a Macintosh PICT file +\shead{SYNOPSIS} +{\bf ppmtopict} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces a Macintosh PICT file as output. +%.IX PICT +%.IX Macintosh +\par +The generated file is only the data fork of a picture. +You will need a program such as +{\it mcvert} +to generate a Macbinary or a BinHex file that contains the necessary +information to identify the file as a PICT file to MacOS. +\par +Even though PICT supports 2 and 4 bits per pixel, +{\it ppmtopict} +always generates an 8 bits per pixel file. +\shead{BUGS} +The picture size field is only correct if the output is to a file +since writing into this field requires seeking backwards on a file. +However the PICT documentation seems to suggest that this field is +not critical anyway since it is only the lower 16 bits of the picture size. +\shead{SEE ALSO} +picttoppm(1), ppm(5), mcvert(1) +\shead{AUTHOR} +\copyright 1990 by Ken Yap (ken@cs.rocester.edu). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtopict.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:55 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtopj.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtopj.1 +% +\phead{ppmtopj}{1}{13 July 1991}{}{} + +%.IX ppmtopj +\shead{NAME} +ppmtopj - convert a portable pixmap to an HP PaintJet file +\shead{SYNOPSIS} +{\bf ppmtopj} +{\rm [-gamma} +{\it val}{\rm ]} +{\rm [}{\bf -xpos} +{\it val}{\rm ]} +{\rm [}{\bf -ypos} +{\it val}{\rm ]} +{\rm [}{\bf -back} +{\bf dark}{\rm $|$}{\bf lite}{\rm ]} +{\rm [}{\bf -rle}{\rm ]} +{\rm [}{\bf -center}{\rm ]} +{\rm [}{\bf -render} +{\bf none$|$snap$|$bw$|$dither$|$diffuse$|$monodither$|$monodiffuse$|$clusterdither$|$monoclusterdither}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input and converts it into a format suitable +to be printed by an HP PaintJet printer. +\par +For best results, the input file should be in 8-color RGB form; +{\it i.e.}, it should have only +the 8 binary combinations of full-on and full-off primaries. +You could get this by sending the input file through +{\it ppmquant -map} +with a map file such as: +\nofill + P3 + 8 1 + 255 + 0 0 0 255 0 0 0 255 0 0 0 255 + 255 255 0 255 0 255 0 255 255 255 255 255 +\fill +Or else you could use use +{\it ppmdither -red 2 -green 2 -blue 2.} +\shead{OPTIONS} +\begin{TPlist}{{\bf -rle}} +\item[{{\bf -rle}}] +Run length encode the image. +(This can result in larger images) +\item[{{\bf -back}}] +Enhance the foreground by indicating if the background is light or +dark compated to the foreground. +\item[{{\bf -render}{\it \ alg} +}] +Use an internal rendering algorithm (default dither). +\item[{{\bf -gamma}{\it \ int} +}] +Gamma correct the image using the integet parameter as a gamma (default 0). +\item[{{\bf -center}}] +Center the image to an 8.5 by 11 page +\item[{{\bf -xpos}{\it \ pos} +}] +Move by pos pixels in the x direction. +\item[{{\bf -ypos}{\it \ pos} +}] +Move by pos pixels in the y direction. +\end{TPlist} + +\shead{REFERENCES} +HP PaintJet XL Color Graphics Printer User's Guide +\shead{SEE ALSO} +pnmdepth(1), ppmquant(1), ppmdither(1), ppm(5) +\shead{BUGS} +Most of the options have not been tested because of the price of the paper. +\shead{AUTHOR} +\copyright 1991 by Christos Zoulas. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtopj.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:10 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtopjxl.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtopjxl.1 +% +\phead{ppmtopjxl}{1}{14 March 1991}{}{} + +\shead{NAME} +ppmtopjxl - convert a portable pixmap into an HP PaintJet XL PCL file +\shead{SYNOPSIS} +ppmtopjxl [-nopack] [-gamma +{\it $<$n$>$} +] [-presentation] [-dark] [-diffuse] [-cluster] [-dither] [-xshift +{\it $<$s$>$} +] [-yshift +{\it $<$s$>$} +] [-xshift +{\it $<$s$>$} +] [-yshift +{\it $<$s$>$} +] [-xsize$|$-width$|$-xscale +{\it $<$s$>$} +] [-ysize$|$-height$|$-yscale +{\it $<$s$>$} +] [ppmfile] + +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces a PCL file suitable for printing on an HP PaintJet XL printer as +output. +\par +The generated file is not suitable for printing on a normal PrintJet printer. +The +{\bf --nopack} +option generates a file which does not use the normal TIFF 4.0 compression +method. This file might be printable on a normal PaintJet printer (not an XL). +\par +The +{\bf --gamma} +option sets the gamma correction for the image. The useful range for the +PaintJet XL is approximately 0.6 to 1.5. +\par +The rendering algorithm used for images can be altered with the +{\bf -dither,} +{\bf -cluster,} +and +{\bf -diffuse} +options. These options select ordered dithering, clustered ordered dithering, +or error diffusion respectively. +The +{\bf --dark} +option can be used to enhance images with a dark background when they are +reduced in size. +The +{\bf --presentation} +option turns on presentation mode, in which two passes are made over the paper +to increase ink density. This should be used only for images where quality is +critical. + +\par +The image can be resized by setting the +{\bf --xsize} +and +{\bf --ysize} +options. The parameter to either of these options is interpreted as the +number of dots to set the width or height to, but an optional dimension of +`% +\bf pt% +\rm ' (points), `% +\bf dp% +\rm ' (decipoints), `% +\bf in% +\rm ' (inches), or +`% +\bf cm% +\rm ' (centimetres) may be appended. +If only one dimension is specified, the other will be scaled appropriately. + +The options +{\bf --width} +and +{\bf --height} +are synonyms of +{\bf --xsize} +and +{\bf --ysize.} + +The +{\bf --xscale} +and +{\bf --yscale} +options can alternatively be used to scale the image by a simple factor. + +\par +The image can be shifted on the page by using the +{\bf --xshift} +and +{\bf --yshift} +options. These move the image the specified dimensions right and down. + +\shead{SEE ALSO} +ppm(5) +\shead{AUTHOR} +Angus Duggan +% +% end of input file: ppmtopjxl.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:56 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtopuzz.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtopuzz.1 +% +\phead{ppmtopuzz}{1}{22 August 1990}{}{} + +%.IX ppmtopuzz +\shead{NAME} +ppmtopuzz - convert a portable pixmap into an X11 ``puzzle'' file +\shead{SYNOPSIS} +{\bf ppmtopuzz} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces an X11 ``puzzle'' file as output. +A ``puzzle'' file is for use with the +{\it puzzle} +%.IX puzzle +%.IX "X window system" +program included with the X11 distribution - +{\it puzzle}{\rm 's} +{\bf -picture} +flag lets you specify an image file. +\shead{SEE ALSO} +ppm(5), puzzle(1) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtopuzz.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:57 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtorgb3.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtorgb3.1 +% +\phead{ppmtorgb3}{1}{10 January 1991}{}{} + +%.IX ppmtorgb3 +\shead{NAME} +ppmtorgb3 - separate a portable pixmap into three portable graymaps +\shead{SYNOPSIS} +{\bf ppmtorgb3} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Writes three portable graymaps as output, one each for red, green, and blue. +%.IX "color separation" +\par +The output filenames are constructed by taking the input filename, +stripping off any extension, and appending ``.red'', ``.grn'', and +``.blu''. +For example, separating lenna.ppm would result in lenna.red, lenna.grn, +and lenna.blu. +If the input comes from stdin, the names are noname.red, noname.grn, +and noname.blu. +\shead{SEE ALSO} +rgb3toppm(1), ppmtopgm(1), pgmtoppm(1), ppm(5), pgm(5) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtorgb3.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:57 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtosixel.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtosixel.1 +% +\phead{ppmtosixel}{1}{26 April 1991}{}{} + +%.IX ppmtosixel +\shead{NAME} +ppmtosixel - convert a portable pixmap into DEC sixel format +\shead{SYNOPSIS} +{\bf ppmtosixel} +{\rm [}{\bf -raw}{\rm ]} +{\rm [}{\bf -margin}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces sixel commands (SIX) as output. +The output is formatted for color printing, {\it e.g.}, for a DEC LJ250 color +inkjet printer. +\par +If RGB values from the PPM file do not have maxval=100, +the RGB values are rescaled. +A printer control header and a color assignment table begin the SIX file. +Image data is written in a compressed format by default. +A printer control footer ends the image file. +\shead{OPTIONS} +\begin{TPlist}{{\bf -raw}} +\item[{{\bf -raw}}] +If specified, each pixel will be explicitly described in the image file. +If +{\bf -raw} +is not specified, output will default to compressed format in which +identical adjacent pixels are replaced by ``repeat pixel'' commands. +A raw file is often an order of magnitude larger than a compressed +file and prints much slower. +\item[{{\bf -margin}}] +If +{\bf -margin} +is not specified, the image will be start at the left margin +(of the window, paper, or whatever). +If +{\bf -margin} +is specified, a 1.5 inch left margin will offset the image. +\end{TPlist} + +\shead{PRINTING} +Generally, sixel files must reach the printer unfiltered. +Use the lpr -x option or cat filename $>$ /dev/tty0?. +\shead{BUGS} +Upon rescaling, truncation of the least significant bits of RGB values +may result in poor color conversion. +If the original PPM maxval was greater than 100, rescaling also +reduces the image depth. +While the actual RGB values from the ppm file are more or less +retained, the color palette of the LJ250 may not match the colors +on your screen. +This seems to be a printer limitation. +\shead{SEE ALSO} +ppm(5) +\shead{AUTHOR} +\copyright 1991 by Rick Vinci. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtosixel.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:58 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtotga.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtotga.1 +% +\phead{ppmtotga}{1}{28 October 1991}{}{} + +%.IX ppmtotga +\shead{NAME} +ppmtotga - convert portable pixmap into a TrueVision Targa file +\shead{SYNOPSIS} +{\bf ppmtotga} +{\rm [}{\bf -mono$|$-cmap$|$-rgb}{\rm ]} +{\rm [}{\bf -norle}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces a TrueVision Targa file as output. +\shead{OPTIONS} +\begin{TPlist}{{\bf -mono}} +\item[{{\bf -mono}}] +Forces Targa file to be of type 8 bit monochrome. Input must be a portable +bitmap or a portable graymap. +\item[{{\bf -cmap}}] +Forces Targa file to be of type 24 bit colormapped. Input must be a portable +bitmap, a portable graymap or a portable pixmap containing no more than +256 distinct colors. +\item[{{\bf -rgb}}] +Forces Targa file to be of type 24 bit unmapped color. +\item[{{\bf -norle}}] +Disables run-length encoding, in case you have a Targa reader which +can't read run-length encoded files. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. If no +file type is specified the most highly constained compatible type is +used, where monochrome is more constained than colormapped which is in +turn more constained than unmapped. +\shead{BUGS} +Does not support all possible Targa file types. +Should really be in PNM, not PPM. +\shead{SEE ALSO} +tgatoppm(1), ppm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Mark Shand and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtotga.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:59 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtouil.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtouil.1 +% +\phead{ppmtouil}{1}{31 August 1990}{}{} + +%.IX ppmtouil +\shead{NAME} +ppmtouil - convert a portable pixmap into a Motif UIL icon file +\shead{SYNOPSIS} +{\bf ppmtouil} +{\rm [}{\bf -name} +{\it uilname}{\rm ]} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces a Motif UIL icon file as output. +%.IX Motif +%.IX UIL +%.IX "X window system" +\par +If the program was compiled with an rgb database specified, and +a RGB value from the ppm input matches a RGB value from the database, +then the corresponding color name mnemonic is printed in the UIL's colormap. +If no rgb database was compiled in, or if the RGB values don't match, +then the color +will be printed with the \#RGB, \#RRGGBB, \#RRRGGGBBB, or \#RRRRGGGGBBBB +hexadecimal format. +\shead{OPTIONS} +\begin{TPlist}{{\bf -name}} +\item[{{\bf -name}}] +Allows you to specify the prefix string which is printed +in the resulting UIL output. If not specified, will default to the +filename (without extension) of the ppmfile argument. +If +{\bf -name} +is not specified and no ppmfile +is specified ({\it i.e.}, piped input), the prefix string will default to +the string ``noname''. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +ppm(5) +\shead{AUTHOR} +Converted by Jef Poskanzer from ppmtoxpm.c, which is +\copyright 1990 by Mark W. Snitily. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtouil.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:59 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtoxpm.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtoxpm.1 +% +\phead{ppmtoxpm}{1}{Tue Apr 9 1991}{}{} + +\shead{NAME} +ppmtoxpm - convert a portable pixmap into an X11 pixmap +\shead{SYNOPSIS} +ppmtoxpm [-name $<$xpmname$>$] [-rgb $<$rgb-textfile$>$] [$<$ppmfile$>$] +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces X11 pixmap (version 3) as output which +can be loaded directly by the XPM library. +\par +The {\bf -nameoption} allows one to specify the prefix string which is printed +in the resulting XPM output. If not specified, will default to the +filename (without extension) of the $<$ppmfile$>$ argument. +If {\bf -nameis} not specified and $<$ppmfile$>$ +is not specified ({\it i.e.}, piped input), the prefix string will default to +the string ``noname''. +\par +The {\bf -rgboption} allows one to specify an X11 rgb text file for the +lookup of color name mnemonics. This rgb text file is typically the +/usr/lib/X11/rgb.txt of the MIT X11 distribution, but any file using the +same format may be used. When specified and +a RGB value from the ppm input matches a RGB value from the $<$rgb-textfile$>$, +then the corresponding color name mnemonic is printed in the XPM's colormap. +If {\bf -rgbis} not specified, or if the RGB values don't match, then the color +will be printed with the \#RGB, \#RRGGBB, \#RRRGGGBBB, or \#RRRRGGGGBBBB +hexadecimal format. +\par +All flags can be abbreviated to their shortest unique prefix. +\par +For example, to convert the file ``dot'' (found in /usr/include/X11/bitmaps), +from xbm to xpm one could specify +\begin{IPlist} +\IPitem{{}} +xbmtopbm dot $|$ ppmtoxpm -name dot +\end{IPlist} + +\par +or, with a rgb text file (in the local directory) +\begin{IPlist} +\IPitem{{}} +xbmtopbm dot $|$ ppmtoxpm -name dot -rgb rgb.txt +\end{IPlist} + +\shead{BUGS} +An option to match the closest (rather than exact) color name mnemonic +from the rgb text would be a desirable enhancement. +\par +Truncation of the least significant bits of a RGB value may result in +nonexact matches when performing color name mnemonic lookups. +\shead{SEE ALSO} +ppm(5) +\nwl +XPM Manual by Arnaud Le Hors (lehors@mirsa.inria.fr). +\shead{AUTHOR} +\copyright 1990 by Mark W. Snitily. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. + +This tool was developed for Schlumberger Technologies, ATE Division, and +with their permission is being made available to the public with the above +copyright notice and permission notice. + +Upgraded to XPM2 by + Paul Breslaw, Mecasoft SA, Zurich, Switzerland (paul@mecazh.uu.ch) + Thu Nov 8 16:01:17 1990 + +Upgraded to XPM version 3 by + Arnaud Le Hors (lehors@mirsa.inria.fr) + Tue Apr 9 1991 + + +% +% end of input file: ppmtoxpm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:00 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtoyuv.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtoyuv.1 +% +\phead{ppmtoyuv}{1}{25 March 91}{}{} + +%.IX ppmtoyuv +\shead{NAME} +ppmtoyuv - convert a portable pixmap into an Abekas YUV file +\shead{SYNOPSIS} +{\bf ppmtoyuv} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces an Abekas YUV file as output. +%.IX Abekas +\shead{SEE ALSO} +yuvtoppm(1), ppm(5) +\shead{AUTHOR} +Marc Boucher (marc@PostImage.COM), +based on Example Conversion Program, A60/A64 Digital Video Interface +Manual, page 69. +\par +\copyright 1991 by DHD PostImage Inc. +\par +\copyright 1987 by Abekas Video Systems Inc. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtoyuv.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:11 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ppmtoyuvsplit.1 + +\newpage +%-------------------------------------------------- +% start of input file: ppmtoyuvsplit.1 +% +\phead{ppmtoyuvsplit}{1}{9 September 1993}{}{} + +%.IX ppmtoyuvsplit +\shead{NAME} +ppmtoyuvsplit - convert a portable pixmap into 3 subsampled raw YUV files +\shead{SYNOPSIS} +{\bf ppmtoyuvsplit} +{\it basename} +{\rm [}{\it ppmfile}{\rm ]} +\shead{DESCRIPTION} +Reads a portable pixmap as input. +Produces 3 raw files basename.Y, basename.U and basename.V as output. +These files are the subsampled raw YUV representation of the input +pixmap, as required by the Stanford MPEG codec. The subsampling is done +by arithmetic mean of 4 pixels colors into one. The YUV values are scaled +according to CCIR.601, as assumed by MPEG. +\shead{SEE ALSO} +mpeg(1), ppm(5) +\shead{AUTHOR} +\copyright 1993 by Andre Beck. (Andre\_Beck@IRS.Inf.TU-Dresden.de). +\par +Based on ppmtoyuv.c. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ppmtoyuvsplit.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:33 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: psidtopgm.1 + +\newpage +%-------------------------------------------------- +% start of input file: psidtopgm.1 +% +\phead{psidtopgm}{1}{02 August 89}{}{} + +%.IX psidtopgm +\shead{NAME} +psidtopgm - convert PostScript ``image'' data into a portable graymap +\shead{SYNOPSIS} +{\bf psidtopgm} +{\it width height bits/sample} +{\rm [}{\it imagedata}{\rm ]} +\shead{DESCRIPTION} +Reads the ``image'' data from a PostScript file as input. +%.IX PostScript +Produces a portable graymap as output. +\par +This is a very simple and limited program, and is here only because +so many people have asked for it. +To use it you have to +{\bf manually} +extract the readhexstring data portion from your PostScript file, and then +give the width, height, and bits/sample on the command line. +Before you attempt this, you should +{\bf at least} +read the description of the ``image'' operator in the PostScript Language +Reference Manual. +\par +It would probably not be too hard to write a script that uses this filter +to read a specific variety of PostScript image, but the variation is too +great to make a general-purpose reader. +Unless, of course, you want to write a full-fledged PostScript interpreter... +\shead{SEE ALSO} +pnmtops(1), pgm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: psidtopgm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:00 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: qrttoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: qrttoppm.1 +% +\phead{qrttoppm}{1}{25 August 1989}{}{} + +%.IX qrttoppm +\shead{NAME} +qrttoppm - convert output from the QRT ray tracer into a portable pixmap +\shead{SYNOPSIS} +{\bf qrttoppm} +{\rm [}{\it qrtfile}{\rm ]} +\shead{DESCRIPTION} +Reads a QRT file as input. +%.IX "QRT raytracer" +Produces a portable pixmap as output. +\shead{SEE ALSO} +ppm(5) +\shead{AUTHOR} +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: qrttoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:28 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: rasttopnm.1 + +\newpage +%-------------------------------------------------- +% start of input file: rasttopnm.1 +% +\phead{rasttopnm}{1}{13 January 1991}{}{} + +%.IX rasttopnm +\shead{NAME} +rasttopnm - convert a Sun rasterfile into a portable anymap +\shead{SYNOPSIS} +{\bf rasttopnm} +{\rm [}{\it rastfile}{\rm ]} +\shead{DESCRIPTION} +Reads a Sun rasterfile as input. +%.IX Sun +%.IX rasterfile +Produces a portable anymap as output. +The type of the output file depends on the input file - if it's +black \& white, a +{\it pbm} +file is written, else if it's grayscale a +{\it pgm} +file, else a +{\it ppm} +file. The program tells you which type it is writing. +\shead{SEE ALSO} +pnmtorast(1), pnm(5) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: rasttopnm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:34 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: rawtopgm.1 + +\newpage +%-------------------------------------------------- +% start of input file: rawtopgm.1 +% +\phead{rawtopgm}{1}{15 June 1993}{}{} + +%.IX rawtopgm +\shead{NAME} +rawtopgm - convert raw grayscale bytes into a portable graymap +\shead{SYNOPSIS} +{\bf rawtopgm} +{\rm [}{\bf -headerskip} +{\it N}{\rm ]} +{\rm [}{\bf -rowskip} +{\it N}{\rm ]} +{\rm [}{\bf -tb}{\rm $|$}{\bf -topbottom}{\rm ]} +{\rm [}{\it width} +{\it height}{\rm ]} +{\rm [}{\it imagedata}{\rm ]} +\shead{DESCRIPTION} +Reads raw grayscale bytes as input. +%.IX "raw grayscale" +Produces a portable graymap as output. +The input file is just grayscale bytes. +If you don't specify the width and height on the command line, +the program will check the size of the image and try to make +a quadratic image of it. It is an error to supply a non +quadratic image without specifying width and height. +The maxval is assumed to be 255. +\shead{OPTIONS} +\begin{TPlist}{{\bf -headerskip}} +\item[{{\bf -headerskip}}] +If the file has a header, you can use this flag to +skip over it. +\item[{{\bf -rowskip}}] +If there is padding at the ends of the rows, you can skip it with this flag. +Note that rowskip can be a real number. +Amazingly, I once had an image with 0.376 bytes of padding per row. +This turned out to be due to a file-transfer problem, but I was still +able to read the image. +\item[{{\bf -tb -topbottom}}] +Flips the image upside down. +The first pixel in a pgm file is in the lower left corner of the image. +For conversion from images with the first pixel in the upper left corner +({\it e.g.}, the Molecular Dynamics and Leica confocal formats) this flips the +image right. +This is equivalent to +{\bf rawtopgm\ [file]\ $|$\ pnmflip\ -tb .} +\end{TPlist} + +\shead{BUGS} +If you don't specify the image width and height, the program will +try to read the entire image to a memory buffer. If you get a +message that states that you are out of memory, try to specify the width +and height on the command line. Also, the -tb option consumes much +memory. +\shead{SEE ALSO} +pgm(5), rawtoppm(1), pnmflip(1) +\shead{AUTHORS} +\copyright 1989 by Jef Poskanzer. +\nwl +Modified June 1993 by Oliver Trepte (oliver@fysik4.kth.se). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: rawtopgm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:01 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: rawtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: rawtoppm.1 +% +\phead{rawtoppm}{1}{06 February 1991}{}{} + +%.IX rawtoppm +\shead{NAME} +rawtoppm - convert raw RGB bytes into a portable pixmap +\shead{SYNOPSIS} +{\bf rawtoppm} +{\rm [}{\bf -headerskip} +{\it N}{\rm ]} +{\rm [}{\bf -rowskip} +{\it N}{\rm ]} +{\rm [}{\bf -rgb}{\rm $|$}{\bf -rbg}{\rm $|$}{\bf -grb} +{\rm $|$}{\bf -gbr}{\rm $|$}{\bf -brg}{\rm $|$}{\bf -bgr} +{\rm ]} +{\rm [}{\bf -interpixel}{\rm $|$}{\bf -interrow}{\rm ]} +{\it width height} +{\rm [}{\it imagedata}{\rm ]} +\shead{DESCRIPTION} +Reads raw RGB bytes as input. +%.IX "raw RGB" +Produces a portable pixmap as output. +The input file is just RGB bytes. +You have to specify the width and height on the command line, +since the program obviously can't get them from the file. +The maxval is assumed to be 255. +If the resulting image is upside down, run it through +{\bf pnmflip\ -tb .} +%.IX pnmflip +\shead{OPTIONS} +\begin{TPlist}{{\bf -headerskip}} +\item[{{\bf -headerskip}}] +If the file has a header, you can use this flag to +skip over it. +\item[{{\bf -rowskip}}] +If there is padding at the ends of the rows, you can skip it with this flag. +\item[{{\bf -rgb -rbg -grb -gbr -brg -bgr}}] +These flags let you specify alternate color orders. The default is +{\bf -rgb}{\rm .} +\item[{{\bf -interpixel -interrow}}] +These flags let you specify how the colors are interleaved. +The default is +{\bf -interpixel}{\rm ,} +meaning interleaved by pixel. +A byte of red, a byte of green, and a byte +of blue, or whatever color order you specified. +{\bf -interrow} +means interleaved by row - a row of red, a row of green, a row of blue, +assuming standard rgb color order. +An +{\bf -interplane} +flag - all the red pixels, then all the green, then all the blue - would +be an obvious extension, but is not implemented. +You could get the same effect by splitting the file into three parts +(perhaps using +{\it dd}{\rm ),} +turning each part into a PGM file with rawtopgm, and then combining them +with rgb3toppm. +\end{TPlist} + +\shead{SEE ALSO} +ppm(5), rawtopgm(1), rgb3toppm(1), pnmflip(1) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: rawtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:02 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: rgb3toppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: rgb3toppm.1 +% +\phead{rgb3toppm}{1}{15 February 1990}{}{} + +%.IX rgb3toppm +\shead{NAME} +rgb3toppm - combine three portable graymaps into one portable pixmap +\shead{SYNOPSIS} +{\bf rgb3toppm} +{\it redpgmfile greenpgmfile bluepgmfile} +\shead{DESCRIPTION} +Reads three portable graymaps as input. +Combines them and produces one portable pixmap as output. +\shead{SEE ALSO} +ppmtorgb3(1), pgmtoppm(1), ppmtopgm(1), ppm(5), pgm(5) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: rgb3toppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:32 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: sirtopnm.1 + +\newpage +%-------------------------------------------------- +% start of input file: sirtopnm.1 +% +\phead{sirtopnm}{1}{20 March 1991}{}{} + +\shead{NAME} +sirtopnm - convert a Solitaire file into a portable anymap +\shead{SYNOPSIS} +{\bf sirtopnm} +{\rm [}{\it sirfile}{\rm ]} +\shead{DESCRIPTION} +Reads a Solitaire Image Recorder file as input. +Produces a portable anymap as output. +The type of the output file depends on the input file - if it's +an MGI TYPE 17 file, a +{\it pgm} +file is written. If it's an MGI TYPE 11 file, a +{\it ppm} +file is written. The program tells you which type it is writing. +\shead{BUGS} + +\shead{SEE ALSO} +pnmtosir(1), pnm(5) +\shead{AUTHOR} +\copyright 1991 by Marvin Landis. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. + +% +% end of input file: sirtopnm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:02 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: sldtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: sldtoppm.1 +% +\phead{sldtoppm}{1}{10 October 1991}{}{} + +%.IX sldtoppm +%.IX AutoCAD +\shead{NAME} +sldtoppm - convert an AutoCAD slide file into a portable pixmap +\shead{SYNOPSIS} +\raggedright +{\bf sldtoppm} +'in 14n +{\rm [}{\bf -adjust}{\rm ]} +{\rm [}{\bf -dir}{\rm ]} +{\rm [}{\bf -height}{\rm $|$}{\bf -ysize} +{\it s}{\rm ]} +{\rm [}{\bf -info}{\rm ]} +{\rm [}{\bf -lib}{\rm $|$}{\bf -Lib} +{\it name}{\rm ]} +{\rm [}{\bf -scale} +{\it s}{\rm ]} +{\rm [}{\bf -verbose}{\rm ]} +{\rm [}{\bf -width}{\rm $|$}{\bf -xsize} +{\it s}{\rm ]} +{\rm [}{\it slidefile}{\rm ]} +\ind{-7.0em} +%.ad +\shead{DESCRIPTION} +Reads an AutoCAD{l}ide file and outputs a portable pixmap. +If no +{\it slidefile} +is specified, input is read from standard input. +The ppmdraw library is used to convert the vector and polygon +information in the slide file to a pixmap; see the file ppmdraw.h for +details on this package. +\shead{OPTIONS} +\begin{TPlist}{{\bf -adjust}} +\item[{{\bf -adjust}}] +If the display on which the slide file was created had non-square +pixels, when the slide is processed with +{\bf sldtoppm} +and the +{\bf -adjust} +option is not present, the following warning will appear: +\ind{-6.8in} +Warning - pixels on source screen were non-square. +\nwl +Specifying +{\bf -adjust} +will correct image width to compensate. +\ind{-7.0in} +Specifying the +{\bf -adjust} +option causes +{\bf sldtoppm} +to scale the width of the image so that pixels in the resulting +portable pixmap are square (and hence circles appear as true circles, +not ellipses). The scaling is performed in the vector domain, before +scan converting the objects. The results are, therefore, superior in +appearance to what you'd obtain were you to perform the equivalent +scaling with +{\bf pnmscale} +after the bitmap had been created. +\item[{{\bf -dir}}] +The input is assumed to be an AutoCAD slide library file. A directory +listing each slide in the library is printed on standard error. +\item[{{\bf -height}{\it \ size} +}] +Scales the image in the vector domain so it is +{\it size} +pixels in height. If no +{\bf -width} +or +{\bf -xsize} +option is specified, the width will be adjusted to preserve the +pixel aspect ratio. +\item[{{\bf -info}}] +Dump the slide file header on standard error, displaying the original +screen size and aspect ratio among other information. +\item[{{\bf -lib}{\it \ name} +}] +Extracts the slide with the given +{\it name} +from the slide library given as input. The specified +{\it name} +is converted to upper case. +\item[{{\bf -Lib}{\it \ name} +}] +Extracts the slide with the given +{\it name} +from the slide library given as input. The +{\it name} +is used exactly as specified; it is not converted to upper case. +\item[{{\bf -scale}{\it \ s} +}] +Scales the image by factor +{\it s}{\rm ,} +which may be any floating point value greater than zero. Scaling is +done after aspect ratio adjustment, if any. Since scaling is +performed in the vector domain, before rasterisation, the results look +much better than running the output of +{\bf sldtoppm} +through +{\bf pnmscale}{\rm .} +\item[{{\bf -verbose}}] +Dumps the slide file header and lists every vector and polygon in the +file on standard error. +\item[{{\bf -width}{\it \ size} +}] +Scales the image in the vector domain so it is +{\it size} +pixels wide. If no +{\bf -height} +or +{\bf -ysize} +option is specified, the height will be adjusted to preserve the +pixel aspect ratio. +\item[{{\bf -xsize}{\it \ size} +}] +Scales the image in the vector domain so it is +{\it size} +pixels wide. If no +{\bf -height} +or +{\bf -ysize} +option is specified, the height will be adjusted to preserve the +pixel aspect ratio. +\item[{{\bf -ysize}{\it \ size} +}] +Scales the image in the vector domain so it is +{\it size} +pixels in height. If no +{\bf -width} +or +{\bf -xsize} +option is specified, the width will be adjusted to preserve the +pixel aspect ratio. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{BUGS} +Only Level 2 slides are converted. Level 1 format has been obsolete +since the advent of AutoCAD Release 9 in 1987, and was not portable +across machine architectures. +\par +Slide library items with names containing 8 bit (such as ISO) or 16 +bit (Kanji, for example) characters may not be found when chosen with the +{\bf -lib} +option unless +{\bf sldtoppm} +has been built with character set conversion functions appropriate to +the locale. You can always retrieve slides from libraries regardless +of the character set by using the +{\bf -Lib} +option and specifying the precise name of library member. Use the +{\bf -dir} +option to list the slides in a library if you're unsure of the +exact name. +\shead{SEE ALSO} +AutoCAD Reference Manual: +{\it Slide\ File\ Format}{\rm ,} +{\bf pnmscale}{\rm (1),} +{\bf ppm}{\rm (5)} +\shead{AUTHOR} +\ind{1\parindent}{\nofill + John Walker + Autodesk SA + Avenue des Champs-Montants 14b + CH-2074 MARIN + Suisse/Schweiz/Svizzera/Svizra/Switzerland +\fill} +\begin{TPlist}{Usenet:} +\item[{Usenet:}] +kelvin@Autodesk.com +\item[{Fax:}] +038/33 88 15 +\item[{Voice:}] +038/33 76 33 +\end{TPlist} + +\par +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +without any conditions or restrictions. This software is provided ``as +is'' without express or implied warranty. +\par +AutoCAD and Autodesk are registered trademarks of Autodesk, Inc. +% +% end of input file: sldtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:03 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: spctoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: spctoppm.1 +% +\phead{spctoppm}{1}{19 July 1990}{}{} + +%.IX spctoppm +\shead{NAME} +spctoppm - convert an Atari compressed Spectrum file into a portable pixmap +\shead{SYNOPSIS} +{\bf spctoppm} +{\rm [}{\it spcfile}{\rm ]} +\shead{DESCRIPTION} +Reads an Atari compressed Spectrum file as input. +%.IX Atari +%.IX Spectrum +Produces a portable pixmap as output. +\shead{SEE ALSO} +sputoppm(1), ppm(5) +\shead{AUTHOR} +\copyright 1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer. +% Permission to use, copy, modify and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: spctoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:37 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: spottopgm.1 + +\newpage +%-------------------------------------------------- +% start of input file: spottopgm.1 +% +\phead{spottopgm}{1L}{}{}{} + +\shead{NAME} +spottopgm -- convert SPOT satellite images to Portable Greymap format +\shead{SYNTAX} +spottopgm [--1$|$2$|$3] [Firstcol Firstline Lastcol Lastline] inputfile +\shead{OPTIONS} +\begin{TPlist}{{\bf --1$|$2$|$3}} +\item[{{\bf --1$|$2$|$3}}] +Extract the given colour from the SPOT image. The colours are infra-red, +visible light and ultra-violet, although I don't know which corresponds +to which number. If the image is in colour, this will be announced on +standard error. The default colour is 1. +\item[{{\bf Firstcol Firstline Lastcol Lastline}}] +Extract the specified rectangle from the SPOT image. Most SPOT images are +3000 lines long and 3000 or more columns wide. Unfortunately the SPOT format +only gives the width and not the length. The width is printed on standard +error. The default rectangle is the width of the input image by 3000 lines. +\end{TPlist} + +\shead{DESCRIPTION} +{\it Spottopgm} +converts the named +{\bf inputfile} +into Portable Greymap format, defaulting to the first color and the whole +SPOT image unless specified by the options. +\shead{INSTALLATION} +You +{\bf must} +edit the source program and either define BIGENDIAN or LITTLEENDIAN, +and fix the typedefs for uint32t, uint16t and uint8t appropriately. +\shead{BUGS} +Currently +{\it spottopgm} +doesn't determine the length of the input file; this would involve two +passes over the input file. It defaults to 3000 lines instead. +\par +{\it Spottopgm} +could extract a three-color image (ppm), but I didn't feel like making the +program more complicated than it is now. Besides, there is no one-to-one +correspondence between red, green, blue and infra-red, visible and +ultra-violet. +\par +I've only had a limited number of SPOT images to play with, and therefore +wouldn't guarantee that this will work on any other images. +\shead{AUTHOR} +Warren Toomey wkt@csadfa.cs.adfa.oz.au +\shead{SEE ALSO} +The rest of the Pbmplus suite. +% +% end of input file: spottopgm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:03 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: sputoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: sputoppm.1 +% +\phead{sputoppm}{1}{19 July 1990}{}{} + +%.IX sputoppm +\shead{NAME} +sputoppm - convert an Atari uncompressed Spectrum file into a portable pixmap +\shead{SYNOPSIS} +{\bf sputoppm} +{\rm [}{\it spufile}{\rm ]} +\shead{DESCRIPTION} +Reads an Atari uncompressed Spectrum file as input. +%.IX Atari +%.IX Spectrum +Produces a portable pixmap as output. +\shead{SEE ALSO} +spctoppm(1), ppm(5) +\shead{AUTHOR} +\copyright 1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer. +% Permission to use, copy, modify and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: sputoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:04 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: tgatoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: tgatoppm.1 +% +\phead{tgatoppm}{1}{26 August 1989}{}{} + +%.IX tgatoppm +\shead{NAME} +tgatoppm - convert TrueVision Targa file into a portable pixmap +\shead{SYNOPSIS} +{\bf tgatoppm} +{\rm [}{\bf -debug}{\rm ]} +{\rm [}{\it tgafile}{\rm ]} +\shead{DESCRIPTION} +Reads a TrueVision Targa file as input. +%.IX TrueVision +%.IX Targa +Produces a portable pixmap as output. +\shead{OPTIONS} +\begin{TPlist}{{\bf -debug}} +\item[{{\bf -debug}}] +Causes the header information to be dumped to stderr. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +%.BUGS +Should really be in PNM, not PPM. +\shead{SEE ALSO} +ppmtotga(1), ppm(5) +\shead{AUTHOR} +Partially based on tga2rast, version 1.0, by Ian J. MacPhedran. + +\copyright 1989 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: tgatoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:36 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: tifftopnm.1 + +\newpage +%-------------------------------------------------- +% start of input file: tifftopnm.1 +% +\phead{tifftopnm}{1}{13 January 1991}{}{} + +%.IX tifftopnm +\shead{NAME} +tifftopnm - convert a TIFF file into a portable anymap +\shead{SYNOPSIS} +{\bf tifftopnm} +{\rm [}{\bf -headerdump}{\rm ]} +{\rm tifffile} +\shead{DESCRIPTION} +Reads a TIFF file as input. +%.IX TIFF +Produces a portable anymap as output. +The type of the output file depends on the input file - if it's +black \& white, a +{\it pbm} +file is written, else if it's grayscale a +{\it pgm} +file, else a +{\it ppm} +file. The program tells you which type it is writing. +\shead{OPTIONS} +\begin{TPlist}{{\bf -headerdump}} +\item[{{\bf -headerdump}}] +Dump TIFF file information to stderr. This information may be useful +in debugging TIFF file conversion problems. +\end{TPlist} + +\par +All flags can be abbreviated to their shortest unique prefix. +\shead{SEE ALSO} +pnmtotiff(1), pnm(5) +\shead{BUGS} +This program is not self-contained. To use it you must fetch the +TIFF Software package listed in the OTHER.SYSTEMS file and configure +PBMPLUS to use libtiff. See PBMPLUS's Makefile for details on this +configuration. +\shead{AUTHOR} +Derived by Jef Poskanzer from tif2ras.c, which is +\copyright 1990 by Sun Microsystems, Inc.\hfil\break +Author: Patrick J. Naughton (naughton@wind.sun.com). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, +% provided that the above copyright notice appear in all copies and that +% both that copyright notice and this permission notice appear in +% supporting documentation. +% +% This file is provided AS IS with no warranties of any kind. The author +% shall have no liability with respect to the infringement of copyrights, +% trade secrets or any patents by this file or any part thereof. In no +% event will the author be liable for any lost revenue or profits or +% other special, indirect and consequential damages. +% +% end of input file: tifftopnm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:14 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: xbmtopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: xbmtopbm.1 +% +\phead{xbmtopbm}{1}{31 August 1988}{}{} + +%.IX xbmtopbm +\shead{NAME} +xbmtopbm - convert an X11 or X10 bitmap into a portable bitmap +\shead{SYNOPSIS} +{\bf xbmtopbm} +{\rm [}{\it bitmapfile}{\rm ]} +\shead{DESCRIPTION} +Reads an X11 or X10 bitmap as input. +Produces a portable bitmap as output. +%.IX "X bitmap" +%.IX "X window system" +\shead{SEE ALSO} +pbmtoxbm(1), pbmtox10bm(1), pbm(5) +\shead{AUTHOR} +\copyright 1988 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: xbmtopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:05 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ximtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: ximtoppm.1 +% +\phead{ximtoppm}{1}{25 March 1990}{}{} + +%.IX ximtoppm +\shead{NAME} +ximtoppm - convert an Xim file into a portable pixmap +\shead{SYNOPSIS} +{\bf ximtoppm} +{\rm [}{\it ximfile}{\rm ]} +\shead{DESCRIPTION} +Reads an Xim file as input. +%.IX Xim +%.IX "X window system" +Produces a portable pixmap as output. +The Xim toolkit is included in the contrib tree of the X.V11R4 release. +\shead{SEE ALSO} +ppm(5) +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ximtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:05 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: xpmtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: xpmtoppm.1 +% +\phead{xpmtoppm}{1}{16 August 1990}{}{} + +\shead{NAME} +xpmtoppm - convert an X11 pixmap into a portable pixmap +\shead{SYNOPSIS} +{\bf xpmtoppm} +{\rm [}{\it xpmfile}{\rm ]} +\shead{DESCRIPTION} +Reads an X11 pixmap (XPM version 1 or 3) as input. +Produces a portable pixmap as output. +\shead{KNOWN BUGS} +The support to XPM version 3 is limited. Comments can only be single lines +and there must be for every pixel a default colorname for a color type visual. +\shead{SEE ALSO} +ppmtoxpm(1), ppm(5) +\nwl +XPM Manual by Arnaud Le Hors (lehors@mirsa.inria.fr). +\shead{AUTHOR} +\copyright 1991 by Jef Poskanzer. +Upgraded to support XPM version 3 by Arnaud Le Hors +(lehors@mirsa.inria.fr) Tue Apr 9 1991. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: xpmtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Mon Feb 7 08:46:26 1994 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: xvminitoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: xvminitoppm.1 +% +\phead{xvminitoppm}{1}{14 December 1993}{}{} + +\shead{NAME} +xvminitoppm - convert a XV ``thumbnail'' picture to PPM +\shead{SYNOPSIS} +{\bf xvminitoppm} +{\rm [}{\it xvminipic}{\rm ]} +\shead{DESCRIPTION} +Reads a XV ``thumbnail'' picture (a miniature picture generated by +the ``VisualSchnauzer'' browser) as input. +Produces a portable pixmap as output. +\shead{SEE ALSO} +ppm(5), xv(1) +\shead{AUTHOR} +Copyright (C) 1993 by Ingo Wilken +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: xvminitoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:28 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: xwdtopnm.1 + +\newpage +%-------------------------------------------------- +% start of input file: xwdtopnm.1 +% +\phead{xwdtopnm}{1}{11 January 1991}{}{} + +%.IX xwdtopnm +\shead{NAME} +xwdtopnm - convert a X11 or X10 window dump file into a portable anymap +\shead{SYNOPSIS} +{\bf xwdtopnm} +{\rm [}{\it xwdfile}{\rm ]} +\shead{DESCRIPTION} +Reads a X11 or X10 window dump file as input. +%.IX XWD +%.IX "X window system" +Produces a portable anymap as output. +The type of the output file depends on the input file - if it's +black \& white, a +{\it pbm} +file is written, else if it's grayscale a +{\it pgm} +file, else a +{\it ppm} +file. The program tells you which type it is writing. +\par +Using this program, you can convert anything on an X workstation's screen +into an anymap. +Just display whatever you're interested in, do an xwd, run it through +xwdtopnm, and then use pnmcut to select the part you want. +\shead{BUGS} +I haven't tested this tool with very many configurations, so there are +probably bugs. +Please let me know if you find any. +\shead{SEE ALSO} +pnmtoxwd(1), pnm(5), xwd(1) +\shead{AUTHOR} +\copyright 1989, 1991 by Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: xwdtopnm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:08:14 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: ybmtopbm.1 + +\newpage +%-------------------------------------------------- +% start of input file: ybmtopbm.1 +% +\phead{ybmtopbm}{1}{06 March 1990}{}{} + +%.IX ybmtopbm +\shead{NAME} +ybmtopbm - convert a Bennet Yee ``face'' file into a portable bitmap +\shead{SYNOPSIS} +{\bf ybmtopbm} +{\rm [}{\it facefile}{\rm ]} +\shead{DESCRIPTION} +Reads a file acceptable to the +{\it face} +and +{\it xbm} +programs by Bennet Yee (bsy+@cs.cmu.edu). +%.IX face +Writes a portable bitmap as output. +\shead{SEE ALSO} +pbmtoybm(1), pbm(5), face(1), face(5), xbm(1) +\shead{AUTHOR} +\copyright 1991 by Jamie Zawinski and Jef Poskanzer. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: ybmtopbm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:12 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: yuvsplittoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: yuvsplittoppm.1 +% +\phead{yuvsplittoppm}{1}{26 August 93}{}{} + +%.IX yuvsplittoppm +\shead{NAME} +yuvplittoppm - convert a Y- an U- and a V-file into a portable pixmap. +\shead{SYNOPSIS} +{\bf yuvsplittoppm} +{\it basename width height} +[-ccir601] +\shead{DESCRIPTION} +Reads three files, containing the YUV components, as input. +These files are +{\it basename} +Y, +{\it basename} +U +and +{\it basename} +.V . +Produces a portable pixmap on stdout. + +Since the YUV files are raw files, the dimensions +{\it width} +and +{\it height} +must be specified on the command line. +\shead{OPTIONS} +\begin{TPlist}{{\bf -ccir601}} +\item[{{\bf -ccir601}}] +Assumes that the YUV triplets are scaled into the smaller range of the +CCIR 601 (MPEG) standard. Else, the JFIF (JPEG) standard is assumed. +\end{TPlist} + +\shead{SEE ALSO} +ppmtoyuvsplit(1), yuvtoppm(1), ppm(5) +\shead{AUTHOR} +Marcel Wijkstra (wijkstra@fwi.uva.nl), based on {\it ppmtoyuvsplit.} +% +% end of input file: yuvsplittoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:06 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: yuvtoppm.1 + +\newpage +%-------------------------------------------------- +% start of input file: yuvtoppm.1 +% +\phead{yuvtoppm}{1}{25 March 91}{}{} + +%.IX yuvtoppm +\shead{NAME} +yuvtoppm - convert Abekas YUV bytes into a portable pixmap +\shead{SYNOPSIS} +{\bf yuvtoppm} +{\it width height} +{\rm [}{\it imagedata}{\rm ]} +\shead{DESCRIPTION} +Reads raw Abekas YUV bytes as input. +%.IX Abekas +Produces a portable pixmap as output. +The input file is just YUV bytes. +You have to specify the width and height on the command line, +since the program obviously can't get them from the file. +The maxval is assumed to be 255. +\shead{SEE ALSO} +ppmtoyuv(1), ppm(5) +\shead{AUTHOR} +Marc Boucher (marc@PostImage.COM), +based on Example Conversion Program, A60/A64 Digital Video Interface +Manual, page 69. +\par +\copyright 1991 by DHD PostImage Inc. +\par +\copyright 1987 by Abekas Video Systems Inc. +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: yuvtoppm.1 +%-------------------------------------------------- + +% -*-LaTeX-*- +% Converted automatically from troff to LaTeX +% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel) +% on Fri Oct 8 16:09:34 1993 +% tr2latex was written by Kamal Al-Yahya at Stanford University +% (Kamal%Hanauma@SU-SCORE.ARPA) +% and substantially enhanced by Christian Engel at RWTH Aachen +% (krischan@informatik.rwth-aachen.de). +% +% troff input file: zeisstopnm.1 + +\newpage +%-------------------------------------------------- +% start of input file: zeisstopnm.1 +% +\phead{zeisstopnm}{1}{15 June 1993}{}{} + +%.IX zeisstopnm +\shead{NAME} +zeisstopnm - convert a Zeiss confocal file into a portable anymap +\shead{SYNOPSIS} +{\bf zeisstopnm} +{\rm [}{\it -pgm} +$|$ +{\it -ppm}{\rm ]} +{\rm [}{\it zeissfile}{\rm ]} +\shead{DESCRIPTION} +Reads a Zeiss confocal file as input. +Produces a portable anymap as output. +The type of the output file depends on the input file - +if it's grayscale a +{\it pgm} +file, else a +{\it ppm} +file will be produced. +The program tells you which type it is writing. +\shead{OPTIONS} +\begin{TPlist}{{\bf -pgm}} +\item[{{\bf -pgm}}] +Force the output to be a +{\it pgm} +file. +\item[{{\bf -ppm}}] +Force the output to be a +{\it ppm} +file. +\end{TPlist} + +\shead{SEE ALSO} +pnm(5) +\shead{AUTHOR} +\copyright 1993 by Oliver Trepte (oliver@fysik4.kth.se). +% Permission to use, copy, modify, and distribute this software and its +% documentation for any purpose and without fee is hereby granted, provided +% that the above copyright notice appear in all copies and that both that +% copyright notice and this permission notice appear in supporting +% documentation. This software is provided "as is" without express or +% implied warranty. +% +% end of input file: zeisstopnm.1 +%-------------------------------------------------- +\end{document} diff --git a/vms/PBMplus.hlp b/vms/PBMplus.hlp new file mode 100644 index 00000000..52ba0f33 --- /dev/null +++ b/vms/PBMplus.hlp @@ -0,0 +1,6814 @@ +1 HELP + See PBMplus and OVERVIEW. + +1 OVERVIEW + Enhanced portable bitmap toolkit. The PBMPLUS toolkit allows + conversions between image files of different format. By means of + using common intermediate formats, only 2 * N conversion filters + are required to support N distinct formats, instead of the N**2 + which would be required to convert directly between any one format + and any other. The package also includes simple tools for + manipulating portable bitmaps. + + The package consists of four upwardly compatible sections: + + pbm Supports monochrome bitmaps (1 bit per pixel). + + pgm Supports grayscale images. Reads either PBM or PGM + formats and writes PGM format. + + ppm Supports full-color images. Reads either PBM, PGM, or PPM + formats, writes PPM format. + + pnm Supports content-independent manipulations on any of the + three formats listed above, as well as external formats + having multiple types. Reads either PBM, PGM, or PPM + formats, and generally writes the same type as it read + (whenever a PNM tool makes an exception and ``promotes'' a + file to a higher format, it informs the user). + + See PBMplus for more infomation. + +1 PBMplus + Enhanced portable bitmap toolkit. The PBMPLUS toolkit allows + conversions between image files of different format. By means of + using common intermediate formats, only 2 * N conversion filters + are required to support N distinct formats, instead of the N**2 + which would be required to convert directly between any one format + and any other. The package also includes simple tools for + manipulating portable bitmaps. + + The package consists of four upwardly compatible sections: + + pbm Supports monochrome bitmaps (1 bit per pixel). + + pgm Supports grayscale images. Reads either PBM or PGM + formats and writes PGM format. + + ppm Supports full-color images. Reads either PBM, PGM, or PPM + formats, writes PPM format. + + pnm Supports content-independent manipulations on any of the + three formats listed above, as well as external formats + having multiple types. Reads either PBM, PGM, or PPM + formats, and generally writes the same type as it read + (whenever a PNM tool makes an exception and ``promotes'' a + file to a higher format, it informs the user). + +2 Description_of_Contents + A brief, one-line description of each of the individual + programs in the PBMplus package. They are sorted by general type. + +3 pbm + atktopbm convert Andrew Toolkit raster object to portable bitmap + brushtopbm convert Xerox doodle brushes to portable bitmap + cmuwmtopbm convert CMU window manager format to portable bitmap + g3topbm convert Group 3 FAX to portable bitmap + icontopbm convert Sun icon to portable bitmap + gemtopbm convert GEM .img format to portable bitmap + macptopbm convert MacPaint to portable bitmap + mgrtopbm convert MGR format to portable bitmap + pktopbm convert packed (PK) format font into portable bitmap(s) + pbmmerge merge wrapper routine + pbmto10x convert portable bitmap to Gemini 10x printer graphics + pbmto4425 convert portable bitmap to AT&T 4425 terminal + pbmtoascii convert portable bitmap to ASCII graphic form + pbmtoatk convert portable bitmap to Andrew Toolkit raster object + pbmtobbnbg convert portable bitmap to BBN BitGraph graphics + pbmtocmuwm convert portable bitmap to CMU window manager format + pbmtoepson convert portable bitmap to Epson printer graphics + pbmtog3 convert portable bitmap to Group 3 FAX + pbmtogem convert portable bitmap into GEM .img file + pbmtogo convert portable bitmap to GraphOn graphics + pbmtoicon convert portable bitmap to Sun icon + pbmtolj convert portable bitmap to HP LaserJet graphics + pbmtoln03 convert portable bitmap to DEC LN03+ Laserprinter + pbmtolps convert portable bitmap to PostScript + pbmtomacp convert portable bitmap to MacPaint + pbmtomgr convert portable bitmap to MGR format + pbmtopgm convert portable bitmap to portable graymap by ave. areas + pbmtopi3 convert portable bitmap to Atari Degas .pi3 + pbmtopk convert portable bitmap into a packed (PK) format font + pbmtoplot convert portable bitmap into Unix plot(5) file + pbmtoptx convert portable bitmap to Printronix graphics + pbmtoxbm convert portable bitmap to X11 bitmap + pbmtox10bm convert portable bitmap to X10 bitmap + pbmtoybm convert portable bitmap into Bennet Yee "face" file + pbmtozinc convert portable bitmap to Zinc Interface Library icon + pbmtoepsi convert portable bitmap into an encapsulated PostScript + pi3topbm convert Atari Degas .pi3 to portable bitmap + xbmtopbm convert X10 or X11 bitmap to portable bitmap + ybmtopbm convert Bennet Yee "face" file into portable bitmap + + pbmclean flip isolated pixels in portable bitmap + pbmlife apply Conway's rules of Life to a portable bitmap + pbmmake create a blank bitmap of a specified size and color + pbmmask create a mask bitmap from a regular bitmap + pbmreduce reduce a portable bitmap N times, using Floyd-Steinberg + pbmspcale enlarge a portable bitmap with edge smoothing + pbmtext render text into a bitmap + pbmupc create a Universal Product Code bitmap + +3 pgm + asciitopgm convert ASCII graphics into a portable graymap + fstopgm convert Usenix FaceSaver format to portable graymap + hipstopgm convert HIPS format to portable graymap + lispmtopgm convert a Lisp Machine bitmap file into pgm format + bioradtopgm convert a Biorad confocal file into a portable graymap + psidtopgm convert PostScript "image" data to portable graymap + rawtopgm convert raw grayscale bytes to portable graymap + spottopgm convert SPOT satellite images to Portable Greymap format + pgmtofs convert portable graymap to Usenix FaceSaver format + pgmtolispm convert a portable graymap into Lisp Machine format + pgmtopbm convert portable graymap to portable bitmap + + pgmbentley Bentleyize a portable graymap + pgmcrater create cratered terrain by fractal forgery + pgmedge edge-detect a portable graymap + pgmenhance edge-enhance a portable graymap + pgmhist print a histogram of the values in a portable graymap + pgmkernel generate a convolution kernel + pgmmerge merge wrapper routine + pgmnoise create a graymap made up of white noise + pgmnorm normalize contrast in a portable graymap + pgmoil turn a portable graymap into an oil painting + pgmramp generate a grayscale ramp + pgmtexture calculate textural features on a portable graymap + +3 ppm + bmptoppm convert BMP file to portable pixmap + gouldtoppm convert Gould scanner file to portable pixmap + ilbmtoppm convert IFF ILBM to portable pixmap + imgtoppm convert Img-whatnot to portable pixmap + mtvtoppm convert MTV ray-tracer output to portable pixmap + pcxtoppm convert PC Paintbrush format to portable pixmap + pgmtoppm colorize a portable graymap into a portable pixmap + pi1toppm convert Atari Degas .pi1 to portable pixmap + picttoppm convert Macintosh PICT to portable pixmap + pjtoppm convert HP PaintJet file to portable pixmap + ppmtoacad convert portable pixmap to AutoCAD database or slide + ppmtobmp convert portable pixmap to BMP file + ppmtogif convert portable pixmap to GIF + ppmtoicr convert portable pixmap to NCSA ICR graphics + ppmtoilbm convert portable pixmap to IFF ILBM + ppmtomitsu convert a portable pixmap to a Mitsubishi S340-10 file + ppmtomap extract all colors from a portable pixmap + ppmtopcx convert portable pixmap to PC Paintbrush format + ppmtopgm convert portable pixmap to portable graymap + ppmtopi1 convert portable pixmap to Atari Degas .pi1 + ppmtopict convert portable pixmap to Macintosh PICT + ppmtopj convert portable pixmap to HP PaintJet file + ppmtopjxl convert portable pixmap to HP PaintJet XL PCL file + ppmtopuzz convert portable pixmap to X11 "puzzle" file + ppmtorgb3 separate a portable pixmap to three portable graymaps + ppmtosixel convert portable pixmap to DEC sixel format + ppmtotga convert portable pixmap to TrueVision Targa file + ppmtouil convert portable pixmap to Motif UIL icon file + ppmtoxpm convert portable pixmap to XPM format + ppmtoyuv convert portable pixmap to Abekas YUV format + qrttoppm convert QRT ray-tracer output to portable pixmap + rawtoppm convert raw RGB bytes to portable pixmap + rgb3toppm combine three portable graymaps to one portable pixmap + sldtoppm convert an AutoCAD slide file into a portable pixmap + spctoppm convert Atari compressed Spectrum to portable pixmap + sputoppm convert Atari uncompressed Spectrum to portable pixmap + tgatoppm convert TrueVision Targa file to portable pixmap + ximtoppm convert Xim to portable pixmap + xpmtoppm convert XPM format to portable pixmap + xvminitoppm convert a XV "thumbnail" picture to PPM + yuvtoppm convert Abekas YUV format to portable pixmap + + ppm3d convert 2 portable pixmap to a red/blue 3d glasses pixmap + ppmbrighten change images Saturation and Value from an HSV map + ppmchange change pixels of one color to another in a portable pixmap + ppmdim dim a portable pixmap down to total blackness + ppmdist simple grayscale for machine generated, color images + ppmdither ordered dither for color images + ppmflash brighten a picture up to complete white-out + ppmforge fractal forgeries of clouds, planets, and starry skies + ppmhist print a histogram of a portable pixmap + ppmmake create a pixmap of a specified size and color + ppmmix blend together two portable pixmaps + ppmpat create a pretty pixmap + ppmquant quantize colors down to a specified number + ppmqvga 8 plane quantization + ppmrelief run a Laplacian Relief filter on a portable pixmap + ppmshift shift lines of a portable pixmap left or right by a + random amount + ppmspread displace a portable pixmap's pixels by a random amount + +3 pnm + pnmtoddif convert portable anymap to DDIF format + pnmtofits convert a portable anymap into FITS format + pnmtops convert portable anymap to PostScript + pnmtorast convert portable anymap to Sun raster file + pnmtotiff convert portable anymap to TIFF file + pnmtoxwd convert portable anymap to X11 window dump + fitstopnm convert a FITS file into a portable anymap + rasttopnm convert Sun raster file to portable anymap + tifftopnm convert TIFF file to portable anymap + xwdtopnm convert X10 or X11 window dump to portable anymap + pnmtosir convert a portable anymap into a Solitaire format + sirtopnm convert a Solitaire file into a portable anymap + zeisstopnm convert a Zeiss confocal file into a portable anymap + + pnmalias antialias a portable anyumap. + pnmarith perform arithmetic on two portable anymaps + pnmcat concatenate portable anymaps + pnmcomp composite two portable anymap files together + pnmconvol general MxN convolution on a portable anymap + pnmcrop crop all like-colored borders off a portable anymap + pnmcut select a rectangular region from a portable anymap + pnmdepth change the maxval in a portable anymap + pnmenlarge enlarge a portable anymap N times + pnmfile describe a portable anymap + pnmflip perform one or more flip operations on a portable anymap + pnmgamma perform gamma correction on a portable anymap + pnmhistmap draw a histogram for a PGM or PPM file + pnminvert invert a portable anymap + pnmnlfilt non-linear filters: smooth, alpha trim mean, + optimal estimation smoothing, edge enhancement + pnmnoraw force a portable anymap into ASCII format + pnmpad add borders to portable anymap + pnmpaste paste a rectangle into a portable anymap + pnmrotate rotate a portable anymap + pnmscale scale a portable anymap + pnmshear shear a portable anymap + pnmtile replicate a portable anymap into a specified size + +2 See_Also + There are a number of related image-manipulation tools: + + IM Raster Toolkit + A portable and efficient format toolkit. The format supports + pixels of arbitrary channels, components, and bit precisions, + while allowing compression and machine byte-order independence. + Support for image manipulation, digital halftoning, and format + conversion. Previously distributed on tape c/o the University of + Waterloo (an ftp version is to appear later). Author: Alan Paeth + (awpaeth@watcgl.uwaterloo.ca). + + Utah RLE Toolkit + Conversion and manipulation package, similar to PBMPLUS. + Available via ftp as cs.utah.edu: pub/toolkit-2.0.tar.Z and + ucsd.edu: graphics/utah-raster-toolkit.tar.Z. + + Fuzzy Pixmap Manipulation + Conversion and manipulation package, similar to PBMPLUS. + Version 1.0 available via ftp as nl.cs.cmu.edu: + /usr/mlm/ftp/fbm.tar.Z, uunet.uu.net: pub/fbm.tar.Z, and + ucsd.edu: graphics/fbm.tar.Z. Author: Michael Mauldin + (mlm@nl.cs.cmu.edu). + + Img Software Set + Reads and writes its own image format, displaying results on + an X11 screen, and does some image manipulations. Version 1.3 is + available via ftp as ftp.x.org:contrib/img_1.3.tar.Z, and + venera.isi.edu:pub/img_1.3.tar.Z, along with a large collection of + color images. Author: Paul Raveling (raveling@venera.isi.edu). + + Xim + Reads and writes its own image format, displays on an X11 + screen, and does some image manipulations. Available in your + nearest X11R4 source tree as it contrib/clients/xim. A more + recent version is available via ftp from video.mit.edu. It uses + X11R4 and the OSF/Motif toolkit to provide basic interactive image + manipulation and reads/writes GIF, xwd, xbm, tiff, rle, xim, and + other formats. Author: Philip R. Thompson. + + xloadimage + Reads in images in various formats and displays them on an X11 + screen. Available via ftp as ftp.x.org:contrib/xloadimage*, and + in your nearest comp.sources.x archive. Author: Jim Frost + (madd@std.com). + + TIFF Software + Nice portable library for reading and writing TIFF files, plus + a few tools for manipulating them and reading other formats. + Available via ftp as sgi.com:pub/graphics/*.tar.Z or + uunet.uu.net:graphics/tiff.tar.Z. Author: Sam Leffler (sam@sgi.com). + + ALV + A Sun-specific image toolkit. Version 2.0.6 posted to + comp.sources.sun on 11 December 1989. Also available via email to + alv-users-request@cs.bris.ac.uk. + + popi + An image manipulation language. Version 2.1 posted to + comp.sources.misc on 12 December 1989. + + ImageMagick + X11 package for display and interactive manipulation of + images. Uses its own format (MIFF), and includes some converters. + Available via ftp as ftp.x.org:contrib/ImageMagick.tar.Z. + + Khoros + Huge (~100 meg) graphical development environment based on + X11R4. Components include a visual programming language, code + generators for extending the visual language and adding new + application packages to the system, an interactive user interface + editor, an interactive image display package, an extensive library + of image and signal processing routines, and 2D/3D plotting + packages. Available via ftp as pprg.unm.edu:pub/khoros/*. + + JPEG package + JPEG is a a standardized compression method for full-color and + gray-scale images of "real-world" scenes; this experimental + package includes programs to compress gif and ppm format files to + JPEG format ( cjpeg(1L)), and to decompress them (djpeg(1L)). + Available by ftp as uunet.uu.net:graphics/jpeg/jpegsrc.v1.tar.Z. + + libpbm(3L), libpgm(3L), libpnm(3L), libppm(3L), pbm(5L), + pgm(5L), pnm(5L), ppm(5L), rasterfile(1) + +2 Author + Distribution of 1 December 1991. Copyright 1989, 1991 by Jef + Poskanzer. + + Feedback and questions are welcome. Please send them to: + + jef@well.sf.ca.us + apple!well!jef + + When sending bug reports, always include the output from + running any pbmplus program with the -version flag, including + descriptions of the type of system you are on, the compiler you + use, and whether you are using Makefiles or Imakefiles. + + When suggesting new formats or features, please include + whatever documentation you have, and a uuencoded sample. The + response time will depend upon my schedule and the complexity of + the task; if you need it right away, or it is a complicated job, + you might consider paying me. + + The Usenet newsgroup alt.graphics.pixutils is a forum for + discussion of image conversion and editing packages. Posting + queries there may be better than mailing them to me, since it + allows other people to help provide answers. + + Permission to use, copy, modify, and distribute this software + and its documentation for any purpose and without fee is hereby + granted, provided that the above copyright notice appear in all + copies and that both that copyright notice and this permission + notice appear in supporting documentation. This software is + provided "as is" without express or implied warranty. Thus, you + may do what you want with this software. Build it into your + package, steal code from it, whatever. Just be sure to let people + know where it came from. + +1 asciitopgm + asciitopgm - convert ASCII graphics into a portable graymap + +2 Synopis + asciitopgm [-d divisor] height width [asciifile] + +2 Description + Reads ASCII data as input. Produces a portable graymap with + pixel values which are an approximation of the "brightness" of the + ASCII characters, assuming black-on-white printing. In other + words, a capital M is very dark, a period is ver light, and a + space is white. Input lines which are fewer than width characters + are automatically padded with spaces. + + The divisor argument is a floating-point number by which the + output pixels are divided; the default value is 1.0. This can be + used to adjust the brightness of the graymap: for example, if the + image is too dim, reduce the divisor. + + In keeping with (I believe) Fortran line-printer conventions, + input lines beginning with a + (plus) character are assumed to + "overstrike" the previous line, allowing a larger range of gray + values. + + This tool contradicts the message in the pbmtoascii manual: + "Note that there is no asciitopbm tool - this transformation is + one-way." + +2 Bugs + The table of ASCII-to-grey values is subject to + interpretation, and, of course, depends on the typeface intended + for the input. + +2 See_Also + pbmtoascii(1), pgm(5) + +2 Author + Wilson H. Bent. Jr. (whb@usc.edu) + +1 atktopbm + atktopbm - convert Andrew Toolkit raster object to portable + bitmap + +2 Synopsis + atktopbm [atkfile] + +2 Description + Reads an Andrew Toolkit raster object as input. Produces a + portable bitmap as output. + +2 See_Also + pbmtoatk, pbm + +2 Author + Copyright (C) 1991 by Bill Janssen. + +1 brushtopbm + brushtopbm - convert a doodle brush file into a portable + bitmap + +2 Synopsis + brushtopbm [brushfile] + +2 Description + Reads a Xerox doodle brush file as input. Produces a port- + able bitmap as output. + + Note that there is currently no pbmtobrush tool. + +2 See_Also + pbm + +2 Author + Copyright (C) 1988 by Jef Poskanzer. + +1 cmuwmtopbm + cmuwmtopbm - convert a CMU window manager bitmap into a + portable bitmap + +2 Synopsis + cmuwmtopbm [cmuwmfile] + +2 Description + Reads a CMU window manager bitmap as input. Produces a + portable bitmap as output. + +2 See_Also + pbmtocmuwm, pbm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 g3topbm + g3topbm - convert a Group 3 fax file into a portable bitmap + +2 Synopsis + g3topbm [-kludge] [-reversebits] [-stretch] [g3file] + +2 Description + Reads a Group 3 fax file as input. Produces a portable bit- + map as output. + +2 Options + -kludge + Tells g3topbm to ignore the first few lines of the + file; sometimes fax files have some junk at the begin- + ning. + + -reversebits + Tells g3topbm to interpret bits least-significant + first, instead of the default most-significant first. + Apparently some fax modems do it one way and others do + it the other way. If you get a whole bunch of "bad + code word" messages, try using this flag. + + -stretch + Tells g3topbm to stretch the image vertically by dupli- + cating each row. This is for the low-quality transmis- + sion mode. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 References + The standard for Group 3 fax is defined in CCITT Recommenda- + tion T.4. + +2 Bugs + Probably. + +2 See_Also + pbmtog3, pbm + +2 Author + Copyright (C) 1989 by Paul Haeberli . + +1 icontopbm + icontopbm - convert a Sun icon into a portable bitmap + +2 Synopsis + icontopbm [iconfile] + +2 Description + Reads a Sun icon as input. Produces a portable bitmap as + output. + +2 See_Also + pbmtoicon, pbm + +2 Author + Copyright (C) 1988 by Jef Poskanzer. + +1 gemtopbm + gemtopbm - convert a GEM .img file into a portable bitmap + +2 Synopsis + gemtopbm [-d] gemfile + +2 Description + Reads a GEM .img file as input. Produces a portable bitmap + as output. + +2 Options + -d Produce output describing the contents of the .img + file. + +2 Bugs + Does not support file containing more than one plane. Can't + read from standard input. + +2 See_Also + pbmtogem, pbm + +2 Author + Copyright (C) 1988 Diomidis D. Spinellis (dds@cc.ic.ac.uk). + +1 macptopbm + macptopbm - convert a MacPaint file into a portable bitmap + +2 Synopsis + macptopbm [-extraskip N] [macpfile] + +2 Description + Reads a MacPaint file as input. Produces a portable bitmap + as output. + +2 Options + -extraskip + This flag is to get around a problem with some methods + of transferring files from the Mac world to the Unix + world. Most of these methods leave the Mac files + alone, but a few of them add the "finderinfo" data onto + the front of the Unix file. This means an extra 128 + bytes to skip over when reading the file. The symptom + to watch for is that the resulting PBM file looks + shifted to one side. If you get this, try -extraskip + 128, and if that still doesn't look right try another + value. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + picttoppm, pbmtomacp, pbm + +2 Author + Copyright (C) 1988 by Jef Poskanzer. The MacPaint-reading + code is copyright (c) 1987 by Patrick J. Naughton + (naughton@wind.sun.com). + +1 mgrtopbm + mgrtopbm - convert a MGR bitmap into a portable bitmap + +2 Synopsis + mgrtopbm [mgrfile] + +2 Description + Reads a MGR bitmap as input. Produces a portable bitmap as + output. + +2 See_Also + pbmtomgr, pbm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pbmclean + pbmclean - flip isolated pixels in portable bitmap + +2 Synopsis + pbmclean [-connect] [pbmfile] + +2 Description + Reads a portable bitmap as input. Outputs a portable bitmap + with every pixel which has less than connect identical + neighbours inverted. Pbmclean can be used to clean up + "snow" on bitmap images. + +2 See_Also + pbm + +2 Author + Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef + Poskanzer. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting docu- + mentation. This software is provided "as is" without + express or implied warranty. + +1 pbmlife + pbmlife - apply Conway's rules of Life to a portable bitmap + +2 Synopsis + pbmlife [pbmfile] + +2 Description + Reads a portable bitmap as input. Applies the rules of Life + to it for one generation, and produces a portable bitmap as + output. + + A white pixel in the image is interpreted as a live beastie, + and a black pixel as an empty space. + +2 See_Also + pbm + +2 Author + Copyright (C) 1988, 1991 by Jef Poskanzer. + +1 pbmmake + pbmmake - create a blank bitmap of a specified size + +2 Synopsis + pbmmake [-white|-black|-gray ] width height + +2 Description + Produces a portable bitmap of the specified width and + height. The color defaults to white. + +2 Options + In addition to the usual -white and -black, this program + implements -gray. This gives a simple 50% gray pattern with + 1's and 0's alternating. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pbm, ppmmake + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pbmmask + pbmmask - create a mask bitmap from a regular bitmap + +2 Synopsis + pbmmask [-expand] [pbmfile] + +2 Description + Reads a portable bitmap as input. Creates a corresponding + mask bitmap and writes it out. + + The color to be interpreted as "background" is determined + automatically. Regardless of which color is background, the + mask will be white where the background is and black where + the figure is. + + This lets you do a masked paste like this, for objects with + a black background: + pbmmask obj > objmask + pnmpaste < dest -and objmask | pnmpaste -or obj + For objects with a white background, you can either invert + them or add a step: + pbmmask obj > objmask + pnminvert objmask | pnmpaste -and obj 0 0 > blackback + pnmpaste < dest -and objmask | pnmpaste -or blackback + Note that this three-step version works for objects with + black backgrounds too, if you don't care about the wasted + time. + + You can also use masks with graymaps and pixmaps, using the + pnmarith tool. For instance: + ppmtopgm obj.ppm | pgmtopbm -threshold | pbmmask > objmask.pbm + pnmarith -multiply dest.ppm objmask.pbm > t1.ppm + pnminvert objmask.pbm | pnmarith -multiply obj.ppm - > t2.ppm + pnmarith -add t1.ppm t2.ppm + An interesting variation on this is to pipe the mask through + the pnmsmooth script before using it. This makes the boun- + dary between the two images less sharp. + + -expand + Expands the mask by one pixel out from the image. This + is useful if you want a little white border around your + image. (A better solution might be to turn the pbmlife + tool into a general cellular automaton tool...) + +2 See_Also + pnmpaste, pnminvert, pbm, pnmarith, pnmsmooth + +2 Author + Copyright (C) 1988 by Jef Poskanzer. + +1 pbmpscale + pbmpscale - enlarge a portable bitmap with edge smoothing + +2 Synopsis + pbmpscale N [ pbmfile ] + +2 Description + Reads a portable bitmap as input, and outputs a portable + bitmap enlarged N times. Enlargement is done by pixel repli- + cation, with some additional smoothing of corners and edges. + +2 See_Also + pnmenlarge, ppmscale, pbm + +2 Author + Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef + Poskanzer. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting docu- + mentation. This software is provided "as is" without + express or implied warranty. + +2 Notes + pbmpscale works best for enlargements of 2. Enlargements + greater than 2 should be done by as many enlargements of 2 + as possible, followed by an enlargement by the remaining + factor. + +1 pbmreduce + pbmreduce - read a portable bitmap and reduce it N times + +2 Synopsis + pbmreduce [-floyd|-fs|-threshold ] [-value val] N [pbmfile] + +2 Description + Reads a portable bitmap as input. Reduces it by a factor of + N, and produces a portable bitmap as output. + + pbmreduce duplicates a lot of the functionality of pgmtopbm; + you could do something like pnmscale | pgmtopbm, but + pbmreduce is a lot faster. + + pbmreduce can be used to "re-halftone" an image. Let's say + you have a scanner that only produces black&white, not + grayscale, and it does a terrible job of halftoning (most + b&w scanners fit this description). One way to fix the + halftoning is to scan at the highest possible resolution, + say 300 dpi, and then reduce by a factor of three or so + using pbmreduce. You can even correct the brightness of an + image, by using the -value flag. + +2 Options + By default, the halftoning after the reduction is done via + boustrophedonic Floyd-Steinberg error diffusion; however, + the -threshold flag can be used to specify simple threshold- + ing. This gives better results when reducing line drawings. + + The -value flag alters the thresholding value for all quant- + izations. It should be a real number between 0 and 1. + Above 0.5 means darker images; below 0.5 means lighter. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pnmenlarge, pnmscale, pgmtopbm, pbm + +2 Author + Copyright (C) 1988 by Jef Poskanzer. + +1 pbmtext + pbmtext - render text into a bitmap + +2 Synopsis + pbmtext [-font fontfile] [text] + +2 Description + Takes the specified text, either a single line from the com- + mand line or multiple lines from standard input, and renders + it into a bitmap. + +2 Options + By default, pbmtext uses a built-in font. You can also + specify your own font with the -font flag. The fontfile is + a pbm file, created in a very specific way. In your window + system of choice, display the following text in the desired + (fixed-width) font: + + M ",/^_[`jpqy| M + + / !"#$%&'()*+ / + < ,-./01234567 < + > 89:;<=>?@ABC > + @ DEFGHIJKLMNO @ + _ PQRSTUVWXYZ[ _ + { \]^_`abcdefg { + } hijklmnopqrs } + ~ tuvwxyz{|}~ ~ + + M ",/^_[`jpqy| M + + Do a screen grab or window dump of that text, using for + instance xwd, xgrabsc, or screendump. Convert the result + into a pbm file. If necessary, use pnmcut to remove every- + thing except the text. Finally, run it through pnmcrop to + make sure the edges are right up against the text. pbmtext + can figure out the sizes and spacings from that. + +2 See_Also + pbm, pnmcut, pnmcrop + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 pbmto4425 + pbmto4425 - Display PBM images on an AT&T 4425 terminal + +2 Synopsis + pbmto4425 [pbmfile] + +2 Description + Pbmto4425 displays PBM format images on an AT&T 4425 ASCII + terminal using that terminal's mosaic graphics character + set. The program should also work with other VT100-like + terminals with mosaic graphics character sets such as the C. + Itoh CIT-101, but it has not yet been tested on terminals + other than the 4425. + + Pbmto4425 puts the terminal into 132 column mode to achieve + the maximum resolution of the terminal. In this mode the + terminal has a resolution of 264 columns by 69 rows. The + pixels have an aspect ratio of 1:2.6, therefore an image + should be processed before being displayed in a manner such + as this: + + % pnmscale -xscale 2.6 pnmfile \ + | pnmscale -xysize 264 69 \ + | ppmtopgm \ + | pgmtopbm \ + | pbmto4425 + +2 Author + Copyright (C) 1993 by Robert Perlberg + +1 pbmto10x + pbmto10x - convert a portable bitmap into Gemini 10X printer + graphics + +2 Synopsis + pbmto10x [-h] [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a file of Gemini + 10X printer graphics as output. The 10x's printer codes are + alleged to be similar to the Epson codes. + + Note that there is no 10xtopbm tool - this transformation is + one way. + +2 Options + The resolution is normally 60H by 72V. If the -h flag is + specified, resolution is 120H by 144V. You may find it use- + ful to rotate landscape images before printing. + +2 See_Also + pbm + +2 Author + Copyright (C) 1990 by Ken Yap + +1 pbmtoascii + pbmtoascii - convert a portable bitmap into ASCII graphics + +2 Synopsis + pbmtoascii [-1x2|-2x4] [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a somewhat crude + ASCII graphic as output. + + Note that there is no asciitopbm tool - this transformation + is one-way. + +2 Options + The -1x2 and -2x4 flags give you two alternate ways for the + bits to get mapped to characters. With 1x2, the default, + each character represents a group of 1 bit across by 2 bits + down. With -2x4, each character represents 2 bits across by + 4 bits down. With the 1x2 mode you can see the individual + bits, so it's useful for previewing small bitmaps on a non- + graphics terminal. The 2x4 mode lets you display larger + bitmaps on a standard 80-column display, but it obscures + bit-level details. 2x4 mode is also good for displaying + graymaps - "pnmscale -width 158 | pgmnorm | pgmtopbm + -thresh" should give good results. + +2 See_Also + pbm + +2 Author + Copyright (C) 1988, 1992 by Jef Poskanzer. + +1 pbmtoatk + pbmtoatk - convert portable bitmap to Andrew Toolkit raster + object + +2 Synopsis + pbmtoatk [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a Andrew Toolkit + raster object as output. + +2 See_Also + atktopbm, pbm + +2 Author + Copyright (C) 1991 by Bill Janssen. + +1 pbmtobg + pbmtobg - convert a portable bitmap into BitGraph graphics + +2 Synopsis + pbmtobg [rasterop] [x y] < pbmfile + +2 Description + Reads a portable bitmap as input. Produces BBN BitGraph + terminal Display Pixel Data (DPD) sequence as output. + + The rasterop can be specified on the command line. If this + is omitted, 3 (replace) will be used. A position in (x,y) + coordinates can also be specified. If both are given, the + rasterop comes first. The portable bitmap is always taken + from the standard input. + + Note that there is no bgtopbm tool. + +2 See_Also + pbm + +2 Author + Copyright 1989 by Mike Parker. + +1 pbmtocmuwm + pbmtocmuwm - convert a portable bitmap into a CMU window + manager bitmap + +2 Synopsis + pbmtocmuwm [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a CMU window + manager bitmap as output. + +2 See_Also + cmuwmtopbm, pbm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pbmtoepsi + pbmtoepsi - convert a portable bitmap into an encapsulated + PostScript style preview bitmap + +2 Synopsis + pbmtoepsi [-bbonly] [pbmfile] + +2 Description + Reads a portable bitmap as input. Produce an encapsulated + Postscript style bitmap as output. The output is not a stand + alone postscript file, it is only a preview bitmap, which + can be included in an encapsulated PostScript file. Note + that there is no epsitopbm tool - this transformation is one + way. + + This utility is a part of the pstoepsi tool by Doug Crabill + (dgc@cs.purdue.edu). + +2 Options + -bbonly + Only create a boundary box, don't fill it with the + image. + +2 See_Also + pbm, pnmtops, psidtopgm + +2 Author + Copyright (C) 1988 Jef Poskanzer, modified by Doug Crabill + 1992 + +1 pbmtoepson + pbmtoepson - convert a portable bitmap into Epson printer + graphics + +2 Synopsis + pbmtoepson [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a file of Epson + printer graphics as output. + + Note that there is no epsontopbm tool - this transformation + is one way. + +2 See_Also + pbm + +2 Author + Copyright (C) 1991 by John Tiller + (tiller@galois.msfc.nasa.gov) and Jef Poskanzer. + +1 pbmtog3 + pbmtog3 - convert a portable bitmap into a Group 3 fax file + +2 Synopsis + pbmtog3 [pbmfile] + +2 Description + Reads a portable bitmap as output. Produces a Group 3 fax + file as input. + +REFERENCES + The standard for Group 3 fax is defined in CCITT Recommenda- + tion T.4. + +2 Bugs + Probably. + +2 See_Also + g3topbm, pbm + +2 Author + Copyright (C) 1989 by Paul Haeberli . + +1 pbmtogem + pbmtogem - convert a portable bitmap into a GEM .img file + +2 Synopsis + pbmtogem [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a GEM .img file + as output. + +2 Bugs + It does not support compression of the data. + +2 See_Also + gemtopbm, pbm + +2 Author + Copyright (C) 1988 by David Beckemeyer (bdt!david) and Jef + Poskanzer. + +1 pbmtogo + pbmtogo - convert a portable bitmap into compressed GraphOn + graphics + +2 Synopsis + pbmtogo [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces 2D compressed + GraphOn graphics as output. Be sure to set up your GraphOn + with the following modes: 8 bits / no parity; obeys no + XON/XOFF; NULs are accepted. These are all on the Comm + menu. Also, remember to turn off tty post processing. Note + that there is no gotopbm tool. + +2 See_Also + pbm + +2 Author + Copyright (C) 1988, 1989 by Jef Poskanzer, Michael Haberler, + and Bo Thide'. + +1 pbmtoicon + pbmtoicon - convert a portable bitmap into a Sun icon + +2 Synopsis + pbmtoicon [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a Sun icon as + output. + +2 See_Also + icontopbm, pbm + +2 Author + Copyright (C) 1988 by Jef Poskanzer. + +1 pbmtolj + pbmtolj - convert a portable bitmap into HP LaserJet format + +2 Synopsis + pbmtolj [-resolution N] [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces HP LaserJet data + as output. + + Note that there is no ljtopbm tool. + +2 Options + -resolution + Specifies the resolution of the output device, in dpi. + Typical values are 75, 100, 150, 300. The default is + 75. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pbm + +2 Author + Copyright (C) 1988 by Jef Poskanzer and Michael Haberler. + +1 pbmtoln03 + pbmtoln03 - convert protable bitmap to DEC LN03+ Sixel out- + put + +2 Synopsis + pbmtoln03 [-rltbf] pbmfile + +2 Description + Reads a portable bitmap as input. Produces a DEC LN03+ + Sixel output file. + +2 Options + -l nn + Use "nn" as value for left margin (default 0). + + -r nn + Use "nn" as value for right margin (default 2400). + + -t nn + Use "nn" as value for top margin (default 0). + + -b nn + Use "nn" as value for bottom margin (default 3400). + + -f nn + Use "nn" as value for form length (default 3400). + +2 See_Also + pbm + +2 Author + Tim Cook, 26 Feb 1992 + +1 pbmtolps + pbmtolps - convert portable bitmap to PostScript + +2 Synopsis + pbmtolps [ -dpi n ] [ pbmfile ] + +2 Description + Reads a portable bitmap as input, and outputs PostScript. + The output Postscript uses lines instead of the image opera- + tor to generate a (device dependent) picture which will be + imaged much faster. + + The Postscript path length is constrained to be less that + 1000 points so that no limits are overrun on the Apple + Laserwriter and (presumably) no other printers. + +2 See_Also + pgmtops, ppmtops, pbm + +2 Author + George Phillips + +1 pbmtomacp + pbmtomacp - convert a portable bitmap into a MacPaint file + +2 Synopsis + pbmtomacp [-l left] [-r right] [-b bottom] [-t top] + [pbmfile] + +2 Description + Reads a portable bitmap as input. If no input-file is + given, standard input is assumed. Produces a MacPaint file + as output. + + The generated file is only the data fork of a picture. You + will need a program such as mcvert to generate a Macbinary + or a BinHex file that contains the necessary information to + identify the file as a PNTG file to MacOS. + +2 Options + Left, right, bottom & top let you define a square into the + pbm file, that must be converted. Default is the whole + file. If the file is too large for a MacPaint-file, the + bitmap is cut to fit from ( left, top ). + +2 Bugs + The source code contains comments in a language other than + English. + +2 See_Also + ppmtopict, macptopbm, pbm, mcvert + +2 Author + Copyright (C) 1988 by Douwe van der Schaaf + (...!mcvax!uvapsy!vdschaaf). + +1 pbmtomgr + pbmtomgr - convert a portable bitmap into a MGR bitmap + +2 Synopsis + pbmtomgr [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a MGR bitmap as + output. + +2 See_Also + mgrtopbm, pbm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pbmtopi3 + pbmtopi3 - convert a portable bitmap into an Atari Degas + .pi3 file + +2 Synopsis + pbmtopi3 [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces an Atari Degas + .pi3 file as output. + +2 See_Also + pi3topbm, pbm, ppmtopi1, pi1toppm + +2 Author + Copyright (C) 1988 by David Beckemeyer (bdt!david) and Jef + Poskanzer. + +1 pbmtoplot + pbmtoplot - convert a portable bitmap into a Unix plot + file + +2 Synopsis + pbmtoplot [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a Unix plot + file. + + Note that there is no plottopbm tool - this transformation + is one-way. + +2 See_Also + pbm, plot + +2 Author + Copyright (C) 1990 by Arthur David Olson. + +1 pbmtoptx + pbmtoptx - convert a portable bitmap into Printronix printer + graphics + +2 Synopsis + pbmtoptx [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a file of Prin- + tronix printer graphics as output. + + Note that there is no ptxtopbm tool - this transformation is + one way. + +2 See_Also + pbm + +2 Author + Copyright (C) 1988 by Jef Poskanzer. + +1 pbmtox10bm + pbmtox10bm - convert a portable bitmap into an X10 bitmap + +2 Synopsis + pbmtox10bm [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces an X10 bitmap as + output. This older format is maintained for compatibility. + + Note that there is no x10bmtopbm tool, because xbmtopbm can + read both X11 and X10 bitmaps. + +2 See_Also + pbmtoxbm, xbmtopbm, pbm + +2 Author + Copyright (C) 1988 by Jef Poskanzer. + +1 pbmtoxbm + pbmtoxbm - convert a portable bitmap into an X11 bitmap + +2 Synopsis + pbmtoxbm [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces an X11 bitmap as + output. + +2 See_Also + pbmtox10bm, xbmtopbm, pbm + +2 Author + Copyright (C) 1988 by Jef Poskanzer. + +1 pbmtoybm + pgmtoybm - convert a portable bitmap into a Bennet Yee + "face" file + +2 Synopsis + pbmtoybm [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces as output a file + acceptable to the face and xbm programs by Bennet Yee + (bsy+@cs.cmu.edu). + +2 See_Also + ybmtopbm, pbm, face, face, xbm + +2 Author + Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer. + +1 pbmtozinc + pbmtozinc - convert a portable bitmap into a Zinc bitmap + +2 Synopsis + pbmtozinc [pbmfile] + +2 Description + Reads a portable bitmap as input. Produces a bitmap in the + format used by the Zinc Interface Library (ZIL) Version 1.0 + as output. + +2 See_Also + pbm + +2 Author + Copyright (C) 1988 by James Darrell McCauley + (jdm5548@diamond.tamu.edu) and Jef Poskanzer. + +1 pbmupc + pbmupc - create a Universal Product Code bitmap + +2 Synopsis + pbmupc [-s1|-s2] type manufac product + +2 Description + Generates a Universal Product Code symbol. The three argu- + ments are: a one digit product type, a five digit manufac- + turer code, and a five digit product code. For example, "0 + 72890 00011" is the code for Heineken. + + As presently configured, pbmupc produces a bitmap 230 bits + wide and 175 bits high. The size can be altered by changing + the defines at the beginning of the program, or by running + the output through pnmenlarge or pnmscale. + +2 Options + The -s1 and -s2 flags select the style of UPC to generate. + The default, -s1, looks more or less like this: + |||||||||||||||| + |||||||||||||||| + |||||||||||||||| + |||||||||||||||| + 0||12345||67890||5 + The other style, -s2, puts the product type digit higher up, + and doesn't display the checksum digit: + |||||||||||||||| + |||||||||||||||| + 0|||||||||||||||| + |||||||||||||||| + ||12345||67890|| + +2 See_Also + pbm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pi3topbm + pi3topbm - convert an Atari Degas .pi3 file into a portable + bitmap + +2 Synopsis + pi3topbm [pi3file] + +2 Description + Reads an Atari Degas .pi3 file as input. Produces a port- + able bitmap as output. + +2 See_Also + pbmtopi3, pbm, pi1toppm, ppmtopi1 + +2 Author + Copyright (C) 1988 by David Beckemeyer (bdt!david) and + Diomidis D. Spinellis. + +1 pktopbm + pktopbm - convert packed (PK) format font into portable + bitmap(s) + +2 Synopsis + pktopbm pkfile[.pk] [-c num] pbmfile ... + +2 Description + Reads a packed (PK) font file as input, and produces port- + able bitmaps as output. If the filename "-" is used for any + of the filenames, the standard input stream (or standard + output where appropriate) will be used. + +2 Options + -c num + Sets the character number of the next bitmap written to + num. + +2 See_Also + pbmtopk, pbm + +2 Author + Adapted from Tom Rokicki's pxtopk by Angus Duggan + . + +1 xbmtopbm + xbmtopbm - convert an X11 or X10 bitmap into a portable bit- + map + +2 Synopsis + xbmtopbm [bitmapfile] + +2 Description + Reads an X11 or X10 bitmap as input. Produces a portable + bitmap as output. + +2 See_Also + pbmtoxbm, pbmtox10bm, pbm + +2 Author + Copyright (C) 1988 by Jef Poskanzer. + +1 ybmtopbm + ybmtopbm - convert a Bennet Yee "face" file into a portable + bitmap + +2 Synopsis + ybmtopbm [facefile] + +2 Description + Reads a file acceptable to the face and xbm programs by Ben- + net Yee (bsy+@cs.cmu.edu). Writes a portable bitmap as out- + put. + +2 See_Also + pbmtoybm, pbm, face, face, xbm + +2 Author + Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer. + +1 pbmtopk + pbmtopk - convert a portable bitmap into a packed (PK) for- + mat font + +2 Synopsis + pbmtopk pkfile[.pk] tfmfile[.tfm] resolution [-s designsize] + [-p num param...] [-C codingscheme] [-F family] [-f optfile] + [-c num] [-W width] [-H height] [-D depth] [-I ital] [-h + horiz] [-v vert] [-x xoff] [-y yoff] [pbmfile]... + +2 Description + Reads portable bitmaps as input, and produces a packed (PK) + font file and a TFM (TeX font metric) file as output. The + resolution parameter indicates the resolution of the font, + in dots per inch. If the filename "-" is used for any of the + filenames, the standard input stream (or standard output + where appropriate) will be used. + +2 Options + -s designsize + Sets the design size of the font, in TeX's points + (72.27pt to the inch). The default design size is 1. + The TFM parameters are given as multiples of the design + size. + + -p num param... + Sets the first num font parameters for the font. The + first seven parameters are the slant, interword spac- + ing, interword space stretchability, interword space + shrinkability, x-height, quad width, and post-sentence + extra space of the font. Math and symbol fonts may have + more parameters; see The TeXbook for a list of these. + Reasonable default values are chosen for parameters + which are not specified. + + -C codingscheme + Sets the coding scheme comment in the TFM file. + + -F family + Sets the font family comment in the TFM file. + + -f optfile + Reads the file optfile, which should contain a lines of + the form: + + filename xoff yoff horiz vert width height depth ital + + The pbm files specified by the filename parameters are + inserted consecutively in the font with the specified + attributes. If any of the attributes are omitted, or + replaced with "*", a default value will be calculated + from the size of the bitmap. The settings of the -W, + -H, -D, -I, -h, -v, -x, and -y options do not affected + characters created in this way. The character number + can be changed by including a line starting with "=", + followed by the new number. Lines beginning with "%" + or "#" are ignored. + + -c num + Sets the character number of the next bitmap encoun- + tered to num. + + -W width + Sets the TFM width of the next character to width (in + design size multiples). + + -H height + Sets the TFM height of the next character to height (in + design size multiples). + + -D depth + Sets the TFM depth of the next character to depth (in + design size multiples). + + -I ital + Sets the italic correction of the next character to + ital (in design size multiples). + + -h horiz + Sets the horizontal escapement of the next character to + horiz (in pixels). + + -v vert + Sets the vertical escapement of the next character to + vert (in pixels). + + -x xoff + Sets the horizontal offset of the next character to + xoff (in pixels). + + -y yoff + Sets the vertical offset of the next character to yoff + (in pixels, from the top row). + +2 See_Also + pktopbm, pbm + +2 Author + Adapted from Tom Rokicki's pxtopk by Angus Duggan + . + +1 libpbm C LIBRARY FUNCTIONS libpbm + libpbm - functions to support portable bitmap programs + +2 Synopsis + #include + cc ... libpbm.a + + +2 Description - PACKAGE-WIDE ROUTINES + KEYWORD MATCHING + int pm_keymatch( char* str, char* keyword, int minchars ) + + Does a case-insensitive match of str against keyword. str + can be a leading sunstring of keyword, but at least minchars + must be present. + + LOG BASE TWO + int pm_maxvaltobits( int maxval ) + int pm_bitstomaxval( int bits ) + + Convert between a maxval and the minimum number of bits + required to hold it. + + MESSAGES AND ERRORS + void pm_message( char* fmt, ... ) + + printf() style routine to write an informational message. + + void pm_error( char* fmt, ... ) + + printf() style routine to write an error message and abort. + + void pm_usage( char* usage ) + + Write a usage message. The string should indicate what + arguments are to be provided to the program. + + GENERIC FILE MANAGEMENT + FILE* pm_openr( char* name ) + + Open the given file for reading, with appropriate error + checking. A filename of "-" is taken as equivalent to + stdin. + + FILE* pm_openw( char* name ) + + Open the given file for writing, with appropriate error + checking. + + void pm_close( FILE* fp ) + + Close the file descriptor, with appropriate error checking. + + ENDIAN I/O + int pm_readbigshort( FILE* in, short* sP ) + int pm_writebigshort( FILE* out, short s ) + int pm_readbiglong( FILE* in, long* lP ) + int pm_writebiglong( FILE* out, long l ) + int pm_readlittleshort( FILE* in, short* sP ) + int pm_writelittleshort( FILE* out, short s ) + int pm_readlittlelong( FILE* in, long* lP ) + int pm_writelittlelong( FILE* out, long l ) + + Routines to read and write short and long ints in either + big- or little-endian byte order. + +2 Description - PBM-SPECIFIC ROUTINES + TYPES AND CONSTANTS + typedef ... bit; + #define PBM_WHITE ... + #define PBM_BLACK ... + + each bit should contain only the values of PBM_WHITE or + PBM_BLACK. + + #define PBM_FORMAT ... + #define RPBM_FORMAT ... + #define PBM_TYPE PBM_FORMAT + #define PBM_FORMAT_TYPE(f) ... + + For distinguishing different file formats and types. + + INITIALIZATION + void pbm_init( int* argcP, char* argv[] ) + + All PBM programs must call this routine. + + MEMORY MANAGEMENT + bit** pbm_allocarray( int cols, int rows ) + + Allocate an array of bits. + + bit* pbm_allocrow( int cols ) + + Allocate a row of the given number of bits. + + void pbm_freearray( bit** bits, int rows ) + + Free the array allocated with pbm_allocarray() containing + the given number of rows. + + void pbm_freerow( bit* bitrow ) + + Free a row of bits. + + READING FILES + void pbm_readpbminit( FILE* fp, int* colsP, int* rowsP, int* formatP ) + + Read the header from a PBM file, filling in the rows, cols + and format variables. + + void pbm_readpbmrow( FILE* fp, bit* bitrow, int cols, int format ) + + Read a row of bits into the bitrow array. Format and cols + were filled in by pbm_readpbminit(). + + bit** pbm_readpbm( FILE* fp, int* colsP, int* rowsP ) + + Read an entire bitmap file into memory, returning the allo- + cated array and filling in the rows and cols variables. + This function combines pbm_readpbminit(), pbm_allocarray() + and pbm_readpbmrow(). + + char* pm_read_unknown_size( FILE* fp, long* nread ) + + Read an entire file or input stream of unknown size to a + buffer. Allocate memory more memory as needed. The calling + routine has to free the allocated buffer with free(). + pm_read_unknown_size() returns a pointer to the allocated + buffer. The nread argument returns the number of bytes read. + + WRITING FILES + void pbm_writepbminit( FILE* fp, int cols, int rows, int forceplain ) + + Write the header for a portable bitmap file. The forceplain + flag forces a plain-format file to be written, as opposed to + a raw-format one. + + void pbm_writepbmrow( FILE* fp, bit* bitrow, int cols, int forceplain ) + + Write a row from a portable bitmap. + + void pbm_writepbm( FILE* fp, bit** bits, int cols, int rows, int forceplain ) + + Write the header and all data for a portable bitmap. This + function combines pbm_writepbminit() and pbm_writepbmrow(). + +2 See_Also + libpgm, libppm, libpnm + +2 Author + Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer. + +1 pbm + pbm - portable bitmap file format + +2 Description + The portable bitmap format is a lowest common denominator + monochrome file format. It was originally designed to make + it reasonable to mail bitmaps between different types of + machines using the typical stupid network mailers we have + today. Now it serves as the common language of a large fam- + ily of bitmap conversion filters. The definition is as fol- + lows: + + - A "magic number" for identifying the file type. A pbm + file's magic number is the two characters "P1". + + - Whitespace (blanks, TABs, CRs, LFs). + + - A width, formatted as ASCII characters in decimal. + + - Whitespace. + + - A height, again in ASCII decimal. + + - Whitespace. + + - Width * height bits, each either '1' or '0', starting at + the top-left corner of the bitmap, proceeding in normal + English reading order. + + - The character '1' means black, '0' means white. + + - Whitespace in the bits section is ignored. + + - Characters from a "#" to the next end-of-line are ignored + (comments). + + - No line should be longer than 70 characters. + + Here is an example of a small bitmap in this format: + P1 + # feep.pbm + 24 7 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 + 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 + 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 + 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 + 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + Programs that read this format should be as lenient as pos- + sible, accepting anything that looks remotely like a bitmap. + There is also a variant on the format, available by setting + the RAWBITS option at compile time. This variant is dif- + ferent in the following ways: + + - The "magic number" is "P4" instead of "P1". + + - The bits are stored eight per byte, high bit first low bit + last. + + - No whitespace is allowed in the bits section, and only a + single character of whitespace (typically a newline) is + allowed after the height. + + - The files are eight times smaller and many times faster to + read and write. + +2 See_Also + atktopbm, brushtopbm, cmuwmtopbm, g3topbm, gemtopbm, icontopbm, + macptopbm, mgrtopbm, pi3topbm, xbmtopbm, ybmtopbm, pbmto10x, + pnmtoascii, pbmtoatk, pbmtobbnbg, pbmtocmuwm, pbmtoepson, pbmtog3, + pbmtogem, pbmtogo, pbmtoicon, pbmtolj, pbmtomacp, pbmtomgr, + pbmtopi3, pbmtoplot, pbmtoptx, pbmtox10bm, pbmtoxbm, pbmtoybm, + pbmtozinc, pbmlife, pbmmake, pbmmask, pbmreduce, pbmtext, pbmupc, + pnm, pgm, ppm + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 bioradtopgm + bioradtopgm - convert a Biorad confocal file into a portable + graymap + +2 Synopsis + bioradtopgm [-image#] [imagedata] + +2 Description + Reads a Biorad confocal file as input. Produces a portable + graymap as output. If the resulting image is upside down, + run it through pnmflip -tb . + +2 Options + -image# + A Biorad image file may contain more than one image. + With this flag, you can specify which image to extract + (only one at a time). The first image in the file has + number zero. If no image number is supplied, only + information about the image size and the number of + images in the input is printed out. No output is pro- + duced. + +2 Bugs + A Biorad image may be in word format. If PbmPlus is not com- + piled with the "BIGGRAYS" flag, word files can not be con- + verted. See the Makefile. + +2 See_Also + pgm, pnmflip + +2 Authors + Copyright (C) 1993 by Oliver Trepte + +1 fitstopgm + fitstopgm - convert a FITS file into a portable graymap + +2 Synopsis + fitstopgm [-image N] [FITSfile] + +2 Description + Reads a FITS file as input. Produces a portable graymap as + output. The results may need to be flipped top for bottom; + if so, just pipe the output through pnmflip -tb. + +2 Options + The -image option is for FITS files with three axes. The + assumption is that the third axis is for multiple images, + and this option lets you select which one you want. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 References + FITS stands for Flexible Image Transport System. A full + description can be found in Astronomy & Astrophysics Supple- + ment Series 44 (1981), page 363. + +2 See_Also + pgmtofits, pgm, pnmflip + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 fstopgm + fstopgm - convert a Usenix FaceSaver(tm) file into a port- + able graymap + +2 Synopsis + fstopgm [fsfile] + +2 Description + Reads a Usenix FaceSaver(tm) file as input. Produces a + portable graymap as output. + + FaceSaver(tm) files sometimes have rectangular pixels. + While fstopgm won't re-scale them into square pixels for + you, it will give you the precise pnmscale command that will + do the job. Because of this, reading a FaceSaver(tm) image + is a two-step process. First you do: + fstopgm > /dev/null + This will tell you whether you need to use pnmscale. Then + use one of the following pipelines: + fstopgm | pgmnorm + fstopgm | pnmscale -whatever | pgmnorm + To go to PBM, you want something more like one of these: + fstopgm | pnmenlarge 3 | pgmnorm | pgmtopbm + fstopgm | pnmenlarge 3 | pnmscale | pgmnorm | pgmtopbm + You want to enlarge when going to a bitmap because otherwise + you lose information; but enlarging by more than 3 does not + look good. + + FaceSaver is a registered trademark of Metron Computerware + Ltd. of Oakland, CA. + +2 See_Also + pgmtofs, pgm, pgmnorm, pnmenlarge, pnmscale, + pgmtopbm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 hipstopgm + hipstopgm - convert a HIPS file into a portable graymap + +2 Synopsis + hipstopgm [hipsfile] + +2 Description + Reads a HIPS file as input. Produces a portable graymap as + output. + + If the HIPS file contains more than one frame in sequence, + hipstopgm will concatenate all the frames vertically. + + HIPS is a format developed at the Human Information Process- + ing Laboratory, NYU. + +2 See_Also + pgm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 lispmtopgm + lispmtopgm - convert a Lisp Machine bitmap file into pgm + format + +2 Synopsis + lispmtopgm [lispmfile] + +2 Description + Reads a Lisp Machine bitmap as input. Produces a portable + graymap as output. + + This is the file format written by the tv:write-bit-array- + file function on TI Explorer and Symbolics lisp machines. + + Multi-plane bitmaps on lisp machines are color; but the + lispm image file format does not include a color map, so we + must treat it as a graymap instead. This is unfortunate. + +2 See_Also + pgmtolispm, pgm + +2 Bugs + The Lispm bitmap file format is a bit quirky; Usually the + image in the file has its width rounded up to the next + higher multiple of 32, but not always. If the width is not + a multiple of 32, we don't deal with it properly, but + because of the Lispm microcode, such arrays are probably not + image data anyway. + + Also, the lispm code for saving bitmaps has a bug, in that + if you are writing a bitmap which is not mod32 across, the + file may be up to 7 bits too short! They round down instead + of up, and we don't handle this bug gracefully. + + No color. + +2 Author + Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer. + +1 pbmtopgm + pbmtopgm - convert portable bitmap to portable graymap by + averaging areas + +2 Synopsis + pbmtopgm [pbmfile] + +2 Description + Reads a portable bitmap as input. Outputs a portable graymap + created by averaging the number of pixels within a sample + area of width by height around each point. Pbmtopgm is simi- + lar to a special case of ppmconvol. A ppmsmooth step may be + needed after pbmtopgm. + + Pbmtopgm has the effect of anti-aliasing bitmaps which con- + tain distinct line features. + +2 See_Also + pbm + +2 Author + Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef + Poskanzer. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting docu- + mentation. This software is provided "as is" without + express or implied warranty. + +2 Notes + Pbmtopgm works best with odd sample width and heights. + +1 pgmbentley + pgmbentley - Bentleyize a portable graymap + +2 Synopsis + pgmbentley [pgmfile] + +2 Description + Reads a portable graymap as input. Performs The Bentley + Effect, and writes a portable graymap as output. + + The Bentley Effect is described in "Beyond Photography" by + Holzmann, chapter 4, photo 4. It's a vertical smearing + based on brightness. + +2 See_Also + pgmoil, ppmrelief, pgm + +2 Author + Copyright (C) 1990 by Wilson Bent (whb@hoh-2.att.com) + +1 pgmenhance + pgmenhance - edge-enhance a portable graymap + +2 Synopsis + pgmenhance [-N] [pgmfile] + +2 Description + Reads a portable graymap as input. Enhances the edges, and + writes a portable graymap as output. + + The edge enhancing technique is taken from Philip R. + Thompson's "xim" program, which in turn took it from section + 6 of "Digital Halftones by Dot Diffusion", D. E. Knuth, ACM + Transaction on Graphics Vol. 6, No. 4, October 1987, which + in turn got it from two 1976 papers by J. F. Jarvis et. al. + +2 Options + The optional -N flag should be a digit from 1 to 9. 1 is + the lowest level of enhancement, 9 is the highest, The + default is 9. + +2 See_Also + pgmedge, pgm, pbm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pgmhist + pgmhist - print a histogram of the values in a portable + graymap + +2 Synopsis + pgmhist [pgmfile] + +2 Description + Reads a portable graymap as input. Prints a histogram of + the gray values. + +2 See_Also + pgmnorm, pgm, ppmhist + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pgmnoise + pgmnoise - create a graymap made up of white noise + +2 Synopsis + pgmnoise width height + +2 Description + Creates a portable graymap that is made up of random pixels + with gray values in the range of 0 to PGM_MAXMAXVAL (depends + on the compilation, either 255 or 65535). The graymap has a + size of width * height pixels. + +2 See_Also + pgm(5) + +2 Author + Copyright (C) 1993 by Frank Neumann + +1 pgmnorm + pgmnorm - normalize the contrast in a portable graymap + +2 Synopsis + pgmnorm [-bpercent N | -bvalue N] [-wpercent N | -wvalue N] + [pgmfile] + +2 Description + Reads a portable graymap as input. Normalizes the contrast + by forcing the lightest pixels to white, the darkest pixels + to black, and linearly rescaling the ones in between; and + produces a portable graymap as output. + +2 Options + By default, the darkest 2 percent of all pixels are mapped + to black, and the lightest 1 percent are mapped to white. + You can override these percentages by using the -bpercent + and -wpercent flags, or you can specify the exact pixel + values to be mapped by using the -bvalue and -wvalue flags. + Appropriate numbers for the flags can be gotten from the + pgmhist tool. If you just want to enhance the contrast, + then choose values at elbows in the histogram; e.g. if value + 29 represents 3% of the image but value 30 represents 20%, + choose 30 for bvalue. If you want to lighten the image, + then set bvalue to 0 and just fiddle with wvalue; similarly, + to darken the image, set wvalue to maxval and play with + bvalue. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pgmhist, pgm + +2 Author + Partially based on the fbnorm filter in Michael Mauldin's + "Fuzzy Pixmap" package. + + Copyright (C) 1989 by Jef Poskanzer. + +1 pgmoil + pgmoil - turn a portable graymap into an oil painting + +2 Synopsis + pgmoil [-n N] [pgmfile] + +2 Description + Reads a portable graymap as input. Does an "oil transfer", + and writes a portable graymap as output. + + The oil transfer is described in "Beyond Photography" by + Holzmann, chapter 4, photo 7. It's a sort of localized + smearing. + +2 Options + The optional -n flag controls the size of the area smeared. + The default value is 3. + +2 Bugs + Takes a long time to run. + +2 See_Also + pgmbentley, ppmrelief, pgm + +2 Author + Copyright (C) 1990 by Wilson Bent (whb@hoh-2.att.com) + +1 pgmramp + pgmramp - generate a grayscale ramp + +2 Synopsis + pgmramp -lr|-tb | -rectangle|-ellipse width height + +2 Description + Generates a graymap of the specified size containing a + black-to-white ramp. These ramps are useful for multiplying + with other images, using the pnmarith tool. + +2 Options + -lr A left to right ramp. + + -tb A top to bottom ramp. + + -rectangle + A rectangular ramp. + + -ellipse + An elliptical ramp. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pnmarith, pgm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pgmtofits + pgmtofits - convert a portable graymap into FITS format + +2 Synopsis + pgmtofits [pgmfile] + +2 Description + Reads a portable graymap as input. Produces a FITS file as + output. + + FITS stands for Flexible Image Transport System. A full + description can be found in Astronomy & Astrophysics Supple- + ment Series 44 (1981), page 363. + +2 See_Also + fitstopgm, pgm + +2 Author + Copyright (C) 1989 by Wilson H. Bent (whb@hoh-2.att.com). + +1 pgmtofs + pgmtofs - convert portable graymap to Usenix FaceSaver(tm) + format + +2 Synopsis + pgmtofs [pgmfile] + +2 Description + Reads a portable graymap as input. Produces Usenix + FaceSaver(tm) format as output. + + FaceSaver is a registered trademark of Metron Computerware + Ltd. of Oakland, CA. + +2 See_Also + fstopgm, pgm + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 pgmtolispm + pgmtolispm - convert a portable graymap into Lisp Machine + format + +2 Synopsis + pgmtolispm [pgmfile] + +2 Description + Reads a portable graymap as input. Produces a Lisp Machine + bitmap as output. + + This is the file format read by the tv:read-bit-array-file + function on TI Explorer and Symbolics lisp machines. + + Given a pgm (instead of a pbm) a multi-plane image will be + output. This is probably not useful unless you have a color + lisp machine. + + Multi-plane bitmaps on lisp machines are color; but the + lispm image file format does not include a color map, so we + must treat it as a graymap instead. This is unfortunate. + +2 See_Also + lispmtopgm, pgm + +2 Bugs + Output width is always rounded up to the nearest multiple of + 32; this might not always be what you want, but it probably + is (arrays which are not modulo 32 cannot be passed to the + Lispm BITBLT function, and thus cannot easily be displayed + on the screen). + + No color. + +2 Author + Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer. + +1 pgmtopbm + pgmtopbm - convert a portable graymap into a portable bitmap + +2 Synopsis + pgmtopbm [-floyd|-fs|-threshold |-dither8|-d8|-cluster3 |- + c3|-cluster4|-c4 |-cluster8|-c8] [-value val] [pgmfile] + +2 Description + Reads a portable graymap as input. Produces a portable bit- + map as output. + + Note that there is no pbmtopgm converter, because any pgm + program can read pbm files automagically. + +2 Options + The default quantization method is boustrophedonic Floyd- + Steinberg error diffusion (-floyd or -fs). Also available + are simple thresholding (-threshold); Bayer's ordered dither + (-dither8) with a 16x16 matrix; and three different sizes of + 45-degree clustered-dot dither (-cluster3, -cluster4, - + cluster8). + + Floyd-Steinberg will almost always give the best looking + results; however, looking good is not always what you want. + For instance, thresholding can be used in a pipeline with + the pnmconvol tool, for tasks like edge and peak detection. + And clustered-dot dithering gives a newspaper-ish look, a + useful special effect. + + The -value flag alters the thresholding value for Floyd- + Steinberg and simple thresholding. It should be a real + number between 0 and 1. Above 0.5 means darker images; + below 0.5 means lighter. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 References + The only reference you need for this stuff is "Digital Half- + toning" by Robert Ulichney, MIT Press, ISBN 0-262-21009-6. + +2 See_Also + pbmreduce, pgm, pbm, pnmconvol + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 psidtopgm + psidtopgm - convert PostScript "image" data into a portable + graymap + +2 Synopsis + psidtopgm width height bits/sample [imagedata] + +2 Description + Reads the "image" data from a PostScript file as input. + Produces a portable graymap as output. + + This is a very simple and limited program, and is here only + because so many people have asked for it. To use it you + have to manually extract the readhexstring data portion from + your PostScript file, and then give the width, height, and + bits/sample on the command line. Before you attempt this, + you should at least read the description of the "image" + operator in the PostScript Language Reference Manual. + + It would probably not be too hard to write a script that + uses this filter to read a specific variety of PostScript + image, but the variation is too great to make a general- + purpose reader. Unless, of course, you want to write a + full-fledged PostScript interpreter... + +2 See_Also + pnmtops, pgm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 spottopgm + spottopgm - convert SPOT satellite images to Portable Grey- + map format + +2 Synopis + spottopgm [-1|2|3] [Firstcol Firstline Lastcol Lastline] + inputfile + +2 Options + -1|2|3 Extract the given colour from the SPOT image. The + colours are infra-red, visible light and ultra- + violet, although I don't know which corresponds to + which number. If the image is in colour, this will + be announced on standard error. The default colour + is 1. + + Firstcol Firstline Lastcol Lastline + Extract the specified rectangle from the SPOT image. + Most SPOT images are 3000 lines long and 3000 or + more columns wide. Unfortunately the SPOT format + only gives the width and not the length. The width + is printed on standard error. The default rectangle + is the width of the input image by 3000 lines. + +2 Description + Spottopgm converts the named inputfile into Portable Greymap + format, defaulting to the first color and the whole SPOT + image unless specified by the options. + +2 INSTALLATION + You must edit the source program and either define + BIGNDIAN or LITTLENDIAN, and fix the typedefs for + uint32, uint16 and uint8 appropriately. + +2 Bugs + Currently spottopgm doesn't determine the length of the + input file; this would involve two passes over the input + file. It defaults to 3000 lines instead. + + Spottopgm could extract a three-color image (ppm), but I + didn't feel like making the program more complicated than it + is now. Besides, there is no one-to-one correspondence + between red, green, blue and infra-red, visible and ultra- + violet. + + I've only had a limited number of SPOT images to play with, + and therefore wouldn't guarantee that this will work on any + other images. + +2 Author + Warren Toomey wkt@csadfa.cs.adfa.oz.au + +1 pgmcrater + pgmcrater - create cratered terrain by fractal forgery + +2 Synopsis + pgmcrater [-number n] [-height|-ysize s] [-width|-xsize s] + [-gamma g] + +2 Description + pgmcrater creates a portable graymap which mimics cratered + terrain. The graymap is created by simulating the impact of + a given number of craters with random position and size, + then rendering the resulting terrain elevations based on a + light source shining from one side of the screen. The size + distribution of the craters is based on a power law which + results in many more small craters than large ones. The + number of craters of a given size varies as the reciprocal + of the area as described on pages 31 and 32 of Peitgen and + Saupe[1]; cratered bodies in the Solar System are observed + to obey this relationship. The formula used to obtain + crater radii governed by this law from a uniformly distri- + buted pseudorandom sequence was developed by Rudy Rucker. + + High resolution images with large numbers of craters often + benefit from being piped through pnmsmooth. The averaging + performed by this process eliminates some of the jagged pix- + els and lends a mellow ``telescopic image'' feel to the + overall picture. + +2 Options + -number n Causes n craters to be generated. If no -number + specification is given, 50000 craters will be gen- + erated. Don't expect to see them all! For every + large crater there are many, many more tiny ones + which tend simply to erode the landscape. In gen- + eral, the more craters you specify the more real- + istic the result; ideally you want the entire ter- + rain to have been extensively turned over again + and again by cratering. High resolution images + containing five to ten million craters are stun- + ning but take quite a while to create. + + -height height + Sets the height of the generated image to height + pixels. The default height is 256 pixels. + + -width width + Sets the width of the generated image to width + pixels. The default width is 256 pixels. + + -xsize width + Sets the width of the generated image to width + pixels. The default width is 256 pixels. + + + -ysize height + Sets the height of the generated image to height + pixels. The default height is 256 pixels. + + -gamma factor + The specified factor is used to gamma correct the + graymap in the same manner as performed by + pnmgamma. The default value is 1.0, which results + in a medium contrast image. Values larger than 1 + lighten the image and reduce contrast, while + values less than 1 darken the image, increasing + contrast. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 Bugs + The -gamma option isn't really necessary since you can + achieve the same effect by piping the output from pgmcrater + through pnmgamma. However, pgmcrater performs an internal + gamma map anyway in the process of rendering the elevation + array into a graymap, so there's no additional overhead in + allowing a user-specified gamma. + + Real craters have two distinct morphologies. pgmcrater + simulates only small craters, which are hemispherical in + shape (regardless of the incidence angle of the impacting + body, as long as the velocity is sufficiently high). Large + craters, such as Copernicus and Tycho on the Moon, have a + ``walled plain'' shape with a cross-section more like: + /\ /\ + _____/ \____________/\____________/ \_____ + Larger craters should really use this profile, including the + central peak, and totally obliterate the pre-existing ter- + rain. + +2 See_Also + pgm, pnmgamma, pnmsmooth + + [1] Peitgen, H.-O., and Saupe, D. eds., The Science Of + Fractal Images, New York: Springer Verlag, 1988. + +2 Author + John Walker + Autodesk SA + Avenue des Champs-Montants 14b + CH-2074 MARIN + Suisse/Schweiz/Svizzera/Svizra/Switzerland + Usenet: kelvin@Autodesk.com + Fax: 038/33 88 15 + Voice: 038/33 76 33 + + software and its documentation for any purpose and without + fee is hereby granted, without any conditions or restric- + tions. This software is provided ``as is'' without express + or implied warranty. + + PLUGWARE! If you like this kind of stuff, you may also enjoy + ``James Gleick's Chaos--The Software'' for MS-DOS, available + for $59.95 from your local software store or directly from + Autodesk, Inc., Attn: Science Series, 2320 Marinship Way, + Sausalito, CA 94965, USA. Telephone: (800) 688-2344 toll- + free or, outside the U.S. (415) 332-2344 Ext 4886. Fax: + (415) 289-4718. ``Chaos--The Software'' includes a more + comprehensive fractal forgery generator which creates + three-dimensional landscapes as well as clouds and planets, + plus five more modules which explore other aspects of Chaos. + The user guide of more than 200 pages includes an introduc- + tion by James Gleick and detailed explanations by Rudy + Rucker of the mathematics and algorithms used by each pro- + gram. + + +1 pgmedge + pgmedge - edge-detect a portable graymap + +2 Synopsis + pgmedge [pgmfile] + +2 Description + Reads a portable graymap as input. Outlines the edges, and + writes a portable graymap as output. Piping the result + through pgmtopbm -threshold and playing with the threshold + value will give a bitmap of the edges. + + The edge detection technique used is to take the Pythagorean + sum of two Sobel gradient operators at 90 degrees to each + other. For more details see "Digital Image Processing" by + Gonzalez and Wintz, chapter 7. + +2 See_Also + pgmenhance, pgmtopbm, pgm, pbm + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 pgmtexture + pgmtexture - calculate textural features on a portable gray- + map + +2 Synopsis + pgmtexture [-d d] [pgmfile] + +2 Description + Reads a portable graymap as input. Calculates textural + features based on spatial dependence matrices at 0, 45, 90, + and 135 degrees for a distance d (default = 1). Textural + features include: + + (1) Angular Second Moment, + (2) Contrast, + (3) Correlation, + (4) Variance, + (5) Inverse Difference Moment, + (6) Sum Average, + (7) Sum Variance, + (8) Sum Entropy, + (9) Entropy, + (10) Difference Variance, + (11) Difference Entropy, + (12, 13) Information Measures of Correlation, and + (14) Maximal Correlation Coefficient. + + Algorithm taken from: + Haralick, R.M., K. Shanmugam, and I. Dinstein. 1973. Tex- + tural features for image classification. IEEE Transactions + on Systems, Man, and Cybertinetics, SMC-3(6):610-621. + +2 Bugs + The program can run incredibly slow for large images (larger + than 64 x 64) and command line options are limited. The + method for finding (14) the maximal correlation coefficient, + which requires finding the second largest eigenvalue of a + matrix Q, does not always converge. + +2 References + IEEE Transactions on Systems, Man, and Cybertinetics, SMC- + 3(6):610-621. + +2 See_Also + pgm, pnmcut + +2 Author + Copyright (C) 1991 by Texas Agricultural Experiment Station, + employer for hire of James Darrell McCauley. + +1 rawtopgm + rawtopgm - convert raw grayscale bytes into a portable gray- + map + +2 Synopsis + rawtopgm [-headerskip N] [-rowskip N] [-tb|-topbottom] + [width height] [imagedata] + +2 Description + Reads raw grayscale bytes as input. Produces a portable + graymap as output. The input file is just grayscale bytes. + If you don't specify the width and height on the command + line, the program will check the size of the image and try + to make a quadratic image of it. It is an error to supply a + non quadratic image without specifying width and height. + The maxval is assumed to be 255. + +2 Options + -headerskip + If the file has a header, you can use this flag to skip + over it. + + -rowskip + If there is padding at the ends of the rows, you can + skip it with this flag. Note that rowskip can be a + real number. Amazingly, I once had an image with 0.376 + bytes of padding per row. This turned out to be due to + a file-transfer problem, but I was still able to read + the image. + + -tb -topbottom + Flips the image upside down. The first pixel in a pgm + file is in the lower left corner of the image. For + conversion from images with the first pixel in the + upper left corner (e.g. the Molecular Dynamics and + Leica confocal formats) this flips the image right. + This is equivalent to rawtopgm [file] | pnmflip -tb . + +2 Bugs + If you don't specify the image width and height, the program + will try to read the entire image to a memory buffer. If you + get a message that states that you are out of memory, try to + specify the width and height on the command line. Also, the + -tb option consumes much memory. + +2 See_Also + pgm, rawtoppm, pnmflip + +2 Authors + Copyright (C) 1989 by Jef Poskanzer. + Modified June 1993 by Oliver Trepte, oliver@fysik4.kth.se + +1 pnmarith + pnmarith - perform arithmetic on two portable anymaps + +2 Synopsis + pnmarith -add|-subtract|-multiply| pnmfile1 pnmfile2 + +2 Description + Reads two portable anymaps as input. Performs the specified + arithmetic operation, and produces a portable anymap as out- + put. The two input anymaps must be the same width and + height. + + The arithmetic is performed between corresponding pixels in + the two anymaps, as if maxval was 1.0, black was 0.0, and a + linear scale in between. Results that fall outside of + [0..1) are truncated. + + The operator -difference calculates the absolute value of + pnmarith -subtract pnmfile1 pnmfile2, i.e. no truncation is + done. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pbmmask, pnmpaste, pnminvert, pnm + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. Lightly modified + by Marcel Wijkstra + +1 pnmcat + pnmcat - concatenate portable anymaps + +2 Synopsis + pnmcat [-white|-black] -leftright|-lr [-jtop|-jbottom] + pnmfile pnmfile ... + pnmcat [-white|-black] -topbottom|-tb [-jleft|-jright] + pnmfile pnmfile ... + +2 Description + Reads portable anymaps as input. Concatenates them either + left to right or top to bottom, and produces a portable + anymap as output. + +2 Options + If the anymaps are not all the same height (left-right) or + width (top-bottom), the smaller ones have to be justified + with the largest. By default, they get centered, but you + can specify one side or the other with one of the -j* flags. + So, -topbottom -jleft would stack the anymaps on top of each + other, flush with the left edge. + + The -white and -black flags specify what color to use to + fill in the extra space when doing this justification. If + neither is specified, the program makes a guess. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pnm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pnmcomp + pnmcomp - composite two portable anymap files together + +2 Synopsis + pnmcomp [-invert] [-xoffN] [-yoffN] [-alphapgmfile] overlay + [pnm-input] [pnm-output] + +2 Description + Reads in a portable any map image and put a overlay upon it, + with optional alpha mask. The -alpha pgmfile allows you to + also add an alpha mask file to the compositing process, the + range of max and min can be swapped by using the -invert + option. The -xoff and -yoff arguments can be negative, + allowing you to shift the overlay off the top corner of the + screen. + +2 See_Also + pnm + +2 Author + Copyright (C) 1992 by David Koblas (koblas@mips.com). + +1 pnmconvol + pnmconvol - general MxN convolution on a portable anymap + +2 Synopsis + pnmconvol convolutionfile [pnmfile] + +2 Description + Reads two portable anymaps as input. Convolves the second + using the first, and writes a portable anymap as output. + + Convolution means replacing each pixel with a weighted aver- + age of the nearby pixels. The weights and the area to aver- + age are determined by the convolution matrix. The unsigned + numbers in the convolution file are offset by -maxval/2 to + make signed numbers, and then normalized, so the actual + values in the convolution file are only relative. + + Here is a sample convolution file; it does a simple average + of the nine immediate neighbors, resulting in a smoothed + image: + P2 + 3 3 + 18 + 10 10 10 + 10 10 10 + 10 10 10 + + To see how this works, do the above-mentioned offset: 10 - + 18/2 gives 1. The possible range of values is from 0 to 18, + and after the offset that's -9 to 9. The normalization step + makes the range -1 to 1, and the values get scaled + correspondingly so they become 1/9 - exactly what you want. + The equivalent matrix for 5x5 smoothing would have maxval 50 + and be filled with 26. + + The convolution file will usually be a graymap, so that the + same convolution gets applied to each color component. How- + ever, if you want to use a pixmap and do a different convo- + lution to different colors, you can certainly do that. + +2 See_Also + pnmsmooth, pnm + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 pnmcrop + pnmcrop - crop a portable anymap + +2 Synopsis + pnmcrop [-white|-black] [pnmfile] + +2 Description + Reads a portable anymap as input. Removes edges that are + the background color, and produces a portable anymap as out- + put. + +2 Options + By default, it makes a guess as to what the background color + is. You can override the default with the -white and -black + flags. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pnmcut, pnm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pnmcut + pnmcut - cut a rectangle out of a portable anymap + +2 Synopsis + pnmcut x y width height [pnmfile] + +2 Description + Reads a portable anymap as input. Extracts the specified + rectangle, and produces a portable anymap as output. The x + and y can be negative, in which case they are interpreted + relative to the right and bottom of the anymap, respec- + tively. + +2 See_Also + pnm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pnmdepth + pnmdepth - change the maxval in a portable anymap + +2 Synopsis + pnmdepth newmaxval [pnmfile] + +2 Description + Reads a portable anymap as input. Scales all the pixel + values, and writes out the image with the new maxval. Scal- + ing the colors down to a smaller maxval will result in some + loss of information. + + Be careful of off-by-one errors when choosing the new max- + val. For instance, if you want the color values to be five + bits wide, use a maxval of 31, not 32. + +2 See_Also + pnm, ppmquant, ppmdither + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 pnmenlarge + pnmenlarge - read a portable anymap and enlarge it N times + +2 Synopsis + pnmenlarge N [pnmfile] + +2 Description + Reads a portable anymap as input. Replicates its pixels N + times, and produces a portable anymap as output. + + pnmenlarge can only enlarge by integer factors. The slower + but more general pnmscale can enlarge or reduce by arbitrary + factors, and pbmreduce can reduce by integer factors, but + only for bitmaps. + + If you enlarge by a factor of 3 or more, you should probably + add a pnmsmooth step; otherwise, you can see the original + pixels in the resulting image. + +2 See_Also + pbmreduce, pnmscale, pnmsmooth, pnm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pnmfile + pnmfile - describe a portable anymap + +2 Synopsis + pnmfile [pnmfile] ... + +2 Description + Reads one or more portable anymaps as input. Writes out + short descriptions of the image type, size, etc. This is + mostly for use in shell scripts, so the format is not par- + ticularly pretty. + +2 See_Also + pnm, file + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 pnmflip + pnmflip - perform one or more flip operations on a portable + anymap + +2 Synopsis + pnmflip [-leftright|-lr] [-topbottom|-tb] [-transpose|-xy] + [-rotate90|-r90|-ccw ] [-rotate270|-r270|-cw ] [- + rotate180|-r180] [pnmfile] + +2 Description + Reads a portable anymap as input. Performs one or more flip + operations, in the order specified, and writes out a port- + able anymap. + +2 Options + The flip operations available are: left for right (- + leftright or -lr); top for bottom (-topbottom or -tb); and + transposition (-transpose or -xy). In addition, some canned + concatenations are available: -rotate90 or -ccw is + equivalent to -transpose -topbottom; -rotate270 or -cw is + equivalent to -transpose -leftright; and -rotate180 is + equivalent to -leftright -topbottom. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pnmrotate, pnm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pnminvert + pnminvert - invert a portable anymap + +2 Synopsis + pnminvert [pnmfile] + +2 Description + Reads a portable anymap as input. Inverts it black for + white and produces a portable anymap as output. + +2 See_Also + pnm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pnmnoraw + pnmnoraw - force a portable anymap into plain format + +2 Synopsis + pnmnoraw [pnmfile] + +2 Description + Reads a portable anymap as input. Writes it out in plain + (non-raw) format. This is fairly useless if you haven't + defined the PBMPLUSAWBITS compile-time option. + +2 See_Also + pnm + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 pnmpad + pnmpad - add borders to portable anymap + +2 Synopsis + pnmpad [-white|-black] [-l#] [-r#] [-t#] [-b#] [pnmfile] + +2 Description + Reads a portable anymap as input. Outputs a portable anymap + with extra borders of the sizes specified. The colour of the + borders can be set to black or white (default black). + + +2 See_Also + pbmmake, pnmpaste, pbm + +2 Author + Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef + Poskanzer. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting docu- + mentation. This software is provided "as is" without + express or implied warranty. + +1 pnmpaste + pnmpaste - paste a rectangle into a portable anymap + +2 Synopsis + pnmpaste [-replace|-or|-and |-xor] frompnmfile x y + [intopnmfile] + +2 Description + Reads two portable anymaps as input. Inserts the first + anymap into the second at the specified location, and pro- + duces a portable anymap the same size as the second as out- + put. If the second anymap is not specified, it is read from + stdin. The x and y can be negative, in which case they are + interpreted relative to the right and bottom of the anymap, + respectively. + + This tool is most useful in combination with pnmcut. For + instance, if you want to edit a small segment of a large + image, and your image editor cannot edit the large image, + you can cut out the segment you are interested in, edit it, + and then paste it back in. + + Another useful companion tool is pbmmask. + + The optional flag specifies the operation to use when doing + the paste. The default is -replace. The other, logical + operations are only allowed if both input images are bit- + maps. These operations act as if white is TRUE and black is + FALSE. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pnmcut, pnminvert, pnmarith, pnm, pbmmask + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 pnmscale + pnmscale - scale a portable anymap + +2 Synopsis + pnmscale s [pnmfile] + pnmscale -xsize|-width|-ysize| -height s [pnmfile] + pnmscale -xscale|-yscale s [pnmfile] + pnmscale -xscale|-xsize|-width s -yscale|-ysize|-height s + [pnmfile] + pnmscale -xysize x y [pnmfile] + +2 Description + Reads a portable anymap as input. Scales it by the speci- + fied factor or factors and produces a portable anymap as + output. If the input file is in color, the output will be + too, otherwise it will be grayscale. You can both enlarge + (scale factor > 1) and reduce (scale factor < 1). + + You can specify one dimension as a pixel size, and the other + dimension will be scaled correspondingly. + + You can specify one dimension as a scale, and the other + dimension will not be scaled. + + You can specify different sizes or scales for each axis. + + Or, you can use the special -xysize flag, which fits the + image into the specified size without changing the aspect + ratio. + + All flags can be abbreviated to their shortest unique pre- + fix. + + If you enlarge by a factor of 3 or more, you should probably + add a pnmsmooth step; otherwise, you can see the original + pixels in the resulting image. + +2 See_Also + pbmreduce, pnmenlarge, pnmsmooth, pnm + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 pnmtile + pnmtile - replicate a portable anymap into a specified size + +2 Synopsis + pnmtile width height [pnmfile] + +2 Description + Reads a portable anymap as input. Replicates it until it is + the specified size, and produces a portable anymap as out- + put. + +2 See_Also + pnm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pnmtoddif + pnmtoddif - Convert a portable anymap to DDIF format + +2 Synopis + pnmtoddif pnmtoddif [-resolution x y] [pnmfile [ddiffile]] + +2 Description + pnmtoddif takes a portable anymap from standard input and + converts it into a DDIF image file on standard output or the + specified DDIF file. + + pbm format (bitmap) data is written as 1 bit DDIF, pgm for- + mat data (greyscale) as 8 bit greyscale DDIF, and ppm format + data is written as 8,8,8 bit color DDIF. All DDIF image + files are written as uncompressed. The data plane organiza- + tion is interleaved by pixel. + + In addition to the number of pixels in the width and height + dimension, DDIF images also carry information about the size + that the image should have, that is, the physical space that + a pixel occupies. PBMPLUS images do not carry this informa- + tion, hence it has to be externally supplied. The default + of 78 dpi has the beneficial property of not causing a + resize on most Digital Equipment Corporation color monitors. + +2 Options + resolution + The horizontal and vertical resolution of the output + image in dots per inch. Defaults to 78 dpi. + + pnmfile The filename for the image file in pnm for- + mat. If this argument is omitted, input is + read from stdin. + + ddiffile The filename for the image file to be created + in DDIF format. If this argument is omitted, + the ddiffile is written to standard output. + It can only specified if a pnmfile is also + specified. + +2 Author + Burkhard Neidecker-Lutz + Digital Equipment Corporation, CEC Karlsruhe + neideck@nestvx.enet.dec.com + +1 pnmtops + pnmtops - convert portable anymap to PostScript + +2 Synopsis + pnmtops [-scale s] [-turn|-noturn] [-rle|-runlength] [-dpi + n] [-width n] [-height n] [pnmfile] + +2 Description + Reads a portable anymap as input. Produces Encapsulated + PostScript as output. + + If the input file is in color (PPM), a color PostScript file + gets written. Some PostScript interpreters can't handle + color PostScript. If you have one of these you will need to + run your image through ppmtopgm first. + + Note that there is no pstopnm tool - this transformation is + one-way, because a pstopnm tool would be a full-fledged + PostScript interpreter, which is beyond the scope of this + package. However, see the psidtopgm tool, which can read + grayscale non-runlength PostScript image data. Also, if + you're willing to install the fairly large GhostScript pack- + age, it comes with a pstoppm script. + +2 Options + The -scale flag controls the scale of the result. The + default scale is 1, which on a 300 dpi printer such as the + Apple LaserWriter makes the output look about the same size + as the input would if it was displayed on a typical 72 dpi + screen. To get one PNM pixel per 300 dpi printer pixel, use + "-scale 0.25". + + The -turn and -noturn flags control whether the image gets + turned 90 degrees. Normally, if an image is wider than it + is tall, it gets turned automatically to better fit the + page. If the -turn flag is specified, it will be turned no + matter what its shape; and if the -noturn flag is specified, + it will not be turned no matter what its shape. + + The -rle or -runlength flag specifies run-length compres- + sion. This may save time if the host-to-printer link is + slow; but normally the printer's processing time dominates, + so -rle makes things slower. + + The -dpi flag lets you specify the dots per inch of your + output device. The default is 300 dpi. In theory + PostScript is device-independent and you don't have to worry + about this, but in practice its raster rendering can have + unsightly bands if the device pixels and the image pixels + aren't in sync. + + The -width and -height flags let you specify the size of the + page. The default is 8.5 inches by 11 inches. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pnm, psidtopgm + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 pnmtorast + pnmtorast - convert a portable pixmap into a Sun rasterfile + +2 Synopsis + pnmtorast [-standard|-rle] [pnmfile] + +2 Description + Reads a portable pixmap as input. Produces a Sun rasterfile + as output. + + Color values in Sun rasterfiles are eight bits wide, so + pnmtorast will automatically scale colors to have a maxval + of 255. An extra pnmdepth step is not necessary. + +2 Options + The -standard flag forces the result to be in RT_STANDARD + form; the -rle flag, RT_BYTE_ENCODED, which is smaller but, + well, less standard. The default is -rle. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + rasttopnm, pnm + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 pnmtoxwd + pnmtoxwd - convert a portable anymap into an X11 window dump + +2 Synopsis + pnmtoxwd [-pseudodepth n] [-directcolor] [pnmfile] + +2 Description + Reads a portable anymap as input. Produces an X11 window + dump as output. This window dump can be displayed using the + xwud tool. + + Normally, pnmtoxwd produces a StaticGray dump file for pbm + and pgm files. For ppm, it writes a PseudoColor dump file + if there are up to 256 colors in the input, and a + DirectColor dump file otherwise. The -directcolor flag can + be used to force a DirectColor dump. And the -pseudodepth + flag can be used to change the depth of PseudoColor dumps + from the default of 8 bits / 256 colors. + +2 See_Also + xwdtopnm, pnm, xwud + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 rasttopnm + rasttopnm - convert a Sun rasterfile into a portable anymap + +2 Synopsis + rasttopnm [rastfile] + +2 Description + Reads a Sun rasterfile as input. Produces a portable anymap + as output. The type of the output file depends on the input + file - if it's black & white, a pbm file is written, else if + it's grayscale a pgm file, else a ppm file. The program + tells you which type it is writing. + +2 See_Also + pnmtorast, pnm + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 xwdtopnm + xwdtopnm - convert a X11 or X10 window dump file into a + portable anymap + +2 Synopsis + xwdtopnm [xwdfile] + +2 Description + Reads a X11 or X10 window dump file as input. Produces a + portable anymap as output. The type of the output file + depends on the input file - if it's black & white, a pbm + file is written, else if it's grayscale a pgm file, else a + ppm file. The program tells you which type it is writing. + + Using this program, you can convert anything on an X + workstation's screen into an anymap. Just display whatever + you're interested in, do an xwd, run it through xwdtopnm, + and then use pnmcut to select the part you want. + +2 Bugs + I haven't tested this tool with very many configurations, so + there are probably bugs. Please let me know if you find + any. + +2 See_Also + pnmtoxwd, pnm, xwd + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 zeisstopnm + zeisstopnm - convert a Zeiss confocal file into a portable + anymap + +2 Synopsis + zeisstopnm [-pgm | -ppm] [zeissfile] + +2 Description + Reads a Zeiss confocal file as input. Produces a portable + anymap as output. The type of the output file depends on + the input file - if it's grayscale a pgm file, else a ppm + file will be produced. The program tells you which type it + is writing. + +2 Options + -pgm Force the output to be a pgm file. + + -ppm Force the output to be a ppm file. + +2 See_Also + pnm + +2 Author + Copyright (C) 1993 by Oliver Trepte + +1 pnmgamma + pnmgamma - perform gamma correction on a portable anymap + +2 Synopsis + pnmgamma value [pnmfile] + pnmgamma redvalue greenvalue bluevalue [pnmfile] + +2 Description + Reads a portable anymap as input. Performs gamma correc- + tion, and produces a portable anymap as output. + + The arguments specify what gamma value(s) to use. A value + of 1.0 leaves the image alone, less than one darkens it, and + greater than one lightens it. + +2 See_Also + pnm + +2 Author + Copyright (C) 1991 by Bill Davidson and Jef Poskanzer. + +1 pnmhistmap + pnmhistmap - draw a histogram for a PGM or PPM file + +2 Synopsis + pnmhistmap [-black] [-white] [-max N] [-verbose] [pnmfile] + +2 Description + Reads a portable anymap as input, although bitmap (PBM) + input produces an error message and no image. Produces an + image showing a histogram of the color (or gray) values in + the input. A graymap (PGM) input produces a bitmap output. + A pixmap (PPM) input produces pixmap output with three over- + laid histograms: a red one for the red input, a green one + for the green input, and a blue one for the blue input. The + output is fixed in size: 256 pixels wide by 200 pixels high. + +2 Options + -black + Ignores the count of black pixels when scaling the his- + togram. + + -white + Ignores the count of white pixels when scaling the his- + togram. + + The -black and -white options, which can be used seperately + or together, are useful for images with a large percentage + of pixels whose value is zero or 255, which can cause the + remaining histogram data to become unreadbaly small. Note + that, for pixmap inputs, these options apply to all colors; + if, for example, the input has a large number of bright-red + areas, you will probably want to use the -white option. + + -max N + Force the scaling of the histogram to use N as the + largest-count value. This is useful for inputs with a + large percentage of single-color pixels which are not + black or white. + + -verbose + Report the progress of making the histogram, including + the largest-count value used to scale the output. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 Bugs + Assumes maxval is always 255. Images with a smaller maxval + will only use the lower-value side of the histogram. This + can be overcome either by piping the input through "pnmdepth + 255" or by cutting and scaling the lower-value side of the + histogram. Neither is a particularly elegant solution. + Should allow the output size to be specified. + +2 See_Also + pgmhist(1), ppmhist(1), pgm(5), ppm(5) + +2 Author + Wilson H. Bent. Jr. (whb@usc.edu). + +1 pnmnlfilt + pnmnlfilt - non-linear filters: smooth, alpha trim mean, + optimal estimation smoothing, edge enhancement. + +2 Synopsis + pnmnlfilt alpha radius [pnmfile] + +2 Description + This is something of a swiss army knife filter. It has 3 + distinct operating modes. In all of the modes each pixel in + the image is examined and processed according to it and its + surrounding pixels values. Rather than using the 9 pixels in + a 3x3 block, 7 hexagonal area samples are taken, the size of + the hexagons being controlled by the radius parameter. A + radius value of 0.3333 means that the 7 hexagons exactly fit + into the center pixel (ie. there will be no filtering + effect). A radius value of 1.0 means that the 7 hexagons + exactly fit a 3x3 pixel array. + + Alpha trimmed mean filter. (0.0 <= alpha + The value of the center pixel will be replaced by the mean + of the 7 hexagon values, but the 7 values are sorted by size + and the top and bottom alpha portion of the 7 are excluded + from the mean. This implies that an alpha value of 0.0 + gives the same sort of output as a normal convolution (ie. + averaging or smoothing filter), where radius will determine + the "strength" of the filter. A good value to start from for + subtle filtering is alpha = 0.0, radius = 0.55 For a more + blatant effect, try alpha 0.0 and radius 1.0 + + An alpha value of 0.5 will cause the median value of the 7 + hexagons to be used to replace the center pixel value. This + sort of filter is good for eliminating "pop" or single pixel + noise from an image without spreading the noise out or + smudging features on the image. Judicious use of the radius + parameter will fine tune the filtering. Intermediate values + of alpha give effects somewhere between smoothing and "pop" + noise reduction. For subtle filtering try starting with + values of alpha = 0.4, radius = 0.6 For a more blatant + effect try alpha = 0.5, radius = 1.0 + + Optimal estimation smoothing. (1.0 <= alpha + This type of filter applies a smoothing filter adaptively + over the image. For each pixel the variance of the sur- + rounding hexagon values is calculated, and the amount of + smoothing is made inversely proportional to it. The idea is + that if the variance is small then it is due to noise in the + image, while if the variance is large, it is because of + "wanted" image features. As usual the radius parameter con- + trols the effective radius, but it probably advisable to + leave the radius between 0.8 and 1.0 for the variance calcu- + lation to be meaningful. The alpha parameter sets the noise + threshold, over which less smoothing will be done. This + means that small values of alpha will give the most subtle + filtering effect, while large values will tend to smooth all + parts of the image. You could start with values like alpha = + 1.2, radius = 1.0 and try increasing or decreasing the alpha + parameter to get the desired effect. This type of filter is + best for filtering out dithering noise in both bitmap and + color images. + + Edge enhancement. (-0.1 >= alpha >= + This is the opposite type of filter to the smoothing filter. + It enhances edges. The alpha parameter controls the amount + of edge enhancement, from subtle (-0.1) to blatant (-0.9). + The radius parameter controls the effective radius as usual, + but useful values are between 0.5 and 0.9. Try starting with + values of alpha = 0.3, radius = 0.8 + + Combination use. + The various modes of pnmnlfilt can be used one after the + other to get the desired result. For instance to turn a + monochrome dithered image into a grayscale image you could + try one or two passes of the smoothing filter, followed by a + pass of the optimal estimation filter, then some subtle edge + enhancement. Note that using edge enhancement is only likely + to be useful after one of the non-linear filters (alpha + trimmed mean or optimal estimation filter), as edge enhance- + ment is the direct opposite of smoothing. + + For reducing color quantization noise in images (ie. turning + .gif files back into 24 bit files) you could try a pass of + the optimal estimation filter (alpha 1.2, radius 1.0), a + pass of the median filter (alpha 0.5, radius 0.55), and pos- + sibly a pass of the edge enhancement filter. Several passes + of the optimal estimation filter with declining alpha values + are more effective than a single pass with a large alpha + value. As usual, there is a tradeoff between filtering + effectiveness and loosing detail. Experimentation is + encouraged. + +2 References + The alpha-trimmed mean filter is based on the description in + IEEE CG&A May 1990 Page 23 by Mark E. Lee and Richard A. + Redner, and has been enhanced to allow continuous alpha + adjustment. + + The optimal estimation filter is taken from an article "Con- + verting Dithered Images Back to Gray Scale" by Allen + Stenger, Dr Dobb's Journal, November 1992, and this article + references "Digital Image Enhancement and Noise Filtering by + Use of Local Statistics", Jong-Sen Lee, IEEE Transactions on + Pattern Analysis and Machine Intelligence, March 1980. + The edge enhancement details are from pgmenhance, which + is taken from Philip R. Thompson's "xim" program, which in + turn took it from section 6 of "Digital Halftones by Dot + Diffusion", D. E. Knuth, ACM Transaction on Graphics Vol. 6, + No. 4, October 1987, which in turn got it from two 1976 + papers by J. F. Jarvis et. al. + +2 See_Also + pgmenhance, pnmconvol, pnm + +2 Bugs + Integers and tables may overflow if PPM_MAXMAXVAL is greater + than 255. + +2 Author + Graeme W. Gill graeme@labtam.oz.au + +1 pnmrotate + pnmrotate - rotate a portable anymap by some angle + +2 Synopsis + pnmrotate [-noantialias] angle [pnmfile] + +2 Description + Reads a portable anymap as input. Rotates it by the speci- + fied angle and produces a portable anymap as output. If the + input file is in color, the output will be too, otherwise it + will be grayscale. The angle is in degrees (floating + point), measured counter-clockwise. It can be negative, but + it should be between -90 and 90. Also, for rotations + greater than 45 degrees you may get better results if you + first use pnmflip to do a 90 degree rotation and then pnmro- + tate less than 45 degrees back the other direction + + The rotation algorithm is Alan Paeth's three-shear method. + Each shear is implemented by looping over the source pixels + and distributing fractions to each of the destination pix- + els. This has an "anti-aliasing" effect - it avoids jagged + edges and similar artifacts. However, it also means that + the original colors or gray levels in the image are modi- + fied. If you need to keep precisely the same set of colors, + you can use the -noantialias flag. This does the shearing + by moving pixels without changing their values. If you want + anti-aliasing and don't care about the precise colors, but + still need a limited *number* of colors, you can run the + result through ppmquant. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 References + "A Fast Algorithm for General Raster Rotation" by Alan + Paeth, Graphics Interface '86, pp. 77-81. + +2 See_Also + pnmshear, pnmflip, pnm, ppmquant + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 pnmshear + pnmshear - shear a portable anymap by some angle + +2 Synopsis + pnmshear [-noantialias] angle [pnmfile] + +2 Description + Reads a portable anymap as input. Shears it by the speci- + fied angle and produces a portable anymap as output. If the + input file is in color, the output will be too, otherwise it + will be grayscale. The angle is in degrees (floating + point), and measures this: + +-------+ +-------+ + | | |\ \ + | OLD | | \ NEW \ + | | |an\ \ + +-------+ |gle+-------+ + If the angle is negative, it shears the other way: + +-------+ |-an+-------+ + | | |gl/ / + | OLD | |e/ NEW / + | | |/ / + +-------+ +-------+ + The angle should not get too close to 90 or -90, or the + resulting anymap will be unreasonably wide. + + The shearing is implemented by looping over the source pix- + els and distributing fractions to each of the destination + pixels. This has an "anti-aliasing" effect - it avoids + jagged edges and similar artifacts. However, it also means + that the original colors or gray levels in the image are + modified. If you need to keep precisely the same set of + colors, you can use the -noantialias flag. This does the + shearing by moving pixels without changing their values. If + you want anti-aliasing and don't care about the precise + colors, but still need a limited *number* of colors, you can + run the result through ppmquant. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pnmrotate, pnmflip, pnm, ppmquant + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 tifftopnm + tifftopnm - convert a TIFF file into a portable anymap + +2 Synopsis + tifftopnm [-headerdump] tifffile + +2 Description + Reads a TIFF file as input. Produces a portable anymap as + output. The type of the output file depends on the input + file - if it's black & white, a pbm file is written, else if + it's grayscale a pgm file, else a ppm file. The program + tells you which type it is writing. + +2 Options + -headerdump + Dump TIFF file information to stderr. This information + may be useful in debugging TIFF file conversion prob- + lems. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + pnmtotiff, pnm + +2 Bugs + This program is not self-contained. To use it you must + fetch the TIFF Software package listed in the OTHER.SYSTEMS + file and configure PBMPLUS to use libtiff. See PBMPLUS's + Makefile for details on this configuration. + +2 Author + Derived by Jef Poskanzer from tif2ras.c, which is Copyright + (c) 1990 by Sun Microsystems, Inc. Author: Patrick J. + Naughton (naughton@wind.sun.com). + +1 pnmtotiff + pnmtotiff - convert a a portable anymap into a TIFF file + +2 Synopsis + pnmtotiff [-none|-packbits| -lzw|-g3|-g4] [-2d] [-fill] [- + predictor n] [-msb2lsb|-lsb2msb] [-rowsperstrip n] [pnmfile] + +2 Description + Reads a portable anymap as input. Produces a TIFF file as + output. + +2 Options + By default, pnmtotiff creates a TIFF file with LZW compres- + sion. This is your best bet most of the time. However, + some TIFF readers can't deal with it. If you want to try + another compression scheme or tweak some of the other even + more obscure output options, there are a number of flags to + play with. + + The -none, -packbits, -lzw, -g3, and -g4 options are used to + override the default and set the compression scheme used in + creating the output file. The CCITT Group 3 and Group 4 + compression algorithms can only be used with bilevel data. + The -2d and -fill options are meaningful only with Group 3 + compression: -2d requests 2-dimensional encoding, while - + fill requests that each encoded scanline be zero-filled to a + byte boundry. The -predictor option is only meaningful with + LZW compression: a predictor value of 2 causes each scanline + of the output image to undergo horizontal differencing + before it is encoded; a value of 1 forces each scanline to + be encoded without differencing. By default, pnmtotiff + creates a TIFF file with msb-to-lsb fill order. The - + msb2lsb and -lsb2msb options are used to override the + default and set the fill order used in creating the file. + The -rowsperstrip option can be used to set the number of + rows (scanlines) in each strip of data in the output file. + By default, the output file has the number of rows per strip + set to a value that will ensure each strip is no more than 8 + kilobytes long. + +2 Bugs + This program is not self-contained. To use it you must + fetch the TIFF Software package listed in the OTHER.SYSTEMS + file and configure PBMPLUS to use libtiff. See PBMPLUS's + Makefile for details on this configuration. + +2 See_Also + tifftopnm, pnm + +2 Author + Derived by Jef Poskanzer from ras2tiff.c, which is Copyright + (c) 1990 by Sun Microsystems, Inc. Author: Patrick J. + Naughton (naughton@wind.sun.com). + +1 libpnm + libpnm - functions to support portable anymap programs + +2 Synopsis + #include + cc ... libpnm.a libppm.a libpgm.a libpbm.a + + +2 Description + TYPES AND CONSTANTS + typedef ... xel; + typedef ... xelval; + #define PNM_MAXMAXVAL ... + extern xelval pnm_pbmmaxval; + + Each xel contains three xelvals, each of which should con- + tain only the values between 0 and PNM_MAXMAXVAL. + pnm_pbmmaxval is the maxval used when a PNM program reads a + PBM file. Normally it is 1; however, for some programs, a + larger value gives better results. + + XEL MANIPULATIONS + xelval PNM_GET1( xel x ) + + This macro extracts a single value from an xel, when you + know it's from a PBM or PGM file. When it's from a PPM + file, use PPM_GETR(), PPM_GETG(), and PPM_GETB(). + + void PNM_ASSIGN1( xel x, xelval v ) + + This macro assigns a single value to an xel, when you know + it's from a PBM or PGM file. When it's from a PPM file, use + PPM_ASSIGN(). + + int PNM_EQUAL( xel x, xel y ) + + This macro checks two xels for equality. + + int PNM_FORMAT_TYPE( int format ) + + For distinguishing different file types. + + INITIALIZATION + void pnm_init( int* argcP, char* argv[] ) + + All PNM programs must call this routine. + + MEMORY MANAGEMENT + xel** pnm_allocarray( int cols, int rows ) + + Allocate an array of xels. + xel* pnm_allocrow( int cols ) + + Allocate a row of the given number of xels. + + void pnm_freearray( xel** xels, int rows ) + + Free the array allocated with pnmllocarray() containing + the given number of rows. + + void pnm_freerow( xel* xelrow ) + + Free a row of xels. + + READING FILES + void pnm_readpnminit( FILE* fp, int* colsP, int* rowsP, xelval* maxvalP, int* formatP ) + + Read the header from a PNM file, filling in the rows, cols, + maxval and format variables. + + void pnm_readpnmrow( FILE* fp, xel* xelrow, int cols, xelval maxval, int format ) + + Read a row of xels into the xelrow array. Format, cols, and + maxval were filled in by pnm_readpnminit(). + + xel** pnm_readpnm( FILE* fp, int* colsP, int* rowsP, xelval* maxvalP, int* formatP ) + + Read an entire anymap file into memory, returning the allo- + cated array and filling in the rows, cols, maxval, and for- + mat variables. This function combines pnm_readpnminit(), + pnm_allocarray() and pnm_readpnmrow(). Unlike the + equivalent functions in PBM, PGM, and PPM, it returns the + format so you can tell what type the file is. + + WRITING FILES + void pnm_writepnminit( FILE* fp, int cols, int rows, xelval maxval, int format, int forceplain ) + + Write the header for a portable anymap file. Unlike the + equivalent functions in PBM, PGM, and PPM, you have to + specify the output type. The forceplain flag forces a + plain-format file to be written, as opposed to a raw-format + one. + + void pnm_writepnmrow( FILE* fp, xel* xelrow, int cols, xelval maxval, int format, int forceplain ) + + Write a row from a portable anymap. + + void pnm_writepnm( FILE* fp, xel** xels, int cols, int rows, xelval maxval, int format, int forceplain ) + + Write the header and all data for a portable anymap. This + function combines pnm_writepnminit() and pnm_writepnmrow(). + + FORMAT PROMOTION + void pnm_promoteformatrow( xel* xelrow, int cols, xelval maxval, int format, xelval newmaxval, int newformat ) + + Promote a row of xels from one maxval and format to a new + set. Used when combining multiple anymaps of different + types - just take the max of the maxvals and the max of the + formats, and promote them all to that. + + void pnm_promoteformat( xel** xels, int cols, int rows, xelval maxval, int format, xelval newmaxval, int newformat ) + + Promote an entire anymap. + + XEL MANIPULATION + xel pnm_whitexel( xelval maxval, int format ) + xel pnm_blackxel( xelval maxval, int format ) + + Return a white or black xel for the given maxval and format. + + void pnm_invertxel( xel* x, xelval maxval, int format ) + + Invert an xel. + + xel pnm_backgroundxelrow( xel* xelrow, int cols, xelval maxval, int format ) + + Figure out an appropriate background xel based on this row. + + xel pnm_backgroundxel( xel** xels, int cols, int rows, xelval maxval, int format ) + + Figure out a background xel based on an entire anymap. This + can do a slightly better job than pnm_backgroundxelrow(). + +2 See_Also + pbm, pgm, ppm + +2 Author + Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer. + +1 pnm + pnm - portable anymap file format + +2 Description + The pnm programs operate on portable bitmaps, graymaps, and + pixmaps, produced by the pbm, pgm, and ppm segments. There + is no file format associated with pnm itself. + +2 See_Also + anytopnm, rasttopnm, tifftopnm, xwdtopnm, pnmtops, pnmtorast, + pnmtotiff, pnmtoxwd, pnmar- ith, pnmcat, pnmconvol, pnmcrop, pnmcut, + pnmdepth, pnmenlarge, pnmfile, pnmflip, pnmgamma, pnmindex, + pnminvert, pnmmargin, pnmnoraw, pnmpaste, pnmrotate, pnmscale, + pnmshear, pnmsmooth, pnmtile, ppm, pgm, pbm + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. +1 bmptoppm + bmptoppm - convert a BMP file into a portable pixmap + +2 Synopsis + bmptoppm [bmpfile] + +2 Description + Reads a Microsoft Windows or OS/2 BMP file as input. Pro- + duces a portable pixmap as output. + +2 See_Also + ppmtobmp, ppm + +2 Author + Copyright (C) 1992 by David W. Sanderson. + +1 gouldtoppm + gouldtoppm - convert Gould scanner file into a portable pix- + map + +2 Synopsis + gouldtoppm [gouldfile] + +2 Description + Reads a file produced by the Gould scanner as input. Pro- + duces a portable pixmap as output. + +2 See_Also + ppm + +2 Author + Copyright(C) 1990 by Stephen Paul Lesniewski + +1 ilbmtoppm + ilbmtoppm - convert an ILBM file into a portable pixmap + +2 Synopsis + ilbmtoppm [-verbose] [ILBMfile] + +2 Description + Reads an IFF ILBM file as input. Produces a portable pixmap + as output. Supported ILBM types are: + + Normal ILBMs with 1-16 planes. + + Amiga Extra-Halfbrite (EHB) + + Amiga Hold-and-modify (HAM) with 3-16 planes. + + 24 bit. + + Color map (BMHD + CMAP chunk only, nPlanes = 0). + + Unofficial direct color. + 1-16 planes for each color component. + + Chunks used: + BMHD, CMAP, CAMG (only HAM & EHB flags used), BODY + unofficial DCOL chunk to identify direct color ILBM + + Chunks ignored: + GRAB, DEST, SPRT, CRNG, CCRT, CLUT, DPPV, DRNG, EPSF + + Other chunks (ignored but displayed in verbose mode): + NAME, AUTH, (c), ANNO, DPI + + Unknown chunks are skipped. + +2 Options + -verbose + Give some informaton about the ILBM file. + +2 Bugs + Probably. + +2 References + Amiga ROM Kernel Reference Manual - Devices (3rd Ed.) + Addison Wesley, ISBN 0-201-56775-X + +2 See_Also + ppm(5), ppmtoilbm(1) + +2 Authors + Copyright (C) 1989 by Jef Poskanzer. + Modified June 1993 by Ingo Wilken + (Ingo.Wilken@informatik.uni-oldenburg.de) + +1 imgtoppm + imgtoppm - convert an Img-whatnot file into a portable pix- + map + +2 Synopsis + imgtoppm [imgfile] + +2 Description + Reads an Img-whatnot file as input. Produces a portable + pixmap as output. The Img-whatnot toolkit is available for + FTP on venera.isi.edu, along with numerous images in this + format. + +2 See_Also + ppm + +2 Author + Based on a simple conversion program posted to comp.graphics + by Ed Falk. + + Copyright (C) 1989 by Jef Poskanzer. + +1 mtvtoppm + mtvtoppm - convert output from the MTV or PRT ray tracers + into a portable pixmap + +2 Synopsis + mtvtoppm [mtvfile] + +2 Description + Reads an input file from Mark VanDeWettering's MTV ray + tracer. Produces a portable pixmap as output. + + The PRT raytracer also produces this format. + +2 See_Also + ppm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 pcxtoppm + pcxtoppm - convert a PCX file into a portable pixmap + +2 Synopsis + pcxtoppm [pcxfile] + +2 Description + Reads a PCX file as input. Produces a portable pixmap as + output. + +2 See_Also + ppmtopcx, ppm + +2 Author + Copyright (C) 1990 by Michael Davidson. + +1 pgmtoppm + pgmtoppm - colorize a portable graymap into a portable pix- + map + +2 Synopsis + pgmtoppm colorspec [pgmfile] + pgmtoppm colorspec1-colorspec2 [pgmfile] + pgmtoppm -map mapfile [pgmfile] + +2 Description + Reads a portable graymap as input. Colorizes it by multi- + plying the the gray values by specified color or colors, and + produces a portable pixmap as output. + + If only one color is specified, black in the pgm file stays + black and white in the pgm file turns into the specified + color in the ppm file. If two colors (separated by a dash) + are specified, then black gets mapped to the first color and + white gets mapped to the second. + + The color can be specified in five ways: + + o A name, assuming that a pointer to an X11-style color + names file was compiled in. + + o An X11-style hexadecimal specifier: rgb:r/g/b, where r + g and b are each 1- to 4-digit hexadecimal numbers. + + o An X11-style decimal specifier: rgbi:r/g/b, where r g + and b are floating point numbers between 0 and 1. + + o For backwards compatibility, an old-X11-style hexade- + cimal number: #rgb, #rrggbb, #rrrgggbbb, or + #rrrrggggbbbb. + + o For backwards compatibility, a triplet of numbers + separated by commas: r,g,b, where r g and b are float- + ing point numbers between 0 and 1. (This style was + added before MIT came up with the similar rgbi style.) + + Also, the -map flag lets you specify an entire colormap to + be used. The mapfile is just a ppm file; it can be any + shape, all that matters is the colors in it and their order. + In this case, black gets mapped into the first color in the + map file, and white gets mapped to the last. + +2 See_Also + rgb3toppm, ppmtopgm, ppmtorgb3, ppm, pgm + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 pi1toppm + pi1toppm - convert an Atari Degas .pi1 into a portable pix- + map + +2 Synopsis + pi1toppm [pi1file] + +2 Description + Reads an Atari Degas .pi1 file as input. Produces a port- + able pixmap as output. + +2 See_Also + ppmtopi1, ppm, pi3topbm, pbmtopi3 + +2 Author + Copyright (C) 1991 by Steve Belczyk (seb3@gte.com) and Jef + Poskanzer. + +1 picttoppm + picttoppm - convert a Macintosh PICT file into a portable + pixmap + +2 Synopsis + picttoppm [-verbose] [-fullres] [-noheader] [pictfile] + +2 Description + Reads a PICT file (version 1 or 2) and outputs a portable + pixmap. Useful as the first step in converting a scanned + image to something that can be displayed on Unix. + +2 Options + -fullres + Force any images in the PICT file to be output with at + least their full resolution. A PICT file may indicate + that a contained image is to be scaled down before out- + put. This option forces images to retain their sizes + and prevent information loss. + + -noheader + Do not skip the 512 byte header that is present on all + PICT files. This is useful when you have PICT data + that was not stored in the data fork of a PICT file. + + -verbose + Turns on verbose mode which prints a a whole bunch of + information that only picttoppm hackers really care + about. + +2 Bugs + The PICT file format is a general drawing format. picttoppm + only supports a small subset of its operations but is still + very useful for files produced by scanning software. In + particular, text added to a scanned image will be silently + ignored. + +2 See_Also + Inside Macintosh volume 5, ppmtopict, ppm + +2 Author + Copyright 1989 George Phillips + +1 pjtoppm + pjtoppm - convert an HP PaintJet file to a portable pixmap + +2 Synopsis + pjtoppm [paintjet] + +2 Description + Reads an HP PaintJet file as input and converts it into a + portable pixmap. This was a quick hack to save some trees, + and it only handles a small subset of the paintjet commands. + In particular, it will only handle enough commands to con- + vert most raster image files. + +REFERENCES + HP PaintJet XL Color Graphics Printer User's Guide + +2 See_Also + ppmtopj + +2 Author + Copyright (C) 1991 by Christos Zoulas. + +1 ppm3d + ppm3d - convert two portable pixmap into a red/blue 3d + glasses pixmap + +2 Synopsis + ppm3d leftppmfile rightppmfile [horizontal offset] + +2 Description + Reads two portable pixmaps as input. Produces a portable + pixmap as output, with the images overlapping by + horizontal offset + + pixels in blue/red format. + + horizontal offset defaults to 30 pixels. Pixmaps MUST be + the same size. + +2 See_Also + ppm(5) + +2 Author + Copyright (C) 1993 by David K. Drum. + +1 ppmbrighten + ppmbrighten - change an images Saturation and Value from an + HSV map + +2 Synopsis + ppmbrighten [-n] [-s <+- saturation>] [-v <+- value>] + + +2 Description + Reads a portable pixmap as input. Converts the image from + RGB space to HSV space and changes the Value by <+- value> + as a percentage. Likewise with the Saturation. Doubling + the Value would involve + + ppmbrighten -v 100 + + to add 100 percent to the Value. + + The 'n' option normalizes the Value to exist between 0 and 1 + (normalized). + +2 See_Also + pgmnorm, ppm + +2 Notes + This program does not change the number of colors. + +2 Author + Copyright (C) 1990 by Brian Moffet Copyright (C) 1989 by Jef + Poskanzer. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting docu- + mentation. This software is provided "as is" without + express or implied warranty. + +1 ppmchange + ppmchange - change all pixels of one color to another in a + portable pixmap + +2 Synopsis + ppmchange colorspec1 colorspec2 [ppmfile] + +2 Description + Reads a portable pixmap as input. Changes all pixels of + colorspec1 to colorspec2, leaving all others unchanged. + + The color can be specified in five ways: + + o A name, assuming that a pointer to an X11-style color + names file was compiled in. + + o An X11-style hexadecimal specifier: rgb:r/g/b, where r + g and b are each 1- to 4-digit hexadecimal numbers. + + o An X11-style decimal specifier: rgbi:r/g/b, where r g + and b are floating point numbers between 0 and 1. + + o For backwards compatibility, an old-X11-style hexade- + cimal number: #rgb, #rrggbb, #rrrgggbbb, or + #rrrrggggbbbb. + + o For backwards compatibility, a triplet of numbers + separated by commas: r,g,b, where r g and b are float- + ing point numbers between 0 and 1. (This style was + added before MIT came up with the similar rgbi style.) + +2 See_Also + pgmtoppm(1), ppm(5) + +2 Author + Wilson H. Bent. Jr. (whb@usc.edu) + +1 ppmdim + ppmdim - dim a portable pixmap down to total blackness + +2 Synopsis + ppmdim dimfactor [ppmfile] + +2 Description + Reads a portable pixmap as input. Diminishes its brightness by + the specified dimfactor down to total blackness. The dimfactor + may be in the range from 0.0 (total blackness, deep night, nada, + null, nothing) to 1.0 (original picture's brightness). + + As pnmgamma does not do the brightness correction in the way I + wanted it, this small program was written. + + ppmdim is similar to ppmbrighten , but not exactly the same. + +2 See_Also + ppm(5), ppmflash(1), pnmgamma(1), ppmbrighten(1) + +2 Author + Copyright (C) 1993 by Frank Neumann + +1 ppmdist + ppmdist - simplistic grayscale assignment for machine generated, + color images + +2 Synopsis + ppmdist [-intensity|-frequency] [ppmfile] + +2 Description + Reads a portable pixmap as input, performs a simplistic + grayscale assignment intended for use with grayscale or bit- + map printers. + + Often conversion from ppm to pgm will yield an image with + contrast too low for good printer output. The program max- + imizes contrast between the gray levels output. + + A ppm input of n colors is read, and a pgm of n gray levels + is written. The gray levels take on the values 0..n-1, + while maxval takes on n-1. + + The mapping from color to stepped grayscale can be performed + in order of input pixel intensity, or input pixel frequency + (number of repetitions). + +2 Options + Helpful only for images with a very small number of colors. + Perhaps should have been an option to ppmtopgm. + +2 See_Also + ppmtopgm, ppmhist, ppm + +2 Author + Copyright (C) 1993 by Dan Stromberg. + +1 ppmdither + ppmdither - ordered dither for color images + +2 Synopsis + ppmdither [-dim dimension] [-red shades] [-green shades] [- + blue shades] [ppmfile] + +2 Description + Reads a portable pixmap as input, and applies dithering to + it to reduce the number of colors used down to the specified + number of shades for each primary. The default number of + shades is red=5, green=9, blue=5, for a total of 225 colors. + To convert the image to a binary rgb format suitable for + color printers, use -red 2 -green 2 -blue 2. The maximum + number of colors that can be used is 256 and can be computed + as the product of the number of red, green and blue shades. + +2 Options + -dim dimension + The size of the dithering matrix. Must be a + power of 2. + + -red shades The number of red shades to be used; minimum + of 2. + + -green shades The number of green shades to be used; minimum + of 2. + + -blue shades The number of blue shades to be used; minimum + of 2. + +2 See_Also + pnmdepth, ppmquant, ppm + +2 Author + Copyright (C) 1991 by Christos Zoulas. + +1 ppmflash + ppmflash - brighten a picture up to complete white-out + +2 Synopsis + ppmflash flashfactor [ppmfile] + +2 Description + Reads a portable pixmap as input. Increases its brightness by + the specified flashfactor up to a total white-out image. The + flashfactor may be in the range from 0.0 (original picture's + brightness) to 1.0 (full white-out, The Second After). + + As pnmgamma does not do the brightness correction in the way I + wanted it, this small program was written. + + This program is similar to ppmbrighten, but not exactly the same. + +2 See_Also + ppm(5), ppmdim(1), pnmgamma(1), ppmbrighten(1) + +2 Author + Copyright (C) 1993 by Frank Neumann + +1 ppmhist + ppmhist - print a histogram of a portable pixmap + +2 Synopsis + ppmhist [ppmfile] + +2 Description + Reads a portable pixmap as input. Generates a histogram of + the colors in the pixmap. + +2 See_Also + ppm, pgmhist + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 ppmmake + ppmmake - create a pixmap of a specified size and color + +2 Synopsis + ppmmake color width height + +2 Description + Produces a portable pixmap of the specified color, width, + and height. + + The color can be specified in five ways: + + o A name, assuming that a pointer to an X11-style color + names file was compiled in. + + o An X11-style hexadecimal specifier: rgb:r/g/b, where r + g and b are each 1- to 4-digit hexadecimal numbers. + + o An X11-style decimal specifier: rgbi:r/g/b, where r g + and b are floating point numbers between 0 and 1. + + o For backwards compatibility, an old-X11-style hexade- + cimal number: #rgb, #rrggbb, #rrrgggbbb, or + #rrrrggggbbbb. + + o For backwards compatibility, a triplet of numbers + separated by commas: r,g,b, where r g and b are float- + ing point numbers between 0 and 1. (This style was + added before MIT came up with the similar rgbi style.) + +2 See_Also + ppm, pbmmake + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 ppmmix + ppmmix - blend together two portable pixmaps + +2 Synopsis + ppmmix fadefactor ppmfile1 ppmfile2 + +2 Description + Reads two portable pixmaps as input. Mixes them together using + the specified fade factor. The fade factor may be in the range + from 0.0 (only ppmfile1's image data) to 1.0 (only ppmfile2's + image data). Anything in between gains a smooth blend between + the two images. + + The two pixmaps must have the same size. + +2 See_Also + ppm(5) + +2 Author + Copyright (C) 1993 by Frank Neumann + +1 ppmquant + ppmquant - quantize the colors in a portable pixmap down to a + specified number + +2 Synopsis + ppmquant [-floyd|-fs] ncolors [ppmfile] + ppmquant [-floyd|-fs] -map mapfile [ppmfile] + +2 Description + Reads a portable pixmap as input. Chooses ncolors colors to + best represent the image, maps the existing colors to the + new ones, and writes a portable pixmap as output. + + The quantization method is Heckbert's "median cut". + + Alternately, you can skip the color-choosing step by speci- + fying your own set of colors with the -map flag. The map- + file is just a ppm file; it can be any shape, all that + matters is the colors in it. For instance, to quantize down + to the 8-color IBM TTL color set, you might use: + P3 + 8 1 + 255 + 0 0 0 + 255 0 0 + 0 255 0 + 0 0 255 + 255 255 0 + 255 0 255 + 0 255 255 + 255 255 255 + If you want to quantize one pixmap to use the colors in + another one, just use the second one as the mapfile. You + don't have to reduce it down to only one pixel of each + color, just use it as is. + + The -floyd/-fs flag enables a Floyd-Steinberg error diffu- + sion step. Floyd-Steinberg gives vastly better results on + images where the unmodified quantization has banding or + other artifacts, especially when going to a small number of + colors such as the above IBM set. However, it does take + substantially more CPU time, so the default is off. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 References + "Color Image Quantization for Frame Buffer Display" by Paul + Heckbert, SIGGRAPH '82 Proceedings, page 297. + +2 See_Also + ppmquantall, pnmdepth, ppmdither, ppm + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 ppmrelief + ppmrelief - run a Laplacian relief filter on a portable pixmap + +2 Synopsis + ppmrelief [ppmfile] + +2 Description + Reads a portable pixmap as input. Does a Laplacian relief + filter, and writes a portable pixmap as output. + + The Laplacian relief filter is described in "Beyond Photog- + raphy" by Holzmann, equation 3.19. It's a sort of edge- + detection. + +2 See_Also + pgmbentley, pgmoil, ppm + +2 Author + Copyright (C) 1990 by Wilson Bent (whb@hoh-2.att.com) + +1 ppmshift + ppmshift - shift lines of a portable pixmap left or right by a + random amount + +2 Synopsis + ppmshift shift [ppmfile] + +2 Description + Reads a portable pixmap as input. Shifts every row of image data + to the left or right by a certain amount. The 'shift' parameter + determines by how many pixels a row is to be shifted at most. + + Another one of those effects I intended to use for MPEG tests. + Unfortunately, this program will not help me here - it creates + too random patterns to be used for animations. Still, it might + give interesting results on still images. + +2 Example + Check this out: Save your favourite model's picture from + something like alt.binaries.pictures.supermodels (ok, or from any + other picture source), convert it to ppm, and process it e.g. + like this, assuming the picture is 800x600 pixels: + + # take the upper half, and leave it like it is + pnmcut 0 0 800 300 cs.ppm >upper.ppm + + # take the lower half, flip it upside down, dim it and distort + it a little + pnmcut 0 300 800 300 cs.ppm | pnmflip -tb | ppmdim 0.7 | + ppmshift 10 >lower.ppm + + # and concatenate the two pieces + pnmcat -tb upper.ppm lower.ppm >newpic.ppm The resulting + picture looks like the image being reflected on a water surface + with slight ripples. + +2 See_Also + ppm(5), pnmcut(1), pnmflip(1), ppmdim(1), pnmcat(1) + +2 Author + Copyright (C) 1993 by Frank Neumann + +1 ppmspread + ppmspread - displace a portable pixmap's pixels by a random + amount + +2 Synopsis + ppmspread amount [ppmfile] + +2 Description + Reads a portable pixmap as input. Moves every pixel around a bit + relative to its original position. amount determines by how many + pixels a pixel is to be moved around at most. + + Pictures processed with this filter will seem to be somewhat + dissolved or unfocussed (although they appear more coarse than + images processed by something like pnmconvol ). + +2 See_Also + ppm(5), pnmconvol(1) + +2 Author + Copyright (C) 1993 by Frank Neumann + +1 ppmtoacad + ppmtoacad - convert portable pixmap to AutoCAD database or slide + +2 Synopsis + ppmtoacad [-dxb] [-poly] [-background colour] [-white] [- + aspect ratio] [-8] [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces an AutoCAD(Reg.) + slide file or binary database import (.dxb) file as output. + If no ppmfile is specified, input is read from standard + input. + +2 Options + -dxb An AutoCAD binary database import (.dxb) file is writ- + ten. This file is read with the DXBIN command and, + once loaded, becomes part of the AutoCAD geometrical + database and can be viewed and edited like any other + object. Each sequence of identical pixels becomes a + separate object in the database; this can result in + very large AutoCAD drawing files. However, if you want + to trace over a bitmap, it lets you zoom and pan around + the bitmap as you wish. + + -poly + If the -dxb option is not specified, the output of + ppmtoacad is an AutoCAD slide file. Normally each row + of pixels is represented by an AutoCAD line entity. If + -poly is selected, the pixels are rendered as filled + polygons. If the slide is viewed on a display with + higher resolution than the source pixmap, this will + cause the pixels to expand instead of appearing as + discrete lines against the screen background colour. + Regrettably, this representation yields slide files + which occupy more disc space and take longer to + display. + + -background colour + Most AutoCAD display drivers can be configured to use + any available colour as the screen background. Some + users perfer a black screen background, others white, + while splinter groups advocate burnt ocher, tawny puce, + and shocking grey. Discarding pixels whose closest + AutoCAD colour representation is equal to the back- + ground colour can substantially reduce the size of the + AutoCAD database or slide file needed to represent a + bitmap. If no -background colour is specified, the + screen background colour is assumed to be black. Any + AutoCAD colour number may be specified as the screen + background; colour numbers are assumed to specify the + hues defined in the standard AutoCAD 256 colour + palette. + + -white + Since many AutoCAD users choose a white screen back- + ground, this option is provided as a short-cut. Speci- + fying -white is identical in effect to -background 7. + + -aspect ratio + If the source pixmap had non-square pixels, the ratio + of the pixel width to pixel height should be specified + as ratio. The resulting slide or .dxb file will be + corrected so that pixels on the AutoCAD screen will be + square. For example, to correct an image made for a + 320x200 VGA/MCGA screen, specify -aspect 0.8333. + + -8 Restricts the colours in the output file to the 8 RGB + shades. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 Bugs + AutoCAD has a fixed palette of 256 colours, distributed + along the hue, lightness, and saturation axes. Pixmaps + which contain many nearly-identical colours, or colours not + closely approximated by AutoCAD's palette, may be poorly + rendered. + + ppmtoacad works best if the system displaying its output + supports the full 256 colour AutoCAD palette. Monochrome, 8 + colour, and 16 colour configurations will produce less than + optimal results. + + When creating a .dxb file or a slide file with the -poly + option, ppmtoacad finds both vertical and horizontal runs of + identical pixels and consolidates them into rectangular + regions to reduce the size of the output file. This is + effective for images with large areas of constant colour but + it's no substitute for true raster to vector conversion. In + particular, thin diagonal lines are not optimised at all by + this process. + + Output files can be huge. + +2 See_Also + AutoCAD Reference Manual: Slide File Format and Binary Draw- + ing Interchange (DXB) Files, ppm + +2 Author + John Walker + Autodesk SA + Avenue des Champs-Montants 14b + CH-2074 MARIN + Suisse/Schweiz/Svizzera/Svizra/Switzerland + Usenet: kelvin@Autodesk.com + Fax: 038/33 88 15 + Voice: 038/33 76 33 + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, without any conditions or restric- + tions. This software is provided ``as is'' without express + or implied warranty. + + AutoCAD and Autodesk are registered trademarks of Autodesk, + Inc. + +1 ppmtobmp + ppmtobmp - convert a portable pixmap into a BMP file + +2 Synopsis + ppmtobmp [-windows] [-os2] [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces a Microsoft Win- + dows or OS/2 BMP file as output. + +2 Options + -windows + Tells the program to produce a Microsoft Windows BMP + file. + + -os2 Tells the program to produce an OS/2 BMP file. (This + is the default.) + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + bmptoppm, ppm + +2 Author + Copyright (C) 1992 by David W. Sanderson. + +1 ppmtogif + ppmtogif - convert a portable pixmap into a GIF file + +2 Synopsis + ppmtogif [-interlace] [-sort] [-map mapfile ] [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces a GIF file as + output. + +2 Options + -interlace + Tells the program to produce an interlaced GIF file. + + -sort + Produces a GIF file with a sorted color map. + + -map mapfile + + Uses the colors found in the mapfile to create the + colormap in the GIF file, instead of the colors from + ppmfile. The mapfile can be any ppm file; all that + matters is the colors in it. If the colors in ppmfile + do not match those in mapfile , they are matched to a + "best match". A (much) better result can be obtained by + using the following filter in advance: + + ppmquant -floyd -map mapfile + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + giftopnm, ppmquant, ppm + +2 Author + Based on GIFENCOD by David Rowley + . Lempel-Ziv compression based + on "compress". + + Copyright (C) 1989 by Jef Poskanzer. + +1 ppmtoicr + ppmtoicr - convert a portable pixmap into NCSA ICR format + +2 Synopsis + ppmtoicr [-windowname name] [-expand expand] [-display + display] [-rle] [ppmfile] + +2 Description + Reads a portable pixmap file as input. Produces an NCSA + Telnet Interactive Color Raster graphic file as output. If + ppmfile is not supplied, ppmtoicr will read from standard + input. + + Interactive Color Raster (ICR) is a protocol for displaying + raster graphics on workstation screens. The protocol is + implemented in NCSA Telnet for the Macintosh version 2.3. + The ICR protocol shares characteristics of the Tektronix + graphics terminal emulation protocol. For example, escape + sequences are used to control the display. + + ppmtoicr will output the appropriate sequences to create a + window of the dimensions of the input pixmap, create a + colormap of up to 256 colors on the display, then load the + picture data into the window. + + Note that there is no icrtoppm tool - this transformation is + one way. + +2 Options + -windownamename + Output will be displayed in name (Default is + to use ppmfile or "untitled" if standard input + is read.) + + -expandexpand Output will be expanded on display by factor + expand (For example, a value of 2 will cause + four pixels to be displayed for every input + pixel.) + + -displaydisplay + Output will be displayed on screen numbered + display + + -rle Use run-length encoded format for display. + (This will nearly always result in a quicker + display, but may skew the colormap.) + +2 Examples + To display a ppm file using the protocol: + ppmtoicr ppmfile + This will create a window named ppmfile on the display with + the correct dimensions for ppmfile, create and download a + colormap of up to 256 colors, and download the picture into + the window. The same effect may be achieved by the following + sequence: + ppmtoicr ppmfile > filename + cat filename + To display a GIF file using the protocol in a window titled + after the input file, zoom the displayed image by a factor + of 2, and run-length encode the data: + giftopnm giffile | ppmtoicr -w giffile -r -e 2 + +2 Bugs + The protocol uses frequent fflush calls to speed up display. + If the output is saved to a file for later display via cat, + drawing will be much slower. In either case, increasing the + Blocksize limit on the display will speed up transmission + substantially. + +2 See_Also + ppm + + NCSA Telnet for the Macintosh, University of Illinois at + Urbana-Champaign (1989) + +2 Author + Copyright (C) 1990 by Kanthan Pillay + (svpillay@Princeton.EDU), Princeton University Computing and + Information Technology. + +1 ppmtoilbm + ppmtoilbm - convert a portable pixmap into an ILBM file + +2 Synopsis + ppmtoilbm [-maxplanes|-mp N] [-fixplanes|-fp N] [-ham6|- + ham8] [-dcbits|-dcplanesrg [-normal|-hamif|-hamforce - + dcif|-dcforce|-cmaponly] [-ecs|-aga] [-mapppmfile] [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces an ILBM file as + output. Supported ILBM types are: + + Normal ILBMs with 1-16 planes. + + Amiga Hold-and-modify (HAM) with 3-16 planes. + + 24 bit. + + Color map (BMHD + CMAP chunk only, nPlanes = 0). + + Unofficial direct color. + 1-16 planes for each color component. + + Chunks written: + BMHD, CMAP, CAMG (only for HAM), BODY (not for colormap + files) unofficial DCOL chunk for direct color ILBM + +2 Options + Options marked with (*) can be prefixed with a "no", e.g. + "-nohamif". All options can be abbreviated to their shortest + unique prefix. + + -maxplanes | -mp n + (default 5, minimum 1, maximum 16) Maximum planes to + write in a normal ILBM. If the pixmap does not fit + into planes, ppmtoilbm writes a HAM file (if -hamif + is used), a 24bit file (if -24if is used) or a direct + color file (if -dcif is used) or aborts with an error. + + -fixplanes | -fp n + (min 1, max 16) If a normal ILBM is written, it will + have exactly planes. + + -hambits | -hamplanes n + (default 6, min 3, max 16) Select number of planes for + HAM picture. The current Amiga hardware supports 6 and + 8 planes, so for now you should only use this values. + + -normal (default) + Turns off -hamif/-24if/-dcif, -hamforce/-24force/- + dcforce and -cmaponly. + + -hamif (*) + + -24if (*) + + -dcif (*) + Write a HAM/24bit/direct color file if the pixmap does + not fit into planes. + + -hamforce (*) + + -24force (*) + + -dcforce (*) + Write a HAM/24bit/direct color file. + + -dcbits | -dcplanes r g b + (default 5, min 1, max 16). Select number of bits for + red, green & blue in a direct color ILBM. + + -ecs (default) + Shortcut for: -hamplanes 6 -maxplanes 5 + + -aga + + Shortcut for: -hamplanes 8 -maxplanes 8 + + -ham6 + + Shortcut for: -hamplanes 6 -hamforce + + -ham8 + Shortcut for: -hamplanes 8 -hamforce + + -map ppmfile + Write a normal ILBM using the colors in as + the colormap. The colormap file also determines the + number of planes, a -maxplanes or -fixplanes option is + ignored. + + -cmaponly + Write a colormap file: only BMHD and CMAP chunks, no + BODY chunk, nPlanes = 0. + +2 Bugs + Needs a real colormap selection algorithm for HAM pictures, + instead of using a grayscale colormap. + +2 References + Amiga ROM Kernel Reference Manual - Devices (3rd Ed.) + Addison Wesley, ISBN 0-201-56775-X + +2 See_Also + ppm(5), ilbmtoppm(1) + +2 Authors + Copyright (C) 1989 by Jef Poskanzer. + Modified August 1993 by Ingo Wilken + (Ingo.Wilken@informatik.uni-oldenburg.de) + +1 ppmtomitsu + ppmtomitsu - convert a portable pixmap to a Mitsubishi S340-10 file + +2 Synopsis + ppmtomitsu [-sharpness val] [-enlarge val] [-media string] + [-copy val] [-dpi300] [-tiny] [ppmfile] + +2 Description + Reads a portable pixmap as input and converts it into a format + suitable to be printed by a Mitsubishi S340-10 printer, or any + other Mitsubishi color sublimation printer. + + The Mitsubishi S340-10 Color Sublimation printer supports 24bit + color. Images of the available sizes take so long to transfer that + there is a fast method, employing a lookuptable, that ppmtomitsu + will use if there is a maximum of 256 colors in the pixmap. + ppmtomitsu will try to position your image to the center of the + paper, and will rotate your image for you if xsize is larger than + ysize. If your image is larger than the media allows, ppmtomitsu + will quit with an error message. (We decided that the media were + too expensive to have careless users produce misprints.) Once data + transmission has started, the job can't be stopped in a sane way + without resetting the printer. The printer understands putting + together images in the printers memory; ppmtomitsu doesn't utilize + this as pnmcat etc provide the same functionality and let you view + the result on-screen, too. The S340-10 is the lowest common + denominator printer; for higher resolution printers there's the + dpi300 option. The other printers also support higher values for + enlarge eg., but I don't think that's essential enough to warrant a + change in the program. + + -sharpness 1-4 + 'sharpness' designation. Default is to use the current + sharpness. + + -enlarge 1-3 + Enlarge by a factor; Default is 1 (no enlarge) + + -media A, A4, AS, A4S + Designate the media you're using. Default is 1184 x 1350, + which will fit on any media. A is 1216 x 1350, A4 is 1184 x + 1452, AS is 1216 x 1650 and A4S is 1184 x 1754. A warning: + If you specify a different media than the printer currently + has, the printer will wait until you put in the correct media + or switch it off. + + -copy 1-9 + The number of copies to produce. Default is 1. + + -dpi300 + Double the number of allowed pixels for a S3600-30 Printer in + S340-10 compatibility mode. (The S3600-30 has 300 dpi). + + -tiny + Memory-safing, but always slow. The printer will get the data + line-by-line in 24bit. It's probably a good idea to use this + if your machine starts paging a lot without this option. + +2 References + Mitsubishi Sublimation Full Color Printer S340-10 Specifications of + Parallel Interface LSP-F0232F + +2 See_Also + ppmquant(1), pnmscale(1), ppm(5) + +2 Bugs + We didn't find any - yet. (Besides, they're called features anyway + :-) If you should find one, my email-adress is below. + +2 Author + Copyright (C) 1992, 93 by S.Petra Zeidler, MPIfR Bonn, Germany. + (spz@specklec.mpifr-bonn.mpg.de) + +1 ppmtopcx + ppmtopcx - convert a portable pixmap into a PCX file + +2 Synopsis + ppmtopcx [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces a PCX file as + output. + +2 See_Also + pcxtoppm, ppm + +2 Author + Copyright (C) 1990 by Michael Davidson. + +1 ppmtopgm + ppmtopgm - convert a portable pixmap into a portable graymap + +2 Synopsis + ppmtopgm [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces a portable gray- + map as output. The quantization formula used is .299 r + + .587 g + .114 b. + + Note that although there is a pgmtoppm program, it is not + necessary for simple conversions from pgm to ppm, because + any ppm program can read pgm (and pbm ) files automagically. + pgmtoppm is for colorizing a pgm file. Also, see ppmtorgb3 + for a different way of converting color to gray. + +2 QUOTE + Cold-hearted orb that rules the night + Removes the colors from our sight + Red is gray, and yellow white + But we decide which is right + And which is a quantization error. + +2 See_Also + pgmtoppm, ppmtorgb3, rgb3toppm, ppm, pgm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 ppmtopi1 + ppmtopi1 - convert a portable pixmap into an Atari Degas + .pi1 file + +2 Synopsis + ppmtopi1 [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces an Atari Degas + .pi1 file as output. + +2 See_Also + pi1toppm, ppm, pbmtopi3, pi3topbm + +2 Author + Copyright (C) 1991 by Steve Belczyk (seb3@gte.com) and Jef + Poskanzer. + +1 ppmtopict + ppmtopict - convert a portable pixmap into a Macintosh PICT + file + +2 Synopsis + ppmtopict [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces a Macintosh PICT + file as output. + + The generated file is only the data fork of a picture. You + will need a program such as mcvert to generate a Macbinary + or a BinHex file that contains the necessary information to + identify the file as a PICT file to MacOS. + + Even though PICT supports 2 and 4 bits per pixel, ppmtopict + always generates an 8 bits per pixel file. + +2 Bugs + The picture size field is only correct if the output is to a + file since writing into this field requires seeking back- + wards on a file. However the PICT documentation seems to + suggest that this field is not critical anyway since it is + only the lower 16 bits of the picture size. + +2 See_Also + picttoppm, ppm, mcvert + +2 Author + Copyright (C) 1990 by Ken Yap . + +1 ppmtopj + ppmtopj - convert a portable pixmap to an HP PaintJet file + +2 Synopsis + ppmtopj [-gamma val] [-xpos val] [-ypos val] [-back + dark|lite] [-rle] [-center] [-render + none|snap|bw|dither|diffuse|monodither|monodiffuse|clusterdither|monoclusterdither] + [ppmfile] + +2 Description + Reads a portable pixmap as input and converts it into a for- + mat suitable to be printed by an HP PaintJet printer. + + For best results, the input file should be in 8-color RGB + form; i.e. it should have only the 8 binary combinations of + full-on and full-off primaries. You could get this by send- + ing the input file through ppmquant -map with a map file + such as: + P3 + 8 1 + 255 + 0 0 0 255 0 0 0 255 0 0 0 255 + 255 255 0 255 0 255 0 255 255 255 255 255 + Or else you could use use ppmdither -red 2 -green 2 -blue + +2 Options + -rle Run length encode the image. (This can result + in larger images) + + -back Enhance the foreground by indicating if the + background is light or dark compated to the + foreground. + + -render alg Use an internal rendering algorithm (default + dither). + + -gamma int Gamma correct the image using the integet + parameter as a gamma (default 0). + + -center Center the image to an 8.5 by 11 page + + -xpos pos Move by pos pixels in the x direction. + + -ypos pos Move by pos pixels in the y direction. + +2 References + HP PaintJet XL Color Graphics Printer User's Guide + +2 See_Also + pnmdepth, ppmquant, ppmdither, ppm + +2 Bugs + Most of the options have not been tested because of the + price of the paper. + +2 Author + Copyright (C) 1991 by Christos Zoulas. + +1 ppmtopuzz + ppmtopuzz - convert a portable pixmap into an X11 "puzzle" + file + +2 Synopsis + ppmtopuzz [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces an X11 "puzzle" + file as output. A "puzzle" file is for use with the puzzle + program included with the X11 distribution - puzzle's - + picture flag lets you specify an image file. + +2 See_Also + ppm, puzzle + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 ppmtorgb3 + ppmtorgb3 - separate a portable pixmap into three portable + graymaps + +2 Synopsis + ppmtorgb3 [ppmfile] + +2 Description + Reads a portable pixmap as input. Writes three portable + graymaps as output, one each for red, green, and blue. + + The output filenames are constructed by taking the input + filename, stripping off any extension, and appending ".red", + ".grn", and ".blu". For example, separating lenna.ppm would + result in lenna.red, lenna.grn, and lenna.blu. If the input + comes from stdin, the names are noname.red, noname.grn, and + noname.blu. + +2 See_Also + rgb3toppm, ppmtopgm, pgmtoppm, ppm, pgm + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 ppmtosixel + ppmtosixel - convert a portable pixmap into DEC sixel format + +2 Synopsis + ppmtosixel [-raw] [-margin] [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces sixel commands + (SIX) as output. The output is formatted for color print- + ing, e.g. for a DEC LJ250 color inkjet printer. + + If RGB values from the PPM file do not have maxval=100, the + RGB values are rescaled. A printer control header and a + color assignment table begin the SIX file. Image data is + written in a compressed format by default. A printer con- + trol footer ends the image file. + +2 Options + -raw If specified, each pixel will be explicitly described + in the image file. If -raw is not specified, output + will default to compressed format in which identical + adjacent pixels are replaced by "repeat pixel" com- + mands. A raw file is often an order of magnitude + larger than a compressed file and prints much slower. + + -margin + If -margin is not specified, the image will be start at + the left margin (of the window, paper, or whatever). + If -margin is specified, a 1.5 inch left margin will + offset the image. + +2 Printing + Generally, sixel files must reach the printer unfiltered. + Use the lpr -x option or cat filename > /dev/tty0?. + +2 Bugs + Upon rescaling, truncation of the least significant bits of + RGB values may result in poor color conversion. If the ori- + ginal PPM maxval was greater than 100, rescaling also + reduces the image depth. While the actual RGB values from + the ppm file are more or less retained, the color palette of + the LJ250 may not match the colors on your screen. This + seems to be a printer limitation. + +2 See_Also + ppm + +2 Author + Copyright (C) 1991 by Rick Vinci. + +1 ppmtotga + ppmtotga - convert portable pixmap into a TrueVision Targa + file + +2 Synopsis + ppmtotga [-mono|-cmap|-rgb] [-norle] [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces a TrueVision + Targa file as output. + +2 Options + -mono + Forces Targa file to be of type 8 bit monochrome. + Input must be a portable bitmap or a portable graymap. + + -cmap + Forces Targa file to be of type 24 bit colormapped. + Input must be a portable bitmap, a portable graymap or + a portable pixmap containing no more than 256 distinct + colors. + + -rgb Forces Targa file to be of type 24 bit unmapped color. + + -norle + Disables run-length encoding, in case you have a Targa + reader which can't read run-length encoded files. + + All flags can be abbreviated to their shortest unique pre- + fix. If no file type is specified the most highly con- + stained compatible type is used, where monochrome is more + constained than colormapped which is in turn more constained + than unmapped. + +2 Bugs + Does not support all possible Targa file types. Should + really be in PNM, not PPM. + +2 See_Also + tgatoppm, ppm + +2 Author + Copyright (C) 1989, 1991 by Mark Shand and Jef Poskanzer. + +1 ppmtouil + ppmtouil - convert a portable pixmap into a Motif UIL icon + file + +2 Synopsis + ppmtouil [-name uilname] [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces a Motif UIL icon + file as output. + + If the program was compiled with an rgb database specified, + and a RGB value from the ppm input matches a RGB value from + the database, then the corresponding color name mnemonic is + printed in the UIL's colormap. If no rgb database was com- + piled in, or if the RGB values don't match, then the color + will be printed with the #RGB, #RRGGBB, #RRRGGGBBB, or + #RRRRGGGGBBBB hexadecimal format. + +2 Options + -name + Allows you to specify the prefix string which is + printed in the resulting UIL output. If not specified, + will default to the filename (without extension) of the + ppmfile argument. If -name is not specified and no + ppmfile is specified (i.e. piped input), the prefix + string will default to the string "noname". + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 See_Also + ppm + +2 Author + Converted by Jef Poskanzer from ppmtoxpm.c, which is Copy- + right (C) 1990 by Mark W. Snitily + +1 ppmtoxpm + ppmtoxpm - convert a portable pixmap into an X11 pixmap + +2 Synopsis + ppmtoxpm [-name xpmname] [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces X11 pixmap (XPM) + as output. + + If the program was compiled with an rgb database specified, + and a RGB value from the ppm input matches a RGB value from + the database, then the corresponding color name mnemonic is + printed in the XPM's colormap. If no rgb database was com- + piled in, or if the RGB values don't match, then the color + will be printed with the #RGB, #RRGGBB, #RRRGGGBBB, or + #RRRRGGGGBBBB hexadecimal format. + +2 Options + -name + Allows you to specify the prefix string which is + printed in the resulting XPM output. If not specified, + will default to the filename (without extension) of the + ppmfile argument. If -name is not specified and no + ppmfile is specified (i.e. piped input), the prefix + string will default to the string "noname". + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 Example + To convert the file "dot" (found in + /usr/include/X11/bitmaps), from xbm to xpm one could specify + + xbmtopbm dot | ppmtoxpm -name dot + +2 Bugs + An option to match the closest (rather than exact) color + name mnemonic from the rgb text would be a desirable + enhancement. + + Truncation of the least significant bits of a RGB value may + result in nonexact matches when performing color name + mnemonic lookups. + +2 See_Also + xpmtoppm, ppm + +2 Author + Copyright (C) 1990 by Mark W. Snitily. + +1 ppmtoyuv + ppmtoyuv - convert a portable pixmap into an Abekas YUV file + +2 Synopsis + ppmtoyuv [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces an Abekas YUV + file as output. + +2 See_Also + yuvtoppm, ppm + +2 Author + Marc Boucher , based on Example Conver- + sion Program, A60/A64 Digital Video Interface Manual, page + 69. + + Copyright (C) 1991 by DHD PostImage Inc. + + Copyright (C) 1987 by Abekas Video Systems Inc. + +1 ppmtoyuvsplit + ppmtoyuvsplit - convert a portable pixmap into 3 subsampled + raw YUV files + +2 Synopsis + ppmtoyuvsplit basename [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces 3 raw files + basename.Y, basename.U and basename.V as output. These + files are the subsampled raw YUV representation of the input + pixmap, as required by the Stanford MPEG codec. The subsam- + pling is done by arithmetic mean of 4 pixels colors into + one. The YUV values are scaled according to CCIR.601, as + assumed by MPEG. + +2 See_Also + mpeg, ppm + +2 Author + Copyright (C) 1993 by Andre Beck. (Andreeck@IRS.Inf.TU- + Dresden.de) + + Based on ppmtoyuv.c + +1 qrttoppm + qrttoppm - convert output from the QRT ray tracer into a + portable pixmap + +2 Synopsis + qrttoppm [qrtfile] + +2 Description + Reads a QRT file as input. Produces a portable pixmap as + output. + +2 See_Also + ppm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 rawtoppm + rawtoppm - convert raw RGB bytes into a portable pixmap + +2 Synopsis + rawtoppm [-headerskip N] [-rowskip N] [-rgb|-rbg|-grb |- + gbr|-brg|-bgr ] [-interpixel|-interrow] width height [image- + data] + +2 Description + Reads raw RGB bytes as input. Produces a portable pixmap as + output. The input file is just RGB bytes. You have to + specify the width and height on the command line, since the + program obviously can't get them from the file. The maxval + is assumed to be 255. If the resulting image is upside + down, run it through pnmflip -tb . + +2 Options + -headerskip + If the file has a header, you can use this flag to skip + over it. + + -rowskip + If there is padding at the ends of the rows, you can + skip it with this flag. + + -rgb -rbg -grb -gbr -brg -bgr + These flags let you specify alternate color orders. + The default is -rgb. + + -interpixel -interrow + These flags let you specify how the colors are inter- + leaved. The default is -interpixel, meaning inter- + leaved by pixel. A byte of red, a byte of green, and a + byte of blue, or whatever color order you specified. + -interrow means interleaved by row - a row of red, a + row of green, a row of blue, assuming standard rgb + color order. An -interplane flag - all the red pix- + els, then all the green, then all the blue - would be + an obvious extension, but is not implemented. You + could get the same effect by splitting the file into + three parts (perhaps using dd), turning each part into + a PGM file with rawtopgm, and then combining them with + rgb3toppm. + +2 See_Also + ppm, rawtopgm, rgb3toppm, pnmflip + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 rgb3toppm + rgb3toppm - combine three portable graymaps into one port- + able pixmap + +2 Synopsis + rgb3toppm redpgmfile greenpgmfile bluepgmfile + +2 Description + Reads three portable graymaps as input. Combines them and + produces one portable pixmap as output. + +2 See_Also + ppmtorgb3, pgmtoppm, ppmtopgm, ppm, pgm + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 sldtoppm + sldtoppm - convert an AutoCAD slide file into a portable + pixmap + +2 Synopsis + sldtoppm [-adjust] [-dir] [-height|-ysize s] [-info] [- + lib|-Lib name] [-scale s] [-verbose] [-width|-xsize + s] [slidefile] + +2 Description + Reads an AutoCAD(Reg.) slide file and outputs a portable + pixmap. If no slidefile is specified, input is read from + standard input. The ppmdraw library is used to convert the + vector and polygon information in the slide file to a pix- + map; see the file ppmdraw.h for details on this package. + +2 Options + -adjust + If the display on which the slide file was created had + non-square pixels, when the slide is processed with + sldtoppm and the -adjust option is not present, the + following warning will appear: + Warning - pixels on source screen were non-square. + Specifying -adjust will correct image width to com- + pensate. + Specifying the -adjust option causes sldtoppm to scale + the width of the image so that pixels in the resulting + portable pixmap are square (and hence circles appear as + true circles, not ellipses). The scaling is performed + in the vector domain, before scan converting the + objects. The results are, therefore, superior in + appearance to what you'd obtain were you to perform the + equivalent scaling with pnmscale after the bitmap had + been created. + + -dir The input is assumed to be an AutoCAD slide library + file. A directory listing each slide in the library is + printed on standard error. + + -height size + Scales the image in the vector domain so it is size + pixels in height. If no -width or -xsize option is + specified, the width will be adjusted to preserve the + pixel aspect ratio. + + -info + Dump the slide file header on standard error, display- + ing the original screen size and aspect ratio among + other information. + + -lib name + Extracts the slide with the given name from the slide + library given as input. The specified name is con- + verted to upper case. + + -Lib name + Extracts the slide with the given name from the slide + library given as input. The name is used exactly as + specified; it is not converted to upper case. + + -scale s + Scales the image by factor s, which may be any floating + point value greater than zero. Scaling is done after + aspect ratio adjustment, if any. Since scaling is per- + formed in the vector domain, before rasterisation, the + results look much better than running the output of + sldtoppm through pnmscale. + + -verbose + Dumps the slide file header and lists every vector and + polygon in the file on standard error. + + -width size + Scales the image in the vector domain so it is size + pixels wide. If no -height or -ysize option is speci- + fied, the height will be adjusted to preserve the pixel + aspect ratio. + + -xsize size + Scales the image in the vector domain so it is size + pixels wide. If no -height or -ysize option is speci- + fied, the height will be adjusted to preserve the pixel + aspect ratio. + + -ysize size + Scales the image in the vector domain so it is size + pixels in height. If no -width or -xsize option is + specified, the width will be adjusted to preserve the + pixel aspect ratio. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 Bugs + Only Level 2 slides are converted. Level 1 format has been + obsolete since the advent of AutoCAD Release 9 in 1987, and + was not portable across machine architectures. + + Slide library items with names containing 8 bit (such as + ISO) or 16 bit (Kanji, for example) characters may not be + found when chosen with the -lib option unless sldtoppm has + been built with character set conversion functions appropri- + ate to the locale. You can always retrieve slides from + libraries regardless of the character set by using the -Lib + option and specifying the precise name of library member. + Use the -dir option to list the slides in a library if + you're unsure of the exact name. + +2 See_Also + AutoCAD Reference Manual: Slide File Format, pnmscale, + ppm + +2 Author + John Walker + Autodesk SA + Avenue des Champs-Montants 14b + CH-2074 MARIN + Suisse/Schweiz/Svizzera/Svizra/Switzerland + Usenet: kelvin@Autodesk.com + Fax: 038/33 88 15 + Voice: 038/33 76 33 + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, without any conditions or restric- + tions. This software is provided ``as is'' without express + or implied warranty. + + AutoCAD and Autodesk are registered trademarks of Autodesk, + Inc. + +1 spctoppm + spctoppm - convert an Atari compressed Spectrum file into a + portable pixmap + +2 Synopsis + spctoppm [spcfile] + +2 Description + Reads an Atari compressed Spectrum file as input. Produces + a portable pixmap as output. + +2 See_Also + sputoppm, ppm + +2 Author + Copyright (C) 1991 by Steve Belczyk (seb3@gte.com) and Jef + Poskanzer. + +1 sputoppm + sputoppm - convert an Atari uncompressed Spectrum file into + a portable pixmap + +2 Synopsis + sputoppm [spufile] + +2 Description + Reads an Atari uncompressed Spectrum file as input. Pro- + duces a portable pixmap as output. + +2 See_Also + spctoppm, ppm + +2 Author + Copyright (C) 1991 by Steve Belczyk (seb3@gte.com) and Jef + Poskanzer. + +1 tgatoppm + tgatoppm - convert TrueVision Targa file into a portable + pixmap + +2 Synopsis + tgatoppm [-debug] [tgafile] + +2 Description + Reads a TrueVision Targa file as input. Produces a portable + pixmap as output. + +2 Options + -debug + Causes the header information to be dumped to stderr. + + All flags can be abbreviated to their shortest unique pre- + fix. Should really be in PNM, not PPM. + +2 See_Also + ppmtotga, ppm + +2 Author + Partially based on tga2rast, version 1.0, by Ian J. Mac- + Phedran. + + Copyright (C) 1989 by Jef Poskanzer. + +1 ximtoppm + ximtoppm - convert an Xim file into a portable pixmap + +2 Synopsis + ximtoppm [ximfile] + +2 Description + Reads an Xim file as input. Produces a portable pixmap as + output. The Xim toolkit is included in the contrib tree of + the X.V11R4 release. + +2 See_Also + ppm + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 xpmtoppm + xpmtoppm - convert an X11 pixmap into a portable pixmap + +2 Synopsis + xpmtoppm [xpmfile] + +2 Description + Reads an X11 pixmap (XPM) as input. Produces a portable + pixmap as output. + +2 See_Also + ppmtoxpm, ppm + +2 Author + Copyright (C) 1991 by Jef Poskanzer. + +1 yuvtoppm + yuvtoppm - convert Abekas YUV bytes into a portable pixmap + +2 Synopsis + yuvtoppm width height [imagedata] + +2 Description + Reads raw Abekas YUV bytes as input. Produces a portable + pixmap as output. The input file is just YUV bytes. You + have to specify the width and height on the command line, + since the program obviously can't get them from the file. + The maxval is assumed to be 255. + +2 See_Also + ppmtoyuv, ppm + +2 Author + Marc Boucher , based on Example Conver- + sion Program, A60/A64 Digital Video Interface Manual, page + 69. + + Copyright (C) 1991 by DHD PostImage Inc. + + Copyright (C) 1987 by Abekas Video Systems Inc. + +1 yuvsplittoppm + yuvplittoppm - convert a Y- an U- and a V-file into a port- + able pixmap. + +2 Synopsis + yuvsplittoppm basename width height [-ccir601] + +2 Description + Reads three files, containing the YUV components, as input. + These files are basename .Y, basename.U and basename.V . + Produces a portable pixmap on stdout. + + Since the YUV files are raw files, the dimensions width and + height must be specified on the command line. + +2 Options + -ccir601 + Assumes that the YUV triplets are scaled into the + smaller range of the CCIR 601 (MPEG) standard. Else, + the JFIF (JPEG) standard is assumed. + +2 See_Also + ppmtoyuvsplit, yuvtoppm, ppm + +2 Author + Marcel Wijkstra , based on + ppmtoyuvsplit. + +1 ppmforge + ppmforge - fractal forgeries of clouds, planets, and starry + skies + +2 Synopsis + ppmforge [-clouds] [-night] [-dimension dimen] [-hour hour] + [-inclination|-tilt angle] [-mesh size] [-power + factor] [-glaciers level] [-ice level] [-saturation + sat] [-seed seed] [-stars fraction] [-xsize|-width + width] [-ysize|-height height] + +2 Description + ppmforge generates three kinds of ``random fractal for- + geries,'' the term coined by Richard F. Voss of the IBM Tho- + mas J. Watson Research Center for seemingly realistic pic- + tures of natural objects generated by simple algorithms em- + bodying randomness and fractal self-similarity. The tech- + niques used by ppmforge are essentially those given by + Voss[1], particularly the technique of spectral synthesis + explained in more detail by Dietmar Saupe[2]. + + The program generates two varieties of pictures: planets and + clouds, which are just different renderings of data generat- + ed in an identical manner, illustrating the unity of the + fractal structure of these very different objects. A third + type of picture, a starry sky, is synthesised directly from + pseudorandom numbers. + + The generation of planets or clouds begins with the prepara- + tion of an array of random data in the frequency domain. + The size of this array, the ``mesh size,'' can be set with + the -mesh option; the larger the mesh the more realistic the + pictures but the calculation time and memory requirement in- + creases as the square of the mesh size. The fractal dimen- + sion, which you can specify with the -dimension option, + determines the roughness of the terrain on the planet or the + scale of detail in the clouds. As the fractal dimension is + increased, more high frequency components are added into the + random mesh. + + Once the mesh is generated, an inverse two dimensional + Fourier transform is performed upon it. This converts the + original random frequency domain data into spatial ampli- + tudes. We scale the real components that result from the + Fourier transform into numbers from 0 to 1 associated with + each point on the mesh. You can further modify this number + by applying a ``power law scale'' to it with the -power op- + tion. Unity scale leaves the numbers unmodified; a power + scale of 0.5 takes the square root of the numbers in the + mesh, while a power scale of 3 replaces the numbers in the + mesh with their cubes. Power law scaling is best envisioned + by thinking of the data as representing the elevation of + terrain; powers less than 1 yield landscapes with vertical + scarps that look like glacially-carved valleys; powers + greater than one make fairy-castle spires (which require + large mesh sizes and high resolution for best results). + + After these calculations, we have a array of the specified + size containing numbers that range from 0 to 1. The pixmaps + are generated as follows: + + Clouds A colour map is created that ranges from pure blue + to white by increasing admixture (desaturation) of + blue with white. Numbers less than 0.5 are + coloured blue, numbers between 0.5 and 1.0 are + coloured with corresponding levels of white, with + 1.0 being pure white. + + Planet The mesh is projected onto a sphere. Values less + than 0.5 are treated as water and values between + 0.5 and 1.0 as land. The water areas are coloured + based upon the water depth, and land based on its + elevation. The random depth data are used to + create clouds over the oceans. An atmosphere ap- + proximately like the Earth's is simulated; its + light absorption is calculated to create a blue + cast around the limb of the planet. A function + that rises from 0 to 1 based on latitude is modu- + lated by the local elevation to generate polar ice + caps--high altitude terrain carries glaciers + farther from the pole. Based on the position of + the star with respect to the observer, the ap- + parent colour of each pixel of the planet is cal- + culated by ray-tracing from the star to the planet + to the observer and applying a lighting model that + sums ambient light and diffuse reflection (for + most planets ambient light is zero, as their pri- + mary star is the only source of illumination). + Additional random data are used to generate stars + around the planet. + + Night A sequence of pseudorandom numbers is used to gen- + erate stars with a user specified density. + + Cloud pictures always contain 256 or fewer colours and may + be displayed on most colour mapped devices without further + processing. Planet pictures often contain tens of thousands + of colours which must be compressed with ppmquant or + ppmdither before encoding in a colour mapped format. If the + display resolution is high enough, ppmdither generally pro- + duces better looking planets. ppmquant tends to create + discrete colour bands, particularly in the oceans, which are + unrealistic and distracting. The number of colours in star- + ry sky pictures generated with the -night option depends on + the value specified for -saturation. Small values limit the + colour temperature distribution of the stars and reduce the + number of colours in the image. If the -saturation is set + to 0, none of the stars will be coloured and the resulting + image will never contain more than 256 colours. Night sky + pictures with many different star colours often look best + when colour compressed by pnmdepth rather than ppmquant or + ppmdither. Try newmaxval settings of 63, 31, or 15 with + pnmdepth to reduce the number of colours in the picture to + 256 or fewer. + +2 Options + -clouds Generate clouds. A pixmap of fractal clouds is + generated. Selecting clouds sets the default for + fractal dimension to 2.15 and power scale factor + to 0.75. + + -dimension dimen + Sets the fractal dimension to the specified dimen, + which may be any floating point value between 0 + and 3. Higher fractal dimensions create more + ``chaotic'' images, which require higher resolu- + tion output and a larger FFT mesh size to look + good. If no dimension is specified, 2.4 is used + when generating planets and 2.15 for clouds. + + -glaciers level + The floating point level setting controls the ex- + tent to which terrain elevation causes ice to ap- + pear at lower latitudes. The default value of + 0.75 makes the polar caps extend toward the equa- + tor across high terrain and forms glaciers in the + highest mountains, as on Earth. Higher values + make ice sheets that cover more and more of the + land surface, simulating planets in the midst of + an ice age. Lower values tend to be boring, + resulting in unrealistic geometrically-precise ice + cap boundaries. + + -hour hour + When generating a planet, hour is used as the + ``hour angle at the central meridian.'' If you + specify -hour 12, for example, the planet will be + fully illuminated, corresponding to high noon at + the longitude at the centre of the screen. You + can specify any floating point value between 0 and + 24 for hour, but values which place most of the + planet in darkness (0 to 4 and 20 to 24) result in + crescents which, while pretty, don't give you many + illuminated pixels for the amount of computing + that's required. If no -hour option is specified, + a random hour angle is chosen, biased so that only + 25% of the images generated will be crescents. + + -ice level + Sets the extent of the polar ice caps to the given + floating point level. The default level of 0.4 + produces ice caps similar to those of the Earth. + Smaller values reduce the amount of ice, while + larger -ice settings create more prominent ice + caps. Sufficiently large values, such as 100 or + more, in conjunction with small settings for - + glaciers (try 0.1) create ``ice balls'' like Euro- + pa. + + -inclination|-tilt angle + The inclination angle of the planet with regard to + its primary star is set to angle, which can be any + floating point value from -90 to 90. The inclina- + tion angle can be thought of as specifying, in de- + grees, the ``season'' the planet is presently ex- + periencing or, more precisely, the latitude at + which the star transits the zenith at local noon. + If 0, the planet is at equinox; the star is + directly overhead at the equator. Positive values + represent summer in the northern hemisphere, nega- + tive values summer in the southern hemisphere. + The Earth's inclination angle, for example, is + about 23.5 at the June solstice, 0 at the + equinoxes in March and September, and -23.5 at the + December solstice. If no inclination angle is + specified, a random value between -21.6 and 21.6 + degrees is chosen. + + -mesh size + A mesh of size by size will be used for the fast + Fourier transform (FFT). Note that memory re- + quirements and computation speed increase as the + square of size; if you double the mesh size, the + program will use four times the memory and run + four times as long. The default mesh is 256x256, + which produces reasonably good looking pictures + while using half a megabyte for the 256x256 array + of single precision complex numbers required by + the FFT. On machines with limited memory capaci- + ty, you may have to reduce the mesh size to avoid + running out of RAM. Increasing the mesh size pro- + duces better looking pictures; the difference be- + comes particularly noticeable when generating high + resolution images with relatively high fractal di- + mensions (between 2.2 and 3). + + -night A starry sky is generated. The stars are created + by the same algorithm used for the stars that sur- + round planet pictures, but the output consists ex- + clusively of stars. + + -power factor + Sets the ``power factor'' used to scale elevations + synthesised from the FFT to factor, which can be + any floating point number greater than zero. If + no factor is specified a default of 1.2 is used if + a planet is being generated, or 0.75 if clouds are + selected by the -clouds option. The result of the + FFT image synthesis is an array of elevation + values between 0 and 1. A non-unity power factor + exponentiates each of these elevations to the + specified power. For example, a power factor of 2 + squares each value, while a power factor of 0.5 + replaces each with its square root. (Note that + exponentiating values between 0 and 1 yields + values that remain within that range.) Power fac- + tors less than 1 emphasise large-scale elevation + changes at the expense of small variations. Power + factors greater than 1 increase the roughness of + the terrain and, like high fractal dimensions, may + require a larger FFT mesh size and/or higher + screen resolution to look good. + + -saturation sat + Controls the degree of colour saturation of the + stars that surround planet pictures and fill star- + ry skies created with the -night option. The de- + fault value of 125 creates stars which resemble + the sky as seen by the human eye from Earth's sur- + face. Stars are dim; only the brightest activate + the cones in the human retina, causing colour to + be perceived. Higher values of sat approximate + the appearance of stars from Earth orbit, where + better dark adaptation, absence of skyglow, and + the concentration of light from a given star onto + a smaller area of the retina thanks to the lack of + atmospheric turbulence enhances the perception of + colour. Values greater than 250 create ``science + fiction'' skies that, while pretty, don't occur in + this universe. + + Thanks to the inverse square law combined with + Nature's love of mediocrity, there are many, many + dim stars for every bright one. This population + relationship is accurately reflected in the skies + created by ppmforge. Dim, low mass stars live + much longer than bright massive stars, consequent- + ly there are many reddish stars for every blue gi- + ant. This relationship is preserved by ppmforge. + You can reverse the proportion, simulating the sky + as seen in a starburst galaxy, by specifying a + negative sat value. + + -seed num Sets the seed for the random number generator to + the integer num. The seed used to create each + picture is displayed on standard output (unless + suppressed with the -quiet option). Pictures gen- + erated with the same seed will be identical. If + no -seed is specified, a random seed derived from + the date and time will be chosen. Specifying an + explicit seed allows you to re-render a picture + you particularly like at a higher resolution or + with different viewing parameters. + + -stars fraction + Specifies the percentage of pixels, in tenths of a + percent, which will appear as stars, either sur- + rounding a planet or filling the entire frame if + -night is specified. The default fraction is 100. + + -xsize|-width width + Sets the width of the generated image to width + pixels. The default width is 256 pixels. Images + must be at least as wide as they are high; if a + width less than the height is specified, it will + be increased to equal the height. If you must + have a long skinny pixmap, make a square one with + ppmforge, then use pnmcut to extract a portion of + the shape and size you require. + + -ysize|-height height + Sets the height of the generated image to height + pixels. The default height is 256 pixels. If the + height specified exceeds the width, the width will + be increased to equal the height. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 Bugs + The algorithms require the output pixmap to be at least as + wide as it is high, and the width to be an even number of + pixels. These constraints are enforced by increasing the + size of the requested pixmap if necessary. + + You may have to reduce the FFT mesh size on machines with 16 + bit integers and segmented pointer architectures. + +2 See_Also + pnmcut, pnmdepth, ppmdither, ppmquant, ppm + + [1] Voss, Richard F., ``Random Fractal Forgeries,'' in + Earnshaw et. al., Fundamental Algorithms for Computer + Graphics, Berlin: Springer-Verlag, 1985. + + [2] Peitgen, H.-O., and Saupe, D. eds., The Science Of + Fractal Images, New York: Springer Verlag, 1988. + +2 Author + John Walker + Autodesk SA + Avenue des Champs-Montants 14b + CH-2074 MARIN + Suisse/Schweiz/Svizzera/Svizra/Switzerland + Usenet: kelvin@Autodesk.com + Fax: 038/33 88 15 + Voice: 038/33 76 33 + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, without any conditions or restric- + tions. This software is provided ``as is'' without express + or implied warranty. + + PLUGWARE! If you like this kind of stuff, you may also enjoy + ``James Gleick's Chaos--The Software'' for MS-DOS, available + for $59.95 from your local software store or directly from + Autodesk, Inc., Attn: Science Series, 2320 Marinship Way, + Sausalito, CA 94965, USA. Telephone: (800) 688-2344 toll- + free or, outside the U.S. (415) 332-2344 Ext 4886. Fax: + (415) 289-4718. ``Chaos--The Software'' includes a more + comprehensive fractal forgery generator which creates + three-dimensional landscapes as well as clouds and planets, + plus five more modules which explore other aspects of Chaos. + The user guide of more than 200 pages includes an introduc- + tion by James Gleick and detailed explanations by Rudy Ruck- + er of the mathematics and algorithms used by each program. + +1 ppmpat + ppmpat - make a pretty pixmap + +2 Synopsis + ppmpat -gingham2|-g2|-gingham3| -g3|-madras|-tartan| - + poles|-squig|-camo| -anticamo width height + +2 Description + Produces a portable pixmap of the specified width and + height, with a pattern in it. + + This program is mainly to demonstrate use of the ppmdraw + routines, a simple but powerful drawing library. See the + ppmdraw.h include file for more info on using these rou- + tines. Still, some of the patterns can be rather pretty. + If you have a color workstation, something like ppmpat + -squig 300 300 | ppmquant 128 should generate a nice back- + ground. + +2 Options + The different flags specify various different pattern types: + + -gingham2 + A gingham check pattern. Can be tiled. + + -gingham3 + A slightly more complicated gingham. Can be tiled. + + -madras + A madras plaid. Can be tiled. + + -tartan + A tartan plaid. Can be tiled. + + -poles + Color gradients centered on randomly-placed poles. May + need to be run through ppmquant. + + -squig + Squiggley tubular pattern. Can be tiled. May need to + be run through ppmquant. + + -camo + Camouflage pattern. May need to be run through + ppmquant. + + -anticamo + Anti-camouflage pattern - like -camo, but ultra-bright + colors. May need to be run through ppmquant. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 References + Some of the patterns are from "Designer's Guide to Color 3" + by Jeanne Allen. + +2 See_Also + pnmtile, ppmquant, ppm + +2 Author + Copyright (C) 1989 by Jef Poskanzer. + +1 ppmqvga + ppmqvga - 8 plane quantization + +2 Synopsis + ppmqvga [ options ] [ input file ] + +2 Description + ppmqvga quantizes PPM files to 8 planes, with optional + Floyd-Steinberg dithering. Input is a PPM file from the + file named, or standard input of no file is provided. + +2 Options + -d dither. Apply Floyd-Steinberg dithering to the data + + -q quiet. Produces no progress reporting, and no terminal + output unless and error occurs. + + -v verbose. Produces additional output describing the number + of colors found, and some information on the resulting map- + ping. May be repeated to generate loads of internal table + output, but generally only useful once. + +2 Examples + ppmqvga -d mymage.ppm | ppmtogif >mymage.gif + + tgatoppm zombie.tga | ppmqvga | ppmtotif > zombie.tif + +2 See_Also + ppmquant + +2 Diagnostics + Error messages if problems, various levels of optional pro- + gress reporting. + +2 Limitations + none known. + +2 Author + Original by Lyle Rains (lrains@netcom.com) as ppmq256 and + ppmq256fs combined, documented, and enhanced by Bill David- + sen (davidsen@crd.ge.com) + + Copyright 1991,1992 by Bill Davidsen, all rights reserved. + The program and documentation may be freely distributed by + anyone in source or binary format. Please clearly note any + changes. + +1 ppmtomap + ppmtomap - extract all colors from a portable pixmap + +2 Synopsis + ppmtomap [-sort] [-square] [ppmfile] + +2 Description + Reads a portable pixmap as input. Produces a portable pix- + map as output, representing a color map of the input file. + All N different colors found are put in an Nx1 portable pix- + map. This color map file can be used as a mapfile for + ppmquant or ppmtogif. + +2 Options + -sort + Produces a portable pixmap with the colors in some + sorted order. + + -square + Produces a (more or less) square output file, instead + of putting all colors on the top row. + + All flags can be abbreviated to their shortest unique pre- + fix. + +2 WARNING + If you want to use the output file as a mapfile for ppmto- + gif, you first have to do a ppmquant 256, since ppmtomap is + not limited to 256 colors (but to 65536). + +2 See_Also + ppmtogif, ppmquant, ppm + +2 Author + Marcel Wijkstra (wijkstra@fwi.uva.nl). + + Copyright (C) 1989 by Jef Poskanzer. + +1 ppmtopjxl + ppmtopjxl - convert a portable pixmap into an HP PaintJet XL + PCL file + +2 Synopsis + ppmtopjxl [-nopack] [-gamma ] [-presentation] [-dark] + [-diffuse] [-cluster] [-dither] [-xshift ] [-yshift + ] [-xshift ] [-yshift ] [-xsize|-width|-xscale ] + [-ysize|-height|-yscale ] [ppmfile] + + +2 Description + Reads a portable pixmap as input. Produces a PCL file suit- + able for printing on an HP PaintJet XL printer as output. + + The generated file is not suitable for printing on a normal + PrintJet printer. The -nopack option generates a file which + does not use the normal TIFF 4.0 compression method. This + file might be printable on a normal PaintJet printer (not an + XL). + + The -gamma option sets the gamma correction for the image. + The useful range for the PaintJet XL is approximately 0.6 to + 1.5. + + The rendering algorithm used for images can be altered with + the -dither, -cluster, and -diffuse options. These options + select ordered dithering, clustered ordered dithering, or + error diffusion respectively. The -dark option can be used + to enhance images with a dark background when they are + reduced in size. The -presentation option turns on presen- + tation mode, in which two passes are made over the paper to + increase ink density. This should be used only for images + where quality is critical. + + + The image can be resized by setting the -xsize and -ysize + options. The parameter to either of these options is inter- + preted as the number of dots to set the width or height to, + but an optional dimension of `pt' (points), `dp' (deci- + points), `in' (inches), or `cm' (centimetres) may be + appended. If only one dimension is specified, the other + will be scaled appropriately. + + The options -width and -height are synonyms of -xsize and + -ysize. + + The -xscale and -yscale options can alternatively be used to + scale the image by a simple factor. + + The image can be shifted on the page by using the -xshift + and -yshift options. These move the image the specified + dimensions right and down. + + +2 See_Also + ppm + +2 Author + Angus Duggan + +1 libppm + libppm - functions to support portable pixmap programs + +2 Synopsis + #include + cc ... libppm.a libpgm.a libpbm.a + + +2 Description + TYPES AND CONSTANTS + typedef ... pixel; + typedef ... pixval; + #define PPM_MAXMAXVAL ... + extern pixval ppm_pbmmaxval; + + Each pixel contains three pixvals, each of which should con- + tain only the values between 0 and PPM_MAXMAXVAL. + ppm_pbmmaxval is the maxval used when a PPM program reads a + PBM file. Normally it is 1; however, for some programs, a + larger value gives better results. + + #define PPM_FORMAT ... + #define RPPM_FORMAT ... + #define PPM_TYPE PPM_FORMAT + int PPM_FORMAT_TYPE( int format ) + + For distinguishing different file formats and types. + + pixval PPM_GETR( pixel p ) + pixval PPM_GETG( pixel p ) + pixval PPM_GETB( pixel p ) + + These three macros retrieve the red, green or blue value + from the given pixel. + + void PPM_ASSIGN( pixel p, pixval red, pixval grn, pixval blu ) + + This macro assigns the given red, green and blue values to + the pixel. + + int PPM_EQUAL( pixel p, pixel q ) + + This macro checks two pixels for equality. + + void PPM_DEPTH( pixel newp, pixel p, pixval oldmaxval, pixval newmaxval ) + + This macro scales the colors of pixel p according the old + and new maximum values and assigns the new values to newp. + It is intended to make writing ppmtowhatever easier. + + float PPM_LUMIN( pixel p ) + This macro determines the luminance of the pixel p. + + MEMORY MANAGEMENT + pixel** ppm_allocarray( int cols, int rows ) + + Allocate an array of pixels. + + pixel* ppm_allocrow( int cols ) + + Allocate a row of the given number of pixels. + + void ppm_freearray( pixel** pixels, int rows ) + + Free the array allocated with ppm_allocarray() containing + the given number of rows. + + void pbm_freerow( pixel* pixelrow ) + + Free a row of pixels. + + READING PBM FILES + void ppm_readppminit( FILE* fp, int* colsP, int* rowsP, pixval* maxvalP, int* formatP ) + + Read the header from a PPM file, filling in the rows, cols, + maxval and format variables. + + void ppm_readppmrow( FILE* fp, pixel* pixelrow, int cols, pixval maxval, int format ) + + Read a row of pixels into the pixelrow array. Format, cols, + and maxval were filled in by ppm_readppminit(). + + pixel** ppm_readppm( FILE* fp, int* colsP, int* rowsP, pixval* maxvalP ) + + Read an entire pixmap file into memory, returning the allo- + cated array and filling in the rows, cols and maxval vari- + ables. This function combines ppm_readppminit(), + ppm_allocarray() and ppm_readppmrow(). + + WRITING FILES + void ppm_writeppminit( FILE* fp, int cols, int rows, pixval maxval, int forceplain ) + + Write the header for a portable pixmap file. The forceplain + flag forces a plain-format file to be written, as opposed to + a raw-format one. + + void ppm_writeppmrow( FILE* fp, pixel* pixelrow, int cols, pixval maxval, int forceplain ) + + Write a row from a portable pixmap. + + void ppm_writeppm( FILE* fp, pixel** pixels, int cols, int rows, pixval maxval, int forceplain ) + + Write the header and all data for a portable pixmap. This + function combines ppm_writeppminit() and ppm_writeppmrow(). + + COLOR NAMES + pixel ppm_parsecolor( char* colorname, pixval maxval ) + + Parses an ASCII color name into a pixel. The color can be + specified in three ways. One, as a name, assuming that a + pointer to an X11-style color names file was compiled in. + Two, as an X11-style hexadecimal number: #rgb, #rrggbb, + #rrrgggbbb, or #rrrrggggbbbb. Three, as a triplet of + decimal floating point numbers separated by commas: + r.r,g.g,b.b. + + char* ppm_colorname( pixel* colorP, pixval maxval, int hexok ) + + Returns a pointer to a string describing the given color. + If the X11 color names file is available and the color + appears in it, that name is returned. Otherwise, if the + hexok flag is true then a hexadecimal colorspec is returned; + if hexok is false and the X11 color names file is available, + then the closest matching color is returned; otherwise, it's + an error. + +2 See_Also + pbm, pgm + +2 Author + Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer. + +1 ppm + ppm - portable pixmap file format + +2 Description + The portable pixmap format is a lowest common denominator + color image file format. The definition is as follows: + + - A "magic number" for identifying the file type. A ppm + file's magic number is the two characters "P3". + + - Whitespace (blanks, TABs, CRs, LFs). + + - A width, formatted as ASCII characters in decimal. + + - Whitespace. + + - A height, again in ASCII decimal. + + - Whitespace. + + - The maximum color-component value, again in ASCII decimal. + + - Whitespace. + + - Width * height pixels, each three ASCII decimal values + between 0 and the specified maximum value, starting at the + top-left corner of the pixmap, proceeding in normal + English reading order. The three values for each pixel + represent red, green, and blue, respectively; a value of 0 + means that color is off, and the maximum value means that + color is maxxed out. + + - Characters from a "#" to the next end-of-line are ignored + (comments). + + - No line should be longer than 70 characters. + + Here is an example of a small pixmap in this format: + P3 + # feep.ppm + 4 4 + 15 + 0 0 0 0 0 0 0 0 0 15 0 15 + 0 0 0 0 15 7 0 0 0 0 0 0 + 0 0 0 0 0 0 0 15 7 0 0 0 + 15 0 15 0 0 0 0 0 0 0 0 0 + + Programs that read this format should be as lenient as pos- + sible, accepting anything that looks remotely like a pixmap. + + There is also a variant on the format, available by setting + the RAWBITS option at compile time. This variant is + different in the following ways: + + - The "magic number" is "P6" instead of "P3". + + - The pixel values are stored as plain bytes, instead of + ASCII decimal. + + - Whitespace is not allowed in the pixels area, and only a + single character of whitespace (typically a newline) is + allowed after the maxval. + + - The files are smaller and many times faster to read and + write. + + Note that this raw format can only be used for maxvals less + than or equal to 255. If you use the ppm library and try to + write a file with a larger maxval, it will automatically + fall back on the slower but more general plain format. + +2 See_Also + giftopnm, gouldtoppm, ilbmtoppm, imgtoppm, mtvtoppm, pcxtoppm, + pgmtoppm, pi1toppm, picttoppm, pjtoppm, qrttoppm, rawtoppm, + rgb3toppm, sldtoppm, spctoppm, sputoppm, tgatoppm, ximtoppm, + xpmtoppm, yuvtoppm, ppmtoacad, ppmtogif, ppmtoicr, ppmtoilbm, + ppmtopcx, ppmtopgm, ppmtopi1, ppmtopict, ppmtopj, ppmtopuzz, + ppmtorgb3, ppmtosixel, ppmtotga, ppmtouil, ppmtoxpm, ppmtoyuv, + ppmdither, ppmforge, ppmhist, ppmmake, ppmpat, ppmquant, + ppmquantall, ppmrelief, pnm, pgm, pbm + +2 Author + Copyright (C) 1989, 1991 by Jef Poskanzer. + +1 pgmkernel + pgmkernel - generate a convolution kernel + +2 Synopis + pgmkernel [-weight w] width [height] + +2 Description + Generates a portable graymap array of size width x height (or + width x width if height is not specified) to be used as a + convolution file by pnmconvol. The data in the convolution array + K are computed according to the formula: + + K(i,j) = 1 / ( 1 + w * sqrt((i-width/2)\^{}2 + (j-height/2)\^{}2)) + + where w is a coefficient specified via the -weight flag, and width + and height are the X and Y filter sizes. + + The output PGM file is always written out in ASCII format. + +2 Options + The optional -weight flag should be a real number greater than + -1. The default value is 6.0. + +2 Bugs + The computation time is proportional to width * height. This + increases rapidly with the increase of the kernel size. A better + approach could be using a FFT in these cases. + +2 See_Also + pnmconvol(1), pnmsmooth(1) + +2 Author + Alberto Accomazzi (alberto@cfa.harvard.edu). + +1 fitstopnm + fitstopnm - convert a FITS file into a portable anymap + +2 Synopis + fitstopnm [-image N] [-noraw] [-scanmax] [-printmax] [-min f] + [-max f] [FITSfile] + +2 Description + Reads a FITS file as input. Produces a portable pixmap if the + FITS file consists of 3 image planes (NAXIS = 3 and NAXIS3 = 3), a + portable graymap if the FITS file consists of 2 image planes + (NAXIS = 2), or whenever the -image flag is specified. The + results may need to be flipped top for bottom; if so, just pipe + the output through pnmflip -tb. + +2 Options + The -image option is for FITS files with three axes. The + assumption is that the third axis is for multiple images, and this + option lets you select which one you want. + + Flags -min and -max can be used to override the min and max + values as read from the FITS header or the image data if no + DATAMIN and DATAMAX keywords are found. Flag -scanmax can be used + to force the program to scan the data even when DATAMIN and + DATAMAX are found in the header. If -printmax is specified, the + program will just print the min and max values and quit. Flag + -noraw can be used to force the program to produce an ASCII + portable anymap. + + The program will tell what kind of anymap is writing. All + flags can be abbreviated to their shortest unique prefix. + +2 References + FITS stands for Flexible Image Transport System. A full + description can be found in Astronomy & Astrophysics Supplement + Series 44 (1981), page 363. + +2 See_Also + pnmtofits(1), pgm(5), pnmflip(1) + +2 Author + Copyright (C) 1989 by Jef Poskanzer, with modifications by + Daniel Briggs (dbriggs@nrao.edu) and Alberto Accomazzi + (alberto@cfa.harvard.edu). + +1 pnmalias + pnmalias - antialias a portable anyumap. + +2 Synopis + pnmalias [-bgcolor color] [-fgcolor color] [-bonly] [-fonly] + [-balias] [-falias] [-weight w] [pnmfile] + +2 Description + Reads a portable anymap as input, and applies anti-aliasing to + background and foreground pixels. If the input file is a portable + bitmap, the output anti-aliased image is promoted to a graymap, + and a message is printed informing the user of the change in + format. + +2 Options + -bgcolor colorb, + -fgcolor colorf + set the background color to colorb, and the foreground to + color to colorf. Pixels with these values will be anti-aliased. + by default, the background color is taken to be black, and + foreground color is assumed to be white. The colors can be + specified in five ways: + + o A name, assuming that a pointer to an X11-style color + names file was compiled in. + + o An X11-style hexadecimal specifier: rgb:r/g/b, where r + g and b are each 1- to 4-digit hexadecimal numbers. + + o An X11-style decimal specifier: rgbi:r/g/b, where r g + and b are floating point numbers between 0 and 1. + + o For backwards compatibility, an old-X11-style + hexadecimal number: #rgb, #rrggbb, #rrrgggbbb, or + #rrrrggggbbbb. + + o For backwards compatibility, a triplet of numbers + separated by commas: r,g,b, where r g and b are floating + point numbers between 0 and 1. (This style was added + before MIT came up with the similar rgbi style.) + + Note that even when dealing with graymaps, background and + foreground colors need to be specified in the fashion described + above. In this case, background and foreground pixel values are + taken to be the value of the red component for the given color. + + -bonly, + -fonly + Apply anti-aliasing only to background (-bonly), or foreground + (-fonly) pixels. + + -balias, + -falias + Apply anti-aliasing to all pixels surrounding background + (-balias), or foreground (-falias) pixels. By default, + anti-aliasing takes place only among neighboring background and + foreground pixels. + + -weight w + Use w as the central weight for the aliasing filter. W must + be a real number in the range 0 < w < 1. The lower the value of w + is, the "blurrier" the output image is. The default is w = 1/3. + +2 See_Also + pbmtext(1), pnmsmooth(1), pnm(5) + +2 Author + Copyright (C) 1992 by Alberto Accomazzi, Smithsonian + Astrophysical Observatory. + +1 pnmtofits + pnmtofits - convert a portable anymap into FITS format + +2 Synopis + pnmtofits [-max f] [-min f] [pnmfile] + +2 Description + Reads a portable anymap as input. Produces a FITS (Flexible + Image Transport System) file as output. The resolution of the + output file is either 8 bits/pixel, or 16 bits/pixel, depending on + the value of maxval in the input file. If the input file is a + portable bitmap or a portable graymap, the output file consists of + a single plane image (NAXIS = 2). If instead the input file is a + portable pixmap, the output file will consist of a three-plane + image (NAXIS = 3, NAXIS3 = 3). A full description of the FITS + format can be found in Astronomy & Astrophysics Supplement Series + 44 (1981), page 363. + +2 Options + Flags -min and -max can be used to set DATAMAX, DATAMIN, + BSCALE and BZERO in the FITS header, but do not cause the data to + be rescaled. + +2 See_Also + fitstopnm(1), pgm(5) + +2 Author + Copyright (C) 1989 by Wilson H. Bent (whb@hoh-2.att.com), + with modifications by Alberto Accomazzi (alberto@cfa.harvard.edu). + +1 ppmchange + ppmchange - change all pixels of one color to another in a + portable pixmap + +2 Synopis + ppmchange oldcolor newcolor [...] [ppmfile] + +2 Description + Reads a portable pixmap as input. Changes all pixels of + oldcolor to newcolor, leaving all others unchanged. Up to 256 + colors may be replaced by specifying couples of colors on the + command line. + + The colors can be specified in five ways: + + o A name, assuming that a pointer to an X11-style color + names file was compiled in. + + o An X11-style hexadecimal specifier: rgb:r/g/b, where r + g and b are each 1- to 4-digit hexadecimal numbers. + + o An X11-style decimal specifier: rgbi:r/g/b, where r g + and b are floating point numbers between 0 and 1. + + o For backwards compatibility, an old-X11-style + hexadecimal number: #rgb, #rrggbb, #rrrgggbbb, or + #rrrrggggbbbb. + + o For backwards compatibility, a triplet of numbers + separated by commas: r,g,b, where r g and b are floating + point numbers between 0 and 1. (This style was added + before MIT came up with the similar rgbi style.) + +2 See_Also + pgmtoppm(1), ppm(5) + +2 Author + Wilson H. Bent. Jr. (whb@usc.edu) with modifications by + Alberto Accomazzi (alberto@cfa.harvard.edu) + +1 xvminitoppm + xvminitoppm - convert a XV "thumbnail" picture to PPM + +2 Synopis + xvminitoppm [xvminipic] + +2 Description + Reads a XV "thumbnail" picture (a miniature picture generated + by the "VisualSchnauzer" browser) as input. Produces a portable + pixmap as output. + +2 See_Also + ppm(5), xv(1) + +2 Author + Copyright (C) 1993 by Ingo Wilken + diff --git a/vms/RGB.txt b/vms/RGB.txt new file mode 100644 index 00000000..e5f61889 --- /dev/null +++ b/vms/RGB.txt @@ -0,0 +1,738 @@ +255 250 250 snow +248 248 255 ghost white +248 248 255 GhostWhite +245 245 245 white smoke +245 245 245 WhiteSmoke +220 220 220 gainsboro +255 250 240 floral white +255 250 240 FloralWhite +253 245 230 old lace +253 245 230 OldLace +250 240 230 linen +250 235 215 antique white +250 235 215 AntiqueWhite +255 239 213 papaya whip +255 239 213 PapayaWhip +255 235 205 blanched almond +255 235 205 BlanchedAlmond +255 228 196 bisque +255 218 185 peach puff +255 218 185 PeachPuff +255 222 173 navajo white +255 222 173 NavajoWhite +255 228 181 moccasin +255 248 220 cornsilk +255 255 240 ivory +255 250 205 lemon chiffon +255 250 205 LemonChiffon +255 245 238 seashell +240 255 240 honeydew +245 255 250 mint cream +245 255 250 MintCream +240 255 255 azure +240 248 255 alice blue +240 248 255 AliceBlue +230 230 250 lavender +255 240 245 lavender blush +255 240 245 LavenderBlush +255 228 225 misty rose +255 228 225 MistyRose +255 255 255 white + 0 0 0 black + 47 79 79 dark slate gray + 47 79 79 DarkSlateGray + 47 79 79 dark slate grey + 47 79 79 DarkSlateGrey +105 105 105 dim gray +105 105 105 DimGray +105 105 105 dim grey +105 105 105 DimGrey +112 128 144 slate gray +112 128 144 SlateGray +112 128 144 slate grey +112 128 144 SlateGrey +119 136 153 light slate gray +119 136 153 LightSlateGray +119 136 153 light slate grey +119 136 153 LightSlateGrey +190 190 190 gray +190 190 190 grey +211 211 211 light grey +211 211 211 LightGrey +211 211 211 light gray +211 211 211 LightGray + 25 25 112 midnight blue + 25 25 112 MidnightBlue + 0 0 128 navy + 0 0 128 navy blue + 0 0 128 NavyBlue +100 149 237 cornflower blue +100 149 237 CornflowerBlue + 72 61 139 dark slate blue + 72 61 139 DarkSlateBlue +106 90 205 slate blue +106 90 205 SlateBlue +123 104 238 medium slate blue +123 104 238 MediumSlateBlue +132 112 255 light slate blue +132 112 255 LightSlateBlue + 0 0 205 medium blue + 0 0 205 MediumBlue + 65 105 225 royal blue + 65 105 225 RoyalBlue + 0 0 255 blue + 30 144 255 dodger blue + 30 144 255 DodgerBlue + 0 191 255 deep sky blue + 0 191 255 DeepSkyBlue +135 206 235 sky blue +135 206 235 SkyBlue +135 206 250 light sky blue +135 206 250 LightSkyBlue + 70 130 180 steel blue + 70 130 180 SteelBlue +176 196 222 light steel blue +176 196 222 LightSteelBlue +173 216 230 light blue +173 216 230 LightBlue +176 224 230 powder blue +176 224 230 PowderBlue +175 238 238 pale turquoise +175 238 238 PaleTurquoise + 0 206 209 dark turquoise + 0 206 209 DarkTurquoise + 72 209 204 medium turquoise + 72 209 204 MediumTurquoise + 64 224 208 turquoise + 0 255 255 cyan +224 255 255 light cyan +224 255 255 LightCyan + 95 158 160 cadet blue + 95 158 160 CadetBlue +102 205 170 medium aquamarine +102 205 170 MediumAquamarine +127 255 212 aquamarine + 0 100 0 dark green + 0 100 0 DarkGreen + 85 107 47 dark olive green + 85 107 47 DarkOliveGreen +143 188 143 dark sea green +143 188 143 DarkSeaGreen + 46 139 87 sea green + 46 139 87 SeaGreen + 60 179 113 medium sea green + 60 179 113 MediumSeaGreen + 32 178 170 light sea green + 32 178 170 LightSeaGreen +152 251 152 pale green +152 251 152 PaleGreen + 0 255 127 spring green + 0 255 127 SpringGreen +124 252 0 lawn green +124 252 0 LawnGreen + 0 255 0 green +127 255 0 chartreuse + 0 250 154 medium spring green + 0 250 154 MediumSpringGreen +173 255 47 green yellow +173 255 47 GreenYellow + 50 205 50 lime green + 50 205 50 LimeGreen +154 205 50 yellow green +154 205 50 YellowGreen + 34 139 34 forest green + 34 139 34 ForestGreen +107 142 35 olive drab +107 142 35 OliveDrab +189 183 107 dark khaki +189 183 107 DarkKhaki +240 230 140 khaki +238 232 170 pale goldenrod +238 232 170 PaleGoldenrod +250 250 210 light goldenrod yellow +250 250 210 LightGoldenrodYellow +255 255 224 light yellow +255 255 224 LightYellow +255 255 0 yellow +255 215 0 gold +238 221 130 light goldenrod +238 221 130 LightGoldenrod +218 165 32 goldenrod +184 134 11 dark goldenrod +184 134 11 DarkGoldenrod +188 143 143 rosy brown +188 143 143 RosyBrown +205 92 92 indian red +205 92 92 IndianRed +139 69 19 saddle brown +139 69 19 SaddleBrown +160 82 45 sienna +205 133 63 peru +222 184 135 burlywood +245 245 220 beige +245 222 179 wheat +244 164 96 sandy brown +244 164 96 SandyBrown +210 180 140 tan +210 105 30 chocolate +178 34 34 firebrick +165 42 42 brown +233 150 122 dark salmon +233 150 122 DarkSalmon +250 128 114 salmon +255 160 122 light salmon +255 160 122 LightSalmon +255 165 0 orange +255 140 0 dark orange +255 140 0 DarkOrange +255 127 80 coral +240 128 128 light coral +240 128 128 LightCoral +255 99 71 tomato +255 69 0 orange red +255 69 0 OrangeRed +255 0 0 red +255 105 180 hot pink +255 105 180 HotPink +255 20 147 deep pink +255 20 147 DeepPink +255 192 203 pink +255 182 193 light pink +255 182 193 LightPink +219 112 147 pale violet red +219 112 147 PaleVioletRed +176 48 96 maroon +199 21 133 medium violet red +199 21 133 MediumVioletRed +208 32 144 violet red +208 32 144 VioletRed +255 0 255 magenta +238 130 238 violet +221 160 221 plum +218 112 214 orchid +186 85 211 medium orchid +186 85 211 MediumOrchid +153 50 204 dark orchid +153 50 204 DarkOrchid +148 0 211 dark violet +148 0 211 DarkViolet +138 43 226 blue violet +138 43 226 BlueViolet +160 32 240 purple +147 112 219 medium purple +147 112 219 MediumPurple +216 191 216 thistle +255 250 250 snow1 +238 233 233 snow2 +205 201 201 snow3 +139 137 137 snow4 +255 245 238 seashell1 +238 229 222 seashell2 +205 197 191 seashell3 +139 134 130 seashell4 +255 239 219 AntiqueWhite1 +238 223 204 AntiqueWhite2 +205 192 176 AntiqueWhite3 +139 131 120 AntiqueWhite4 +255 228 196 bisque1 +238 213 183 bisque2 +205 183 158 bisque3 +139 125 107 bisque4 +255 218 185 PeachPuff1 +238 203 173 PeachPuff2 +205 175 149 PeachPuff3 +139 119 101 PeachPuff4 +255 222 173 NavajoWhite1 +238 207 161 NavajoWhite2 +205 179 139 NavajoWhite3 +139 121 94 NavajoWhite4 +255 250 205 LemonChiffon1 +238 233 191 LemonChiffon2 +205 201 165 LemonChiffon3 +139 137 112 LemonChiffon4 +255 248 220 cornsilk1 +238 232 205 cornsilk2 +205 200 177 cornsilk3 +139 136 120 cornsilk4 +255 255 240 ivory1 +238 238 224 ivory2 +205 205 193 ivory3 +139 139 131 ivory4 +240 255 240 honeydew1 +224 238 224 honeydew2 +193 205 193 honeydew3 +131 139 131 honeydew4 +255 240 245 LavenderBlush1 +238 224 229 LavenderBlush2 +205 193 197 LavenderBlush3 +139 131 134 LavenderBlush4 +255 228 225 MistyRose1 +238 213 210 MistyRose2 +205 183 181 MistyRose3 +139 125 123 MistyRose4 +240 255 255 azure1 +224 238 238 azure2 +193 205 205 azure3 +131 139 139 azure4 +131 111 255 SlateBlue1 +122 103 238 SlateBlue2 +105 89 205 SlateBlue3 + 71 60 139 SlateBlue4 + 72 118 255 RoyalBlue1 + 67 110 238 RoyalBlue2 + 58 95 205 RoyalBlue3 + 39 64 139 RoyalBlue4 + 0 0 255 blue1 + 0 0 238 blue2 + 0 0 205 blue3 + 0 0 139 blue4 + 30 144 255 DodgerBlue1 + 28 134 238 DodgerBlue2 + 24 116 205 DodgerBlue3 + 16 78 139 DodgerBlue4 + 99 184 255 SteelBlue1 + 92 172 238 SteelBlue2 + 79 148 205 SteelBlue3 + 54 100 139 SteelBlue4 + 0 191 255 DeepSkyBlue1 + 0 178 238 DeepSkyBlue2 + 0 154 205 DeepSkyBlue3 + 0 104 139 DeepSkyBlue4 +135 206 255 SkyBlue1 +126 192 238 SkyBlue2 +108 166 205 SkyBlue3 + 74 112 139 SkyBlue4 +176 226 255 LightSkyBlue1 +164 211 238 LightSkyBlue2 +141 182 205 LightSkyBlue3 + 96 123 139 LightSkyBlue4 +198 226 255 SlateGray1 +185 211 238 SlateGray2 +159 182 205 SlateGray3 +108 123 139 SlateGray4 +202 225 255 LightSteelBlue1 +188 210 238 LightSteelBlue2 +162 181 205 LightSteelBlue3 +110 123 139 LightSteelBlue4 +191 239 255 LightBlue1 +178 223 238 LightBlue2 +154 192 205 LightBlue3 +104 131 139 LightBlue4 +224 255 255 LightCyan1 +209 238 238 LightCyan2 +180 205 205 LightCyan3 +122 139 139 LightCyan4 +187 255 255 PaleTurquoise1 +174 238 238 PaleTurquoise2 +150 205 205 PaleTurquoise3 +102 139 139 PaleTurquoise4 +152 245 255 CadetBlue1 +142 229 238 CadetBlue2 +122 197 205 CadetBlue3 + 83 134 139 CadetBlue4 + 0 245 255 turquoise1 + 0 229 238 turquoise2 + 0 197 205 turquoise3 + 0 134 139 turquoise4 + 0 255 255 cyan1 + 0 238 238 cyan2 + 0 205 205 cyan3 + 0 139 139 cyan4 +151 255 255 DarkSlateGray1 +141 238 238 DarkSlateGray2 +121 205 205 DarkSlateGray3 + 82 139 139 DarkSlateGray4 +127 255 212 aquamarine1 +118 238 198 aquamarine2 +102 205 170 aquamarine3 + 69 139 116 aquamarine4 +193 255 193 DarkSeaGreen1 +180 238 180 DarkSeaGreen2 +155 205 155 DarkSeaGreen3 +105 139 105 DarkSeaGreen4 + 84 255 159 SeaGreen1 + 78 238 148 SeaGreen2 + 67 205 128 SeaGreen3 + 46 139 87 SeaGreen4 +154 255 154 PaleGreen1 +144 238 144 PaleGreen2 +124 205 124 PaleGreen3 + 84 139 84 PaleGreen4 + 0 255 127 SpringGreen1 + 0 238 118 SpringGreen2 + 0 205 102 SpringGreen3 + 0 139 69 SpringGreen4 + 0 255 0 green1 + 0 238 0 green2 + 0 205 0 green3 + 0 139 0 green4 +127 255 0 chartreuse1 +118 238 0 chartreuse2 +102 205 0 chartreuse3 + 69 139 0 chartreuse4 +192 255 62 OliveDrab1 +179 238 58 OliveDrab2 +154 205 50 OliveDrab3 +105 139 34 OliveDrab4 +202 255 112 DarkOliveGreen1 +188 238 104 DarkOliveGreen2 +162 205 90 DarkOliveGreen3 +110 139 61 DarkOliveGreen4 +255 246 143 khaki1 +238 230 133 khaki2 +205 198 115 khaki3 +139 134 78 khaki4 +255 236 139 LightGoldenrod1 +238 220 130 LightGoldenrod2 +205 190 112 LightGoldenrod3 +139 129 76 LightGoldenrod4 +255 255 224 LightYellow1 +238 238 209 LightYellow2 +205 205 180 LightYellow3 +139 139 122 LightYellow4 +255 255 0 yellow1 +238 238 0 yellow2 +205 205 0 yellow3 +139 139 0 yellow4 +255 215 0 gold1 +238 201 0 gold2 +205 173 0 gold3 +139 117 0 gold4 +255 193 37 goldenrod1 +238 180 34 goldenrod2 +205 155 29 goldenrod3 +139 105 20 goldenrod4 +255 185 15 DarkGoldenrod1 +238 173 14 DarkGoldenrod2 +205 149 12 DarkGoldenrod3 +139 101 8 DarkGoldenrod4 +255 193 193 RosyBrown1 +238 180 180 RosyBrown2 +205 155 155 RosyBrown3 +139 105 105 RosyBrown4 +255 106 106 IndianRed1 +238 99 99 IndianRed2 +205 85 85 IndianRed3 +139 58 58 IndianRed4 +255 130 71 sienna1 +238 121 66 sienna2 +205 104 57 sienna3 +139 71 38 sienna4 +255 211 155 burlywood1 +238 197 145 burlywood2 +205 170 125 burlywood3 +139 115 85 burlywood4 +255 231 186 wheat1 +238 216 174 wheat2 +205 186 150 wheat3 +139 126 102 wheat4 +255 165 79 tan1 +238 154 73 tan2 +205 133 63 tan3 +139 90 43 tan4 +255 127 36 chocolate1 +238 118 33 chocolate2 +205 102 29 chocolate3 +139 69 19 chocolate4 +255 48 48 firebrick1 +238 44 44 firebrick2 +205 38 38 firebrick3 +139 26 26 firebrick4 +255 64 64 brown1 +238 59 59 brown2 +205 51 51 brown3 +139 35 35 brown4 +255 140 105 salmon1 +238 130 98 salmon2 +205 112 84 salmon3 +139 76 57 salmon4 +255 160 122 LightSalmon1 +238 149 114 LightSalmon2 +205 129 98 LightSalmon3 +139 87 66 LightSalmon4 +255 165 0 orange1 +238 154 0 orange2 +205 133 0 orange3 +139 90 0 orange4 +255 127 0 DarkOrange1 +238 118 0 DarkOrange2 +205 102 0 DarkOrange3 +139 69 0 DarkOrange4 +255 114 86 coral1 +238 106 80 coral2 +205 91 69 coral3 +139 62 47 coral4 +255 99 71 tomato1 +238 92 66 tomato2 +205 79 57 tomato3 +139 54 38 tomato4 +255 69 0 OrangeRed1 +238 64 0 OrangeRed2 +205 55 0 OrangeRed3 +139 37 0 OrangeRed4 +255 0 0 red1 +238 0 0 red2 +205 0 0 red3 +139 0 0 red4 +255 20 147 DeepPink1 +238 18 137 DeepPink2 +205 16 118 DeepPink3 +139 10 80 DeepPink4 +255 110 180 HotPink1 +238 106 167 HotPink2 +205 96 144 HotPink3 +139 58 98 HotPink4 +255 181 197 pink1 +238 169 184 pink2 +205 145 158 pink3 +139 99 108 pink4 +255 174 185 LightPink1 +238 162 173 LightPink2 +205 140 149 LightPink3 +139 95 101 LightPink4 +255 130 171 PaleVioletRed1 +238 121 159 PaleVioletRed2 +205 104 137 PaleVioletRed3 +139 71 93 PaleVioletRed4 +255 52 179 maroon1 +238 48 167 maroon2 +205 41 144 maroon3 +139 28 98 maroon4 +255 62 150 VioletRed1 +238 58 140 VioletRed2 +205 50 120 VioletRed3 +139 34 82 VioletRed4 +255 0 255 magenta1 +238 0 238 magenta2 +205 0 205 magenta3 +139 0 139 magenta4 +255 131 250 orchid1 +238 122 233 orchid2 +205 105 201 orchid3 +139 71 137 orchid4 +255 187 255 plum1 +238 174 238 plum2 +205 150 205 plum3 +139 102 139 plum4 +224 102 255 MediumOrchid1 +209 95 238 MediumOrchid2 +180 82 205 MediumOrchid3 +122 55 139 MediumOrchid4 +191 62 255 DarkOrchid1 +178 58 238 DarkOrchid2 +154 50 205 DarkOrchid3 +104 34 139 DarkOrchid4 +155 48 255 purple1 +145 44 238 purple2 +125 38 205 purple3 + 85 26 139 purple4 +171 130 255 MediumPurple1 +159 121 238 MediumPurple2 +137 104 205 MediumPurple3 + 93 71 139 MediumPurple4 +255 225 255 thistle1 +238 210 238 thistle2 +205 181 205 thistle3 +139 123 139 thistle4 + 0 0 0 gray0 + 0 0 0 grey0 + 3 3 3 gray1 + 3 3 3 grey1 + 5 5 5 gray2 + 5 5 5 grey2 + 8 8 8 gray3 + 8 8 8 grey3 + 10 10 10 gray4 + 10 10 10 grey4 + 13 13 13 gray5 + 13 13 13 grey5 + 15 15 15 gray6 + 15 15 15 grey6 + 18 18 18 gray7 + 18 18 18 grey7 + 20 20 20 gray8 + 20 20 20 grey8 + 23 23 23 gray9 + 23 23 23 grey9 + 26 26 26 gray10 + 26 26 26 grey10 + 28 28 28 gray11 + 28 28 28 grey11 + 31 31 31 gray12 + 31 31 31 grey12 + 33 33 33 gray13 + 33 33 33 grey13 + 36 36 36 gray14 + 36 36 36 grey14 + 38 38 38 gray15 + 38 38 38 grey15 + 41 41 41 gray16 + 41 41 41 grey16 + 43 43 43 gray17 + 43 43 43 grey17 + 46 46 46 gray18 + 46 46 46 grey18 + 48 48 48 gray19 + 48 48 48 grey19 + 51 51 51 gray20 + 51 51 51 grey20 + 54 54 54 gray21 + 54 54 54 grey21 + 56 56 56 gray22 + 56 56 56 grey22 + 59 59 59 gray23 + 59 59 59 grey23 + 61 61 61 gray24 + 61 61 61 grey24 + 64 64 64 gray25 + 64 64 64 grey25 + 66 66 66 gray26 + 66 66 66 grey26 + 69 69 69 gray27 + 69 69 69 grey27 + 71 71 71 gray28 + 71 71 71 grey28 + 74 74 74 gray29 + 74 74 74 grey29 + 77 77 77 gray30 + 77 77 77 grey30 + 79 79 79 gray31 + 79 79 79 grey31 + 82 82 82 gray32 + 82 82 82 grey32 + 84 84 84 gray33 + 84 84 84 grey33 + 87 87 87 gray34 + 87 87 87 grey34 + 89 89 89 gray35 + 89 89 89 grey35 + 92 92 92 gray36 + 92 92 92 grey36 + 94 94 94 gray37 + 94 94 94 grey37 + 97 97 97 gray38 + 97 97 97 grey38 + 99 99 99 gray39 + 99 99 99 grey39 +102 102 102 gray40 +102 102 102 grey40 +105 105 105 gray41 +105 105 105 grey41 +107 107 107 gray42 +107 107 107 grey42 +110 110 110 gray43 +110 110 110 grey43 +112 112 112 gray44 +112 112 112 grey44 +115 115 115 gray45 +115 115 115 grey45 +117 117 117 gray46 +117 117 117 grey46 +120 120 120 gray47 +120 120 120 grey47 +122 122 122 gray48 +122 122 122 grey48 +125 125 125 gray49 +125 125 125 grey49 +127 127 127 gray50 +127 127 127 grey50 +130 130 130 gray51 +130 130 130 grey51 +133 133 133 gray52 +133 133 133 grey52 +135 135 135 gray53 +135 135 135 grey53 +138 138 138 gray54 +138 138 138 grey54 +140 140 140 gray55 +140 140 140 grey55 +143 143 143 gray56 +143 143 143 grey56 +145 145 145 gray57 +145 145 145 grey57 +148 148 148 gray58 +148 148 148 grey58 +150 150 150 gray59 +150 150 150 grey59 +153 153 153 gray60 +153 153 153 grey60 +156 156 156 gray61 +156 156 156 grey61 +158 158 158 gray62 +158 158 158 grey62 +161 161 161 gray63 +161 161 161 grey63 +163 163 163 gray64 +163 163 163 grey64 +166 166 166 gray65 +166 166 166 grey65 +168 168 168 gray66 +168 168 168 grey66 +171 171 171 gray67 +171 171 171 grey67 +173 173 173 gray68 +173 173 173 grey68 +176 176 176 gray69 +176 176 176 grey69 +179 179 179 gray70 +179 179 179 grey70 +181 181 181 gray71 +181 181 181 grey71 +184 184 184 gray72 +184 184 184 grey72 +186 186 186 gray73 +186 186 186 grey73 +189 189 189 gray74 +189 189 189 grey74 +191 191 191 gray75 +191 191 191 grey75 +194 194 194 gray76 +194 194 194 grey76 +196 196 196 gray77 +196 196 196 grey77 +199 199 199 gray78 +199 199 199 grey78 +201 201 201 gray79 +201 201 201 grey79 +204 204 204 gray80 +204 204 204 grey80 +207 207 207 gray81 +207 207 207 grey81 +209 209 209 gray82 +209 209 209 grey82 +212 212 212 gray83 +212 212 212 grey83 +214 214 214 gray84 +214 214 214 grey84 +217 217 217 gray85 +217 217 217 grey85 +219 219 219 gray86 +219 219 219 grey86 +222 222 222 gray87 +222 222 222 grey87 +224 224 224 gray88 +224 224 224 grey88 +227 227 227 gray89 +227 227 227 grey89 +229 229 229 gray90 +229 229 229 grey90 +232 232 232 gray91 +232 232 232 grey91 +235 235 235 gray92 +235 235 235 grey92 +237 237 237 gray93 +237 237 237 grey93 +240 240 240 gray94 +240 240 240 grey94 +242 242 242 gray95 +242 242 242 grey95 +245 245 245 gray96 +245 245 245 grey96 +247 247 247 gray97 +247 247 247 grey97 +250 250 250 gray98 +250 250 250 grey98 +252 252 252 gray99 +252 252 252 grey99 +255 255 255 gray100 +255 255 255 grey100 diff --git a/vms/SetUp.com b/vms/SetUp.com new file mode 100755 index 00000000..077318b5 --- /dev/null +++ b/vms/SetUp.com @@ -0,0 +1,37 @@ +$ VERIFY = F$Verify (0) +$ On Error Then GoTo EXIT +$ Write Sys$Output "SETting UP PBMplus (ver netpbm-VMS)..." +$! +$! Keep this proc in the top directory of the PBMPLUS tree. Execute it from +$! anywhere and it will set up command symbols for all executables in the +$! PBMplus_Root:[EXE] directory. +$! There is a problem if this directory is located in a "rooted" +$! directory structure already. It is not possible to define a "rooted" +$! directory twice, i.e.: +$! BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD +$! BAD BAD +$! BAD Define /Trans=conceal Public Disk$:[Dir.] BAD +$! BAD Define /Trans=conceal PBMplus_Root Public:[PBMplus.] BAD +$! BAD BAD +$! BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD +$! THIS WILL NOT WORK! In this case, you will have to manually define +$! PBMplus_Root instead of the autosensing feature below.... +$! +$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("PROCEDURE")) + ".]" +$ Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'" +$ Define PBMplus_Dir PBMplus_Root:[000000] +$ Define PBMplusShr PBMplus_Dir:PBMplusShr +$ NAME = "PBMplus_Root:[Exe]*.EXE" +$LOOP: +$ PROG = F$Search (NAME) +$ If PROG .nes. "" +$ Then +$ PROG = PROG - F$Parse (PROG, , , "VERSION") +$ CMD = F$Parse (PROG, , , "NAME") +$ 'CMD' :== $ 'PROG' +$ GoTo LOOP +$ EndIf +$ @ PBMplus_Dir:ADD_LIST Hlp$Library PBMplus_Dir:PBMPLUS.HLB +$EXIT: +$ VERIFY = F$Verify (VERIFY) +$ Exit diff --git a/vms/stamp-date.com b/vms/stamp-date.com new file mode 100755 index 00000000..349f6626 --- /dev/null +++ b/vms/stamp-date.com @@ -0,0 +1,25 @@ +$!# Copyright (C) 1993 by Oliver Trepte. +$!# +$!# Permission to use, copy, modify, and distribute this software and its +$!# documentation for any purpose and without fee is hereby granted, provided +$!# that the above copyright notice appear in all copies and that both that +$!# copyright notice and this permission notice appear in supporting +$!# documentation. This software is provided "as is" without express or +$!# implied warranty. +$!# +$!# This shell script creates a file called "compile_time.h" which holds +$!# a define stating the compilation time. This is used for the -version +$!# flag. +$!# +$!# modified to a VMS command procedure by Rick Dyson 29-NOV-1993 + +$ OUTFILE := "compile.h" +$ DATE := "''F$Time ()'" +$ USER := "''F$GetJPI (F$GetJPI ("", "PID"), "USERNAME")'" +$ Open /Write OUTFILE compile.h +$ Write OUTFILE "/* compile_time.h This file tells the package when it was compiled */" +$ Write OUTFILE "/* DO NOT EDIT - THIS FILE IS MAINTAINED AUTOMATICALLY */" +$ Write OUTFILE "#define COMPILE_TIME ""''DATE'""" +$ Write OUTFILE "#define COMPILED_BY ""''USER'""" +$ Close OUTFILE +$ Exit -- cgit 1.4.1