A simple reader class for the Netpbm format (https://en.wikipedia.org/wiki/Netpbm_format). So far, only black and white (*.pbm) and grayscale (*pgm) images are supported.  
#include <dumux/io/rasterimagereader.hh>
|  | 
| static Format | getFormat (const std::vector< std::string_view > &firstLineTokes) | 
|  | A helper function to retrieve the format from tokens of the file's first line. 
 | 
|  | 
| static Result< bool > | readPBM (const std::string &fileName, const bool useDuneGridOrdering=true) | 
|  | Reads a *pbm (black and white) in ASCII or binary encoding. Returns a struct that contains both the pixel values and the header data. 
 | 
|  | 
| template<class ValueType = std::uint8_t> | 
| static Result< ValueType > | readPGM (const std::string &fileName, const bool useDuneGridOrdering=true) | 
|  | Reads a *.pgm (grayscale) in ASCII or binary encoding. Returns a struct that contains both the pixel values and the header data. 
 | 
|  | 
| static HeaderData | readHeader (std::ifstream &infile) | 
|  | Returns the header data of the image file. 
 | 
|  | 
| template<class T> | 
| static void | applyDuneGridOrdering (Result< T > &result) | 
|  | Change the ordering of the pixels according to Dune's convention, shifting the origin from upper left to lower left. 
 | 
|  | 
| template<class T> | 
| static void | printInfo (const Result< T > &result) | 
|  | Print the data contained in the header. 
 | 
|  | 
| template<class Image, class T> | 
| static void | fillImage (Image &image, const Result< T > &result) | 
|  | Fill a pre-defined 2D image object, e.g. std::vector<std::vector<bool>>, with the pixel values stored in a 1D container. 
 | 
|  | 
| template<class Image> | 
| static auto | flattenImageToVector (const Image &image) | 
|  | Flattens a 2D image object to a 1D container. 
 | 
|  | 
◆ applyDuneGridOrdering()
template<class T> 
  
  | 
        
          | static void Dumux::NetPBMReader::applyDuneGridOrdering | ( | Result< T > & | result | ) |  |  | inlinestatic | 
 
- Parameters
- 
  
    | result | The image's pixel values ordered from top to bottom. |  
 
 
 
◆ fillImage()
template<class Image, class T> 
  
  | 
        
          | static void Dumux::NetPBMReader::fillImage | ( | Image & | image, |  
          |  |  | const Result< T > & | result ) |  | inlinestatic | 
 
- Parameters
- 
  
    | image | The 2D image to be filled with values. Needs to have to correct dimensions (nCols x nRows). |  | result | The image's pixel values stored in a 1D container. |  
 
 
 
◆ flattenImageToVector()
template<class Image> 
  
  | 
        
          | static auto Dumux::NetPBMReader::flattenImageToVector | ( | const Image & | image | ) |  |  | inlinestatic | 
 
- Parameters
- 
  
    | image | The 2D image to be flattened. |  
 
 
 
◆ getFormat()
  
  | 
        
          | static Format Dumux::NetPBMReader::getFormat | ( | const std::vector< std::string_view > & | firstLineTokes | ) |  |  | inlinestatic | 
 
- Parameters
- 
  
    | firstLineTokes | The tokens extracted from the first line of the file |  
 
 
 
◆ printInfo()
template<class T> 
  
  | 
        
          | static void Dumux::NetPBMReader::printInfo | ( | const Result< T > & | result | ) |  |  | inlinestatic | 
 
- Parameters
- 
  
    | result | The object storing both the image's pixel values and the header data. |  
 
 
 
◆ readHeader()
  
  | 
        
          | static HeaderData Dumux::NetPBMReader::readHeader | ( | std::ifstream & | infile | ) |  |  | inlinestatic | 
 
- Parameters
- 
  
    | infile | The input stream used to process the image file. |  
 
 
 
◆ readPBM()
  
  | 
        
          | static Result< bool > Dumux::NetPBMReader::readPBM | ( | const std::string & | fileName, |  
          |  |  | const bool | useDuneGridOrdering = true ) |  | inlinestatic | 
 
- Parameters
- 
  
    | fileName | The file name (*.pbm). |  | useDuneGridOrdering | If set true, the ordering of the pixels will be changed according to Dune's convention, shifting the origin from upper left to lower left. |  
 
 
 
◆ readPGM()
template<class ValueType = std::uint8_t> 
  
  | 
        
          | static Result< ValueType > Dumux::NetPBMReader::readPGM | ( | const std::string & | fileName, |  
          |  |  | const bool | useDuneGridOrdering = true ) |  | inlinestatic | 
 
- Template Parameters
- 
  
    | ValueType | The value type representing the pixel data. By default, std::uint8_t (0-255) is used. Since this type is often defined as unsigned char, some conversion issues during I/O may occur. Hence the type may be changed, e.g., to std::size_t. |  
 
- Parameters
- 
  
    | fileName | The file name (*.pbm). |  | useDuneGridOrdering | If set true, the ordering of the pixels will be changed according to Dune's convention, shifting the origin from upper left to lower left. |  
 
 
 
The documentation for this class was generated from the following file: