| Procedure | Location | Procedure Type | Description | 
|---|---|---|---|
| allocate_colors | lut | Subroutine | |
| allocate_pixels | pnm | Subroutine | Allocates memory for the pixels of the PNM image. | 
| aspect_ratio | pnm | Subroutine | Calculates the aspect ratio of the image. Required for  | 
| average_colors | pnm | Subroutine | Calculates the average color values of the image. Required for  | 
| brighten | pnm | Subroutine | Brightens or darkens the image. Only supported for PGM and PPM images. | 
| check | example26 | Subroutine | |
| check_pixel_range | pnm | Subroutine | Checks if the pixel values are within the valid range. | 
| cmyk_to_rgb | forcolor | Subroutine | |
| convert | forcolor | Subroutine | |
| copy_color | forcolor | Subroutine | |
| crop | pnm | Subroutine | Crops the image to a specified region. | 
| deallocate_lut | lut | Subroutine | |
| deallocate_pnm | pnm | Subroutine | Deallocates memory for the PNM image. | 
| decimal_to_rgb | forcolor | Subroutine | |
| decode_binary_pbm_pixels | pnm | Subroutine | Unpacks binary data from a character buffer into the image's pixel array. | 
| encode_binary_pbm_pixels | pnm | Function | Packs pixel bits into characters to create the binary representation for PBM images. | 
| export | lut | Subroutine | |
| export_pnm | pnm | Subroutine | Writes the PNM image to a file. | 
| find_nearest | forcolor | Subroutine | |
| flip_horizontal | pnm | Subroutine | Flips the image horizontally. | 
| flip_vertical | pnm | Subroutine | Flips the image vertically. | 
| get | forcolor | Subroutine | |
| get_b | forcolor | Function | |
| get_cmyk | forcolor | Subroutine | |
| get_colors | lut | Function | |
| get_decimal | forcolor | Subroutine | |
| get_dim_colors | lut | Function | |
| get_format | pnm | Function | Gets the encoding of the PNM image. | 
| get_g | forcolor | Function | |
| get_hex | forcolor | Subroutine | |
| get_hsl | forcolor | Subroutine | |
| get_hsv | forcolor | Subroutine | |
| get_name | forcolor | Subroutine | |
| get_num_colors | lut | Function | |
| get_r | forcolor | Function | |
| get_rgb | forcolor | Subroutine | |
| get_xyz | forcolor | Subroutine | |
| greyscale | pnm | Subroutine | Converts a color image to greyscale. Only supported for PPM images. | 
| hex_to_rgb | forcolor | Subroutine | |
| hsl_to_rgb | forcolor | Subroutine | |
| hsv_to_rgb | forcolor | Subroutine | |
| import | lut | Subroutine | |
| import_pnm | pnm | Subroutine | Reads a PNM image from a file. | 
| initialize_colors | forcolor | Subroutine | |
| mandelbrot | demo_ppm | Function | |
| negative | pnm | Subroutine | Inverts the colors of the image. | 
| pixel_size | pnm | Subroutine | Calculates imgae size in KB and MB. Required for  | 
| forcolor | Subroutine | ||
| print_available_colors | forcolor | Subroutine | |
| print_cmyk | forcolor | Subroutine | |
| print_decimal | forcolor | Subroutine | |
| print_hex | forcolor | Subroutine | |
| print_hsl | forcolor | Subroutine | |
| print_hsv | forcolor | Subroutine | |
| print_info | pnm | Subroutine | Displays information about the image e.g. dimensions, aspect ratio, etc. | 
| print_name | forcolor | Subroutine | |
| print_rgb | forcolor | Subroutine | |
| print_xyz | forcolor | Subroutine | |
| read_header | pnm | Subroutine | Reads the header of the PNM image from a file. Required before reading the pixels from the file. | 
| remove_channels | pnm | Subroutine | Removes one or more RGB channels from the image. Only supported for PPM images. | 
| resize | pnm | Subroutine | Resizes the image to specified dimensions. | 
| rgb_to_cmyk | forcolor | Subroutine | |
| rgb_to_decimal | forcolor | Subroutine | |
| rgb_to_hex | forcolor | Subroutine | |
| rgb_to_hsl | forcolor | Subroutine | |
| rgb_to_hsv | forcolor | Subroutine | |
| rgb_to_xyz | forcolor | Subroutine | |
| rotate | pnm | Subroutine | Rotates the image by a specified angle. Supported angles are 90, 180, 270, -90, -180, -270. | 
| save | forcolor | Subroutine | |
| save_available_colors | forcolor | Subroutine | |
| set | lut | Subroutine | |
| set | forcolor | Subroutine | |
| set_by_name | forcolor | Subroutine | |
| set_cmyk | forcolor | Subroutine | |
| set_colors | lut | Subroutine | |
| set_comment | pnm | Subroutine | Sets a comment for the PNM image. | 
| set_decimal | forcolor | Subroutine | |
| set_dim_colors | lut | Subroutine | |
| set_file_format | pnm | Subroutine | Sets the file format of the PNM image. Supported values are  | 
| set_format | pnm | Subroutine | Sets the encoding of the PNM image. Supported values are  | 
| set_header | pnm | Subroutine | Sets the header of the PNM image. The header includes the magic number, width, height, comment, and max_color. | 
| set_height | pnm | Subroutine | Sets the height of the PNM image. | 
| set_hex | forcolor | Subroutine | |
| set_hsl | forcolor | Subroutine | |
| set_hsv | forcolor | Subroutine | |
| set_magicnumber | pnm | Subroutine | Sets the magic number of the PNM image. Supported values are  | 
| set_max_color | pnm | Subroutine | Sets the maximum color value of the PNM image. Only required for PGM and PPM images | 
| set_name | forcolor | Subroutine | |
| set_num_colors | lut | Subroutine | |
| set_pixel_a | pnm | Subroutine | Sets the pixel values of the PNM image. | 
| set_pixel_b | pnm | Subroutine | Sets the pixel values of the PNM image. | 
| set_pnm | pnm | Subroutine | Sets the attributes of the PNM image. | 
| set_rgb | forcolor | Subroutine | |
| set_width | pnm | Subroutine | Sets the width of the PNM image. | 
| set_xyz | forcolor | Subroutine | |
| swap_channels | pnm | Subroutine | Swaps the RGB channels of the image. Only supported for PPM images. | 
| write_header | pnm | Subroutine | Writes the header of the PNM image to a file. Required before writing the pixels to the file. | 
| xyz_to_rgb | forcolor | Subroutine |