Skip to content

Commit

Permalink
readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Dnyarri committed Feb 9, 2025
1 parent bacab49 commit c7936bd
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
16 changes: 10 additions & 6 deletions README.RU.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

| [EN](README.md) | [RU] |
| [〖EN〗](README.md) | 【RU】 |
| ---- | ---- |

# PyPNM - модуль чтения и записи графических форматов PPM и PGM на чистом Python
Expand Down Expand Up @@ -57,11 +57,11 @@

## pnmlpnm.py

Модуль **pnmlpnm.py** содержит 100% чистую реализацию на Python всего, что может понадобиться для работы с файлами PGM и PPM. Ввод/вывод реализован в форме максимально простых в обращении функций, использование которых описано ниже:
Модуль **pnmlpnm.py** содержит 100% чистую реализацию на Python всего, что может понадобиться для работы с файлами PGM и PPM. Ввод/вывод реализован в форме максимально простых в обращении функций, использование которых описано ниже. Также использование функций описано в docstrings, так что потерять инструкцию к модулю у вас вряд ли получится.

- **pnm2list** - читает RGB PPM, или L PGM, или 1-бит PBM-файл, и возвращает данные в форме вложенного трёхмерного списка целых чисел.
- **list2bin** - получает изображение в форме вложенного трёхмерного списка целых чисел, и создаёт в памяти байтовую структуру типа PPM (P6) или PGM (P5). Полученная структура может быть легко использована для визуализации изображений с помощью Tkinter.
- **list2pnm** - записывает данные, созданные list2bin, в файл.
- **list2pnm** - получает изображение в форме вложенного трёхмерного списка целых чисел, и записывает на диск бинарный PPM (P6) или PGM (P5) файл.
- **list2pnmascii** - альтернативная функция для записи текстовых PPM (P3) или PGM (P2) в файл.
- **create_image** - создаёт вложенный трёхмерный список нулей заданного размера X, Y, Z. Для данного конкретного модуля функция не нужна, но часто полезна для программ, для которых полезен этот модуль, и, чтобы не писать её каждый раз на новом месте, она засунута сюда.

Expand All @@ -82,15 +82,17 @@

`image_bytes = pnmlpnm.list2bin(image3D, maxcolors)`

Превращает изображение в форме вложенного трёхмерного списка целых чисел в байтовый объект типа PPM (P6) или PGM (P5):
Превращает изображение в форме вложенного трёхмерного списка целых чисел в байтовый объект типа PPM (P6) или PGM (P5) в памяти:

- `image3D` - `Y*X*Z` список (изображение) списков (рядов) списков (пикселей) целых чисел (каналов);
- `maxcolors` - количество цветов на канал, int;
- `image_bytes` - байты PNM.

### list2pnm

`pnmlpnm.list2pnm(out_filename, image3D, maxcolors)` where:
`pnmlpnm.list2pnm(out_filename, image3D, maxcolors)`

Запись файла типа PPM (P6) или PGM (P5) на диск из данных списка image3D:

- `image3D` - `Y*X*Z` список (изображение) списков (рядов) списков (пикселей) целых чисел (каналов);
- `maxcolors` - количество цветов на канал, int;
Expand All @@ -108,7 +110,9 @@

### create_image

Создаёт пустой список размеров `X*Y*Z`.
`image3D = create_image(X, Y, Z)`

Создаёт пустой трёхмерный список размеров `X*Y*Z`.

## viewer.py

Expand Down
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

| [EN] | [RU](README.RU.md) |
| 【EN】 | [〖RU〗](README.RU.md) |
| ---- | ---- |

# PyPNM - Pure Python PPM and PGM image files reading and writing module
Expand Down Expand Up @@ -63,7 +63,7 @@ Module file **pnmlpnm.py** contains 100% pure Python implementation of everythin

- **pnm2list** - reading binary or ascii RGB PPM or L PGM file and returning image data as nested list of int.
- **list2bin** - getting image data as nested list of int and creating binary PPM (P6) or PGM (P5) data structure in memory. Suitable for generating data to display with Tkinter.
- **list2pnm** - writing data created with list2bin to file.
- **list2pnm** - getting image data as nested list of int and writing binary PPM (P6) or PGM (P5) file.
- **list2pnmascii** - alternative function to write ASCII PPM (P3) or PGM (P2) files.
- **create_image** - creating empty nested 3D list for image representation. Not used within this particular module but often needed by programs this module is supposed to be used with.

Expand All @@ -73,7 +73,7 @@ Detailed functions arguments description is provided below as well as in docstri

`X, Y, Z, maxcolors, image3D = pnmlpnm.pnm2list(in_filename)`

read data from PPM/PGM file, where:
read data from PPM/PGM file to nested image data list, where:

- `X, Y, Z` - image sizes (int);
- `maxcolors` - number of colors per channel for current image (int);
Expand All @@ -92,24 +92,28 @@ Convert nested image data list to PGM P5 or PPM P6 (binary) data structure in me

### list2pnm

`pnmlpnm.list2pnm(out_filename, image3D, maxcolors)` where:
`pnmlpnm.list2pnm(out_filename, image3D, maxcolors)`

Write PGM P5 or PPM P6 (binary) file from nested image data list, where:

- `image3D` - `Y*X*Z` list (image) of lists (rows) of lists (pixels) of ints (channels);
- `maxcolors` - number of colors per channel for current image (int);
- `out_filename` - PNM file name.

### list2pnmascii

Similar to `list2pnm` above but creates ascii pnm file instead of binary.

`pnmlpnm.list2pnmascii(out_filename, image3D, maxcolors)` where:

Write PGM P2 or PPM P3 (ASCII text) file from nested image data list, where:

- `image3D` - `Y*X*Z` list (image) of lists (rows) of lists (pixels) of ints (channels);
- `maxcolors` - number of colors per channel for current image (int);
- `out_filename` - PNM file name.

### create_image

`image3D = create_image(X, Y, Z)`

Create empty 3D nested list of `X*Y*Z` sizes.

## viewer.py
Expand Down

0 comments on commit c7936bd

Please sign in to comment.