\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi \doTocEntry\toclikechapter{}{\csname a:TocLink\endcsname{2}{x2-1000}{QQ2-2-1}{Contents}}{3}\relax \doTocEntry\toclikechapter{}{\csname a:TocLink\endcsname{3}{x3-2000}{QQ2-3-2}{List of Figures}}{7}\relax \doTocEntry\toclikechapter{}{\csname a:TocLink\endcsname{4}{x4-3000}{QQ2-4-3}{List of Tables}}{11}\relax \doTocEntry\tocchapter{1}{\csname a:TocLink\endcsname{5}{x5-40001}{QQ2-5-4}{VIPS from C++ and Python}}{3}\relax \doTocEntry\tocsection{1.1}{\csname a:TocLink\endcsname{6}{x6-50001.1}{QQ2-6-5}{Introduction}}{3}\relax \doTocEntry\tocsubsection{1.1.1}{\csname a:TocLink\endcsname{6}{x6-60001.1.1}{QQ2-6-6}{If you've used the C API}}{3}\relax \doTocEntry\toclof{1.1}{\csname a:TocLink\endcsname{6}{x6-60011}{}{\ignorespaces \texttt {invert} program in C++}}{figure}\relax \doTocEntry\toclof{1.2}{\csname a:TocLink\endcsname{6}{x6-60022}{}{\ignorespaces \texttt {invert} program in Python}}{figure}\relax \doTocEntry\tocsection{1.2}{\csname a:TocLink\endcsname{7}{x7-70001.2}{QQ2-7-9}{The VIPS file format}}{11}\relax \doTocEntry\tocsubsection{1.2.1}{\csname a:TocLink\endcsname{7}{x7-80001.2.1}{QQ2-7-10}{VIPS file header}}{11}\relax \doTocEntry\toclot{1.1}{\csname a:TocLink\endcsname{7}{x7-80011}{}{\ignorespaces VIPS header}}{table}\relax \doTocEntry\toclot{1.2}{\csname a:TocLink\endcsname{7}{x7-80022}{}{\ignorespaces Possible values for \texttt {BandFmt}}}{table}\relax \doTocEntry\toclot{1.3}{\csname a:TocLink\endcsname{7}{x7-80033}{}{\ignorespaces Possible values for \texttt {Coding}}}{table}\relax \doTocEntry\toclot{1.4}{\csname a:TocLink\endcsname{7}{x7-80044}{}{\ignorespaces Possible values for \texttt {Type}}}{table}\relax \doTocEntry\tocsubsection{1.2.2}{\csname a:TocLink\endcsname{7}{x7-90001.2.2}{QQ2-7-15}{Computation formats}}{23}\relax \doTocEntry\tocsubsection{1.2.3}{\csname a:TocLink\endcsname{7}{x7-100001.2.3}{QQ2-7-16}{Storage formats}}{23}\relax \doTocEntry\tocsection{1.3}{\csname a:TocLink\endcsname{8}{x8-110001.3}{QQ2-8-17}{The \texttt {VImage} class}}{24}\relax \doTocEntry\tocsubsection{1.3.1}{\csname a:TocLink\endcsname{8}{x8-120001.3.1}{QQ2-8-18}{Constructors}}{24}\relax \doTocEntry\tocsubsection{1.3.2}{\csname a:TocLink\endcsname{8}{x8-130001.3.2}{QQ2-8-19}{File conversion}}{25}\relax \doTocEntry\tocsubsection{1.3.3}{\csname a:TocLink\endcsname{8}{x8-140001.3.3}{QQ2-8-20}{Projection functions}}{26}\relax \doTocEntry\tocsubsection{1.3.4}{\csname a:TocLink\endcsname{8}{x8-150001.3.4}{QQ2-8-21}{Assignment}}{28}\relax \doTocEntry\tocsubsection{1.3.5}{\csname a:TocLink\endcsname{8}{x8-160001.3.5}{QQ2-8-22}{Computing with \texttt {VImage}s}}{29}\relax \doTocEntry\tocsubsection{1.3.6}{\csname a:TocLink\endcsname{8}{x8-170001.3.6}{QQ2-8-23}{Writing results}}{30}\relax \doTocEntry\tocsubsection{1.3.7}{\csname a:TocLink\endcsname{8}{x8-180001.3.7}{QQ2-8-24}{Type conversions}}{31}\relax \doTocEntry\tocsection{1.4}{\csname a:TocLink\endcsname{9}{x9-190001.4}{QQ2-9-25}{The \texttt {VMask} class}}{33}\relax \doTocEntry\tocsubsection{1.4.1}{\csname a:TocLink\endcsname{9}{x9-200001.4.1}{QQ2-9-26}{Constructors}}{33}\relax \doTocEntry\tocsubsection{1.4.2}{\csname a:TocLink\endcsname{9}{x9-210001.4.2}{QQ2-9-27}{Projection functions}}{33}\relax \doTocEntry\tocsubsection{1.4.3}{\csname a:TocLink\endcsname{9}{x9-220001.4.3}{QQ2-9-28}{Assignment}}{34}\relax \doTocEntry\tocsubsection{1.4.4}{\csname a:TocLink\endcsname{9}{x9-230001.4.4}{QQ2-9-29}{Computing with \texttt {VMask}}}{34}\relax \doTocEntry\tocsubsection{1.4.5}{\csname a:TocLink\endcsname{9}{x9-240001.4.5}{QQ2-9-30}{\texttt {VIMask} operations}}{35}\relax \doTocEntry\tocsubsection{1.4.6}{\csname a:TocLink\endcsname{9}{x9-250001.4.6}{QQ2-9-31}{\texttt {VDMask} operations}}{36}\relax \doTocEntry\tocsubsection{1.4.7}{\csname a:TocLink\endcsname{9}{x9-260001.4.7}{QQ2-9-32}{Output of masks}}{36}\relax \doTocEntry\tocsection{1.5}{\csname a:TocLink\endcsname{10}{x10-270001.5}{QQ2-10-33}{The \texttt {VDisplay} class}}{37}\relax \doTocEntry\tocsubsection{1.5.1}{\csname a:TocLink\endcsname{10}{x10-280001.5.1}{QQ2-10-34}{Constructors}}{37}\relax \doTocEntry\tocsubsection{1.5.2}{\csname a:TocLink\endcsname{10}{x10-290001.5.2}{QQ2-10-35}{Projection functions}}{38}\relax \doTocEntry\tocsection{1.6}{\csname a:TocLink\endcsname{11}{x11-300001.6}{QQ2-11-36}{The \texttt {VError} class}}{40}\relax \doTocEntry\tocsubsection{1.6.1}{\csname a:TocLink\endcsname{11}{x11-310001.6.1}{QQ2-11-37}{Constructors}}{40}\relax \doTocEntry\tocsubsection{1.6.2}{\csname a:TocLink\endcsname{11}{x11-320001.6.2}{QQ2-11-38}{Projection functions}}{40}\relax \doTocEntry\tocsubsection{1.6.3}{\csname a:TocLink\endcsname{11}{x11-330001.6.3}{QQ2-11-39}{Computing with \texttt {VError}}}{41}\relax \doTocEntry\tocsubsection{1.6.4}{\csname a:TocLink\endcsname{11}{x11-340001.6.4}{QQ2-11-40}{Convenience function}}{43}\relax \doTocEntry\tocchapter{2}{\csname a:TocLink\endcsname{12}{x12-350002}{QQ2-12-41}{VIPS for C programmers}}{47}\relax \doTocEntry\tocsection{2.1}{\csname a:TocLink\endcsname{13}{x13-360002.1}{QQ2-13-42}{Introduction}}{47}\relax \doTocEntry\toclof{2.1}{\csname a:TocLink\endcsname{13}{x13-360011}{}{\ignorespaces VIPS software architecture}}{figure}\relax \doTocEntry\tocsection{2.2}{\csname a:TocLink\endcsname{14}{x14-370002.2}{QQ2-14-44}{Core C API}}{52}\relax \doTocEntry\tocsubsection{2.2.1}{\csname a:TocLink\endcsname{14}{x14-380002.2.1}{QQ2-14-45}{Startup}}{52}\relax \doTocEntry\toclof{2.2}{\csname a:TocLink\endcsname{14}{x14-380012}{}{\ignorespaces Hello World for VIPS}}{figure}\relax \doTocEntry\tocsubsection{2.2.2}{\csname a:TocLink\endcsname{14}{x14-390002.2.2}{QQ2-14-47}{Image descriptors}}{56}\relax \doTocEntry\toclof{2.3}{\csname a:TocLink\endcsname{14}{x14-390013}{}{\ignorespaces The \texttt {IMAGE} descriptor}}{figure}\relax \doTocEntry\tocsubsection{2.2.3}{\csname a:TocLink\endcsname{14}{x14-400002.2.3}{QQ2-14-49}{Header fields}}{59}\relax \doTocEntry\tocsubsection{2.2.4}{\csname a:TocLink\endcsname{14}{x14-410002.2.4}{QQ2-14-50}{Opening and closing}}{59}\relax \doTocEntry\tocsubsection{2.2.5}{\csname a:TocLink\endcsname{14}{x14-420002.2.5}{QQ2-14-51}{Examples}}{63}\relax \doTocEntry\toclof{2.4}{\csname a:TocLink\endcsname{14}{x14-420014}{}{\ignorespaces Print width and height of an image}}{figure}\relax \doTocEntry\toclof{2.5}{\csname a:TocLink\endcsname{14}{x14-420025}{}{\ignorespaces Find photographic negative}}{figure}\relax \doTocEntry\tocsubsection{2.2.6}{\csname a:TocLink\endcsname{14}{x14-430002.2.6}{QQ2-14-54}{Metadata}}{69}\relax \doTocEntry\tocsubsection{2.2.7}{\csname a:TocLink\endcsname{14}{x14-440002.2.7}{QQ2-14-55}{History}}{70}\relax \doTocEntry\tocsubsection{2.2.8}{\csname a:TocLink\endcsname{14}{x14-450002.2.8}{QQ2-14-56}{Eval callbacks}}{71}\relax \doTocEntry\tocsubsection{2.2.9}{\csname a:TocLink\endcsname{14}{x14-460002.2.9}{QQ2-14-57}{Detailed rules for descriptors}}{71}\relax \doTocEntry\tocsubsection{2.2.10}{\csname a:TocLink\endcsname{14}{x14-470002.2.10}{QQ2-14-58}{Automatic resource deallocation}}{72}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{14}{x14-480002.2.10}{QQ2-14-59}{Local image descriptors}}{72}\relax \doTocEntry\toclof{2.6}{\csname a:TocLink\endcsname{14}{x14-480016}{}{\ignorespaces Sum an array of images}}{figure}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{14}{x14-490002.2.10}{QQ2-14-61}{Local memory allocation}}{75}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{14}{x14-500002.2.10}{QQ2-14-62}{Other local operations}}{77}\relax \doTocEntry\tocsubsection{2.2.11}{\csname a:TocLink\endcsname{14}{x14-510002.2.11}{QQ2-14-63}{Error handling}}{77}\relax \doTocEntry\tocsubsection{2.2.12}{\csname a:TocLink\endcsname{14}{x14-520002.2.12}{QQ2-14-64}{Joining operations together}}{77}\relax \doTocEntry\toclof{2.7}{\csname a:TocLink\endcsname{14}{x14-520017}{}{\ignorespaces Two image-processing operations joined together}}{figure}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{14}{x14-530002.2.12}{QQ2-14-66}{How it works}}{80}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{14}{x14-540002.2.12}{QQ2-14-67}{Pitfalls with partials}}{80}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{14}{x14-550002.2.12}{QQ2-14-68}{Non-image output}}{80}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{14}{x14-560002.2.12}{QQ2-14-69}{Calculating twice}}{80}\relax \doTocEntry\toclof{2.8}{\csname a:TocLink\endcsname{14}{x14-560018}{}{\ignorespaces Threshold an image at the mean value}}{figure}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{14}{x14-570002.2.12}{QQ2-14-71}{Blocking computation}}{83}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{14}{x14-580002.2.12}{QQ2-14-72}{Limitations}}{83}\relax \doTocEntry\tocsection{2.3}{\csname a:TocLink\endcsname{15}{x15-590002.3}{QQ2-15-73}{Function dispatch and plug-ins}}{84}\relax \doTocEntry\tocsubsection{2.3.1}{\csname a:TocLink\endcsname{15}{x15-600002.3.1}{QQ2-15-74}{Simple plugin example}}{84}\relax \doTocEntry\toclot{2.1}{\csname a:TocLink\endcsname{15}{x15-600011}{}{\ignorespaces Argument type macros}}{table}\relax \doTocEntry\tocsubsection{2.3.2}{\csname a:TocLink\endcsname{15}{x15-610002.3.2}{QQ2-15-76}{A more complicated example}}{91}\relax \doTocEntry\tocsubsection{2.3.3}{\csname a:TocLink\endcsname{15}{x15-620002.3.3}{QQ2-15-77}{Adding new types}}{92}\relax \doTocEntry\tocsubsection{2.3.4}{\csname a:TocLink\endcsname{15}{x15-630002.3.4}{QQ2-15-78}{Using function dispatch in your application}}{97}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{15}{x15-640002.3.4}{QQ2-15-79}{Adding and removing functions}}{97}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{15}{x15-650002.3.4}{QQ2-15-80}{Searching the function database}}{98}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{15}{x15-660002.3.4}{QQ2-15-81}{Building argument structures and running commands}}{99}\relax \doTocEntry\tocchapter{3}{\csname a:TocLink\endcsname{16}{x16-670003}{QQ2-16-82}{Writing VIPS operations}}{105}\relax \doTocEntry\tocsection{3.1}{\csname a:TocLink\endcsname{17}{x17-680003.1}{QQ2-17-83}{Introduction}}{105}\relax \doTocEntry\tocsubsection{3.1.1}{\csname a:TocLink\endcsname{17}{x17-690003.1.1}{QQ2-17-84}{Why use VIPS?}}{105}\relax \doTocEntry\tocsubsection{3.1.2}{\csname a:TocLink\endcsname{17}{x17-700003.1.2}{QQ2-17-85}{I/O styles}}{106}\relax \doTocEntry\tocsubsection{3.1.3}{\csname a:TocLink\endcsname{17}{x17-710003.1.3}{QQ2-17-86}{What's new in this version}}{106}\relax \doTocEntry\tocsection{3.2}{\csname a:TocLink\endcsname{18}{x18-720003.2}{QQ2-18-87}{Programming WIO operations}}{107}\relax \doTocEntry\tocsubsection{3.2.1}{\csname a:TocLink\endcsname{18}{x18-730003.2.1}{QQ2-18-88}{Input from an image}}{107}\relax \doTocEntry\toclof{3.1}{\csname a:TocLink\endcsname{18}{x18-730011}{}{\ignorespaces Find average of image}}{figure}\relax \doTocEntry\tocsubsection{3.2.2}{\csname a:TocLink\endcsname{18}{x18-740003.2.2}{QQ2-18-90}{Output to an image}}{111}\relax \doTocEntry\toclof{3.2}{\csname a:TocLink\endcsname{18}{x18-740012}{}{\ignorespaces Invert an image}}{figure}\relax \doTocEntry\tocsubsection{3.2.3}{\csname a:TocLink\endcsname{18}{x18-750003.2.3}{QQ2-18-92}{Polymorphism}}{117}\relax \doTocEntry\toclof{3.3}{\csname a:TocLink\endcsname{18}{x18-750013}{}{\ignorespaces Calculate \texttt {exp()} for an image}}{figure}\relax \doTocEntry\toclof{3.4}{\csname a:TocLink\endcsname{18}{x18-750024}{}{\ignorespaces Calculate \texttt {exp()} for an image (cont)}}{figure}\relax \doTocEntry\tocsection{3.3}{\csname a:TocLink\endcsname{19}{x19-760003.3}{QQ2-19-95}{Programming PIO functions}}{124}\relax \doTocEntry\tocsubsection{3.3.1}{\csname a:TocLink\endcsname{19}{x19-770003.3.1}{QQ2-19-96}{Easy PIO with \texttt {im\_wrapone()} and \texttt {im\_wrapmany()}}}{124}\relax \doTocEntry\tocsubsection{3.3.2}{\csname a:TocLink\endcsname{19}{x19-780003.3.2}{QQ2-19-97}{Region descriptors}}{130}\relax \doTocEntry\tocsubsection{3.3.3}{\csname a:TocLink\endcsname{19}{x19-790003.3.3}{QQ2-19-98}{Image input with regions}}{132}\relax \doTocEntry\toclof{3.5}{\csname a:TocLink\endcsname{19}{x19-790015}{}{\ignorespaces First PIO average of image}}{figure}\relax \doTocEntry\toclof{3.6}{\csname a:TocLink\endcsname{19}{x19-790026}{}{\ignorespaces First PIO average of image (cont.)}}{figure}\relax \doTocEntry\tocsubsection{3.3.4}{\csname a:TocLink\endcsname{19}{x19-800003.3.4}{QQ2-19-101}{Splitting into sequences}}{140}\relax \doTocEntry\toclof{3.7}{\csname a:TocLink\endcsname{19}{x19-800017}{}{\ignorespaces Final PIO average of image}}{figure}\relax \doTocEntry\toclof{3.8}{\csname a:TocLink\endcsname{19}{x19-800028}{}{\ignorespaces Final PIO average of image (cont.)}}{figure}\relax \doTocEntry\toclof{3.9}{\csname a:TocLink\endcsname{19}{x19-800039}{}{\ignorespaces Final PIO average of image (cont.)}}{figure}\relax \doTocEntry\tocsubsection{3.3.5}{\csname a:TocLink\endcsname{19}{x19-810003.3.5}{QQ2-19-105}{Output to regions}}{150}\relax \doTocEntry\toclof{3.10}{\csname a:TocLink\endcsname{19}{x19-8100110}{}{\ignorespaces PIO invert}}{figure}\relax \doTocEntry\toclof{3.11}{\csname a:TocLink\endcsname{19}{x19-8100211}{}{\ignorespaces PIO invert (cont.)}}{figure}\relax \doTocEntry\tocsubsection{3.3.6}{\csname a:TocLink\endcsname{19}{x19-820003.3.6}{QQ2-19-108}{Callbacks}}{157}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{19}{x19-830003.3.6}{QQ2-19-109}{Close callbacks}}{157}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{19}{x19-840003.3.6}{QQ2-19-110}{Eval callbacks}}{158}\relax \doTocEntry\tocsubsubsection{}{\csname a:TocLink\endcsname{19}{x19-850003.3.6}{QQ2-19-111}{Evalend callbacks}}{158}\relax \doTocEntry\tocsubsection{3.3.7}{\csname a:TocLink\endcsname{19}{x19-860003.3.7}{QQ2-19-112}{Memory allocation revisited}}{158}\relax \doTocEntry\tocsection{3.4}{\csname a:TocLink\endcsname{20}{x20-870003.4}{QQ2-20-113}{Programming in-place functions}}{159}\relax \doTocEntry\tocchapter{4}{\csname a:TocLink\endcsname{21}{x21-880004}{QQ2-21-114}{VIPS reference}}{163}\relax \doTocEntry\tocsection{4.1}{\csname a:TocLink\endcsname{22}{x22-890004.1}{QQ2-22-115}{Introduction}}{163}\relax \doTocEntry\toclot{4.1}{\csname a:TocLink\endcsname{22}{x22-890011}{}{\ignorespaces Miscellaneous programs}}{table}\relax \doTocEntry\tocsection{4.2}{\csname a:TocLink\endcsname{23}{x23-900004.2}{QQ2-23-117}{VIPS packages}}{169}\relax \doTocEntry\tocsubsection{4.2.1}{\csname a:TocLink\endcsname{23}{x23-910004.2.1}{QQ2-23-118}{Arithmetic}}{169}\relax \doTocEntry\toclof{4.1}{\csname a:TocLink\endcsname{23}{x23-910011}{}{\ignorespaces Arithmetic functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.2}{\csname a:TocLink\endcsname{23}{x23-920004.2.2}{QQ2-23-120}{Relational}}{172}\relax \doTocEntry\toclof{4.2}{\csname a:TocLink\endcsname{23}{x23-920012}{}{\ignorespaces Relational functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.3}{\csname a:TocLink\endcsname{23}{x23-930004.2.3}{QQ2-23-122}{Boolean}}{175}\relax \doTocEntry\toclof{4.3}{\csname a:TocLink\endcsname{23}{x23-930013}{}{\ignorespaces Boolean functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.4}{\csname a:TocLink\endcsname{23}{x23-940004.2.4}{QQ2-23-124}{Colour}}{178}\relax \doTocEntry\toclof{4.4}{\csname a:TocLink\endcsname{23}{x23-940014}{}{\ignorespaces VIPS colour space conversion}}{figure}\relax \doTocEntry\toclof{4.5}{\csname a:TocLink\endcsname{23}{x23-940025}{}{\ignorespaces Colour functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.5}{\csname a:TocLink\endcsname{23}{x23-950004.2.5}{QQ2-23-127}{Conversion}}{184}\relax \doTocEntry\toclof{4.6}{\csname a:TocLink\endcsname{23}{x23-950016}{}{\ignorespaces Conversion functions}}{figure}\relax \doTocEntry\toclof{4.7}{\csname a:TocLink\endcsname{23}{x23-950027}{}{\ignorespaces Conversion functions (cont.)}}{figure}\relax \doTocEntry\tocsubsection{4.2.6}{\csname a:TocLink\endcsname{23}{x23-960004.2.6}{QQ2-23-130}{Matricies}}{190}\relax \doTocEntry\toclof{4.8}{\csname a:TocLink\endcsname{23}{x23-960018}{}{\ignorespaces Matrix functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.7}{\csname a:TocLink\endcsname{23}{x23-970004.2.7}{QQ2-23-132}{Convolution}}{194}\relax \doTocEntry\toclof{4.9}{\csname a:TocLink\endcsname{23}{x23-970019}{}{\ignorespaces Convolution functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.8}{\csname a:TocLink\endcsname{23}{x23-980004.2.8}{QQ2-23-134}{In-place operations}}{197}\relax \doTocEntry\toclof{4.10}{\csname a:TocLink\endcsname{23}{x23-9800110}{}{\ignorespaces In-place operations}}{figure}\relax \doTocEntry\tocsubsection{4.2.9}{\csname a:TocLink\endcsname{23}{x23-990004.2.9}{QQ2-23-136}{Frequency filtering}}{200}\relax \doTocEntry\toclof{4.11}{\csname a:TocLink\endcsname{23}{x23-9900111}{}{\ignorespaces Fourier functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.10}{\csname a:TocLink\endcsname{23}{x23-1000004.2.10}{QQ2-23-138}{Histograms and LUTs}}{203}\relax \doTocEntry\toclof{4.12}{\csname a:TocLink\endcsname{23}{x23-10000112}{}{\ignorespaces Histogram/LUT functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.11}{\csname a:TocLink\endcsname{23}{x23-1010004.2.11}{QQ2-23-140}{Morphology}}{206}\relax \doTocEntry\toclof{4.13}{\csname a:TocLink\endcsname{23}{x23-10100113}{}{\ignorespaces Morphological functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.12}{\csname a:TocLink\endcsname{23}{x23-1020004.2.12}{QQ2-23-142}{Mosaicing}}{209}\relax \doTocEntry\toclof{4.14}{\csname a:TocLink\endcsname{23}{x23-10200114}{}{\ignorespaces Mosaic functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.13}{\csname a:TocLink\endcsname{23}{x23-1030004.2.13}{QQ2-23-144}{Other}}{212}\relax \doTocEntry\toclof{4.15}{\csname a:TocLink\endcsname{23}{x23-10300115}{}{\ignorespaces Other functions}}{figure}\relax \doTocEntry\tocsubsection{4.2.14}{\csname a:TocLink\endcsname{23}{x23-1040004.2.14}{QQ2-23-146}{IO functions}}{215}\relax \doTocEntry\toclof{4.16}{\csname a:TocLink\endcsname{23}{x23-10400116}{}{\ignorespaces IO functions}}{figure}\relax \par