PICCANTE  0.4
The hottest HDR imaging library!
Classes | Typedefs | Enumerations | Functions | Variables
pic::pic Namespace Reference

Classes

class  Array
 The Array class. More...
 
class  BBox
 The BBox class manages the creation of bounding boxes for images. More...
 
struct  BITMAPFILEHEADER
 The BITMAPFILEHEADER struct. More...
 
struct  BITMAPINFOHEADER
 The BITMAPINFOHEADER struct. More...
 
class  Buffer
 
class  BufferOpGL
 The BufferOpGL class. More...
 
class  BufferOpsGL
 The BufferOpsGL class. More...
 
class  ColorConv
 The ColorConv class. More...
 
class  ColorConvGL
 The ColorConvGL class. More...
 
class  ColorConvGLRGBtoHSL
 The ColorConvGLRGBtoHSL class. More...
 
class  ColorConvGLRGBtosRGB
 The ColorConvGLRGBtosRGB class. More...
 
class  ColorConvGLRGBtoXYZ
 The ColorConvGLRGBtoXYZ class. More...
 
class  ColorConvGLXYZtoCIELAB
 The ColorConvGLXYZtoCIELAB class. More...
 
class  ColorConvRGBtoXYZ
 The ColorConvRGBtoXYZ class. More...
 
class  ColorToGrayGL
 The ColorToGrayGL class. More...
 
class  DragoTMOGL
 The DragoTMOGL class. More...
 
class  DurandTMOGL
 The DurandTMOGL class. More...
 
struct  EXIFInfo
 
class  ExposureFusionGL
 The ExposureFusionGL class. More...
 
class  Fbo
 The Fbo class. More...
 
class  FileLister
 
class  Filter
 The Filter class. More...
 
class  FilterDeformGrid
 The FilterDeformGrid class. More...
 
struct  FilterFData
 
class  FilterGL
 The FilterGL class. More...
 
class  FilterGL1D
 The FilterGL1D class. More...
 
class  FilterGLAnisotropicDiffusion
 The FilterGLAnisotropicDiffusion class. More...
 
class  FilterGLBilateral1D
 The FilterGLBilateral1D class. More...
 
class  FilterGLBilateral2DAS
 
class  FilterGLBilateral2DF
 The FilterGLBilateral2DF class provides an HW accelerated bilateral filter implementation without approximations. More...
 
class  FilterGLBilateral2DG
 The FilterGLBilateral2DG class. More...
 
class  FilterGLBilateral2DS
 The FilterGLBilateral2DS class. More...
 
class  FilterGLBilateral2DSE
 The FilterGLBilateral2DSE class. More...
 
class  FilterGLBilateral2DSP
 The FilterGLBilateral2DSP class provides an approximated 2D bilateral filter using two 1D bilateral filtes; i.e. using the separable approximation. More...
 
class  FilterGLBilateral3DS
 The FilterGLBilateral3DS class. More...
 
class  FilterGLBilateral3DSP
 The FilterGLBilateral3DSP class. More...
 
class  FilterGLBlend
 The FilterGLBlend class. More...
 
class  FilterGLChannel
 The FilterGLChannel class. More...
 
class  FilterGLColorConv
 The FilterGLColorConv class. More...
 
class  FilterGLConv1D
 The FilterGLConv1D class. More...
 
class  FilterGLConv2D
 The FilterGLConv2D class. More...
 
class  FilterGLDeformGrid
 The FilterGLDeformGrid class. More...
 
class  FilterGLDisp
 The FilterGLDisp class. More...
 
class  FilterGLDownPP
 The FilterGLDownPP class. More...
 
class  FilterGLDragoTMO
 The FilterGLDragoTMO class. More...
 
class  FilterGLDurandTMO
 The FilterGLDurandTMO class. More...
 
class  FilterGLExposureFusionWeights
 The FilterGLExposureFusionWeights class. More...
 
class  FilterGLGaussian1D
 
class  FilterGLGaussian2D
 The FilterGLGaussian2D class. More...
 
class  FilterGLGaussian3D
 
class  FilterGLGradient
 The FilterGLGradient class. More...
 
class  FilterGLGrowCut
 The FilterGLGrowCut class. More...
 
class  FilterGLHSLReplace
 The FilterGLHSLReplace class. More...
 
class  FilterGLIterative
 The FilterGLIterative class. More...
 
class  FilterGLLaplacian
 The FilterGLLaplacian class. More...
 
class  FilterGLLuminance
 The FilterGLLuminance class. More...
 
class  FilterGLMax
 The FilterGLMax class. More...
 
class  FilterGLMean
 The FilterGLMean class. More...
 
class  FilterGLMin
 The FilterGLMin class. More...
 
class  FilterGLNonLinear1D
 The FilterGLNonLinear1D class. More...
 
class  FilterGLNPasses
 The FilterGLNPasses class. More...
 
class  FilterGLOp
 
class  FilterGLReinhardSinglePass
 The FilterGLReinhardSinglePass class. More...
 
class  FilterGLRemapping
 The FilterGLRemapping class. More...
 
class  FilterGLRemoveNuked
 The FilterGLRemoveNuked class. More...
 
class  FilterGLSampler2D
 The FilterGLSampler2D class. More...
 
class  FilterGLSamplingMap
 The FilterGLSamplingMap class. More...
 
class  FilterGLScatter
 The FilterGLScatter class implement the bilateral grid approximation of the bilateral filter. More...
 
class  FilterGLSigmoidTMO
 The FilterGLSigmoidTMO class. More...
 
class  FilterGLSimpleTMO
 The FilterGLSimpleTMO class. More...
 
class  FilterGLSlicer
 The FilterGLSlicer class. More...
 
class  FilterGLUpPP
 The FilterGLUpPP class. More...
 
class  FilterGLWarp2D
 The FilterGLWarp2D class. More...
 
class  FilterLuminance
 The FilterLuminance class. More...
 
class  FilterSimpleTMO
 The FilterSimpleTMO class. More...
 
class  FilterWarp2D
 The FilterWarp2D class. More...
 
class  GrowCutGL
 
class  Histogram
 The Histogram class is a class for creating, managing, loading, and saving histogram for an Image. More...
 
class  HybridTMOGL
 The HybridTMOGL class. More...
 
class  Image
 The Image class stores an image as buffer of float. More...
 
class  ImageGL
 The ImageGL class. More...
 
class  ImageSampler
 The ImageSampler class. More...
 
class  ImageSamplerBicubic
 The ImageSamplerBicubic class. More...
 
class  ImageSamplerBilinear
 The ImageSamplerBilinear class. More...
 
class  ImageSamplerNearest
 The ImageSamplerNearest class. More...
 
class  IndexedArray
 The IndexedArray class. More...
 
class  Matrix3x3
 The Matrix3x3 class provides methods for managing a 3 by 3 matrix. More...
 
class  MRSamplers
 The MRSamplers class. More...
 
class  MRSamplersGL
 The MRSamplersGL class. More...
 
class  PrecomputedGaussian
 The PrecomputedGaussian class. More...
 
class  ProgramGL
 
class  PushPullGL
 The PushPullGL class. More...
 
class  PyramidGL
 The PyramidGL class. More...
 
class  QuadGL
 The QuadGL class. More...
 
class  RadialBasisFunction
 The RadialBasisFunction class. More...
 
class  RandomSampler
 The RandomSampler class. More...
 
class  ReduxGL
 The ReduxGL class. More...
 
class  ReduxOpsGL
 The BufferOpsGL class. More...
 
class  ReinhardTMOGL
 The ReinhardTMOGL class. More...
 
class  RichardsonLucyDeconvolutionGL
 
class  SegmentationGL
 The SegmentationGL class. More...
 
class  TechniqueGL
 The TechniqueGL class. More...
 
struct  TGA_HEADER
 The TGA_HEADER struct. More...
 
class  Tile
 The Tile class. More...
 
class  TileList
 The TileList class. More...
 
struct  TMP_IMG_HEADER
 The TMP_IMG_HEADER struct is a header for a tmp image. More...
 
class  Vec
 The Vec class. More...
 

Typedefs

typedef unsigned int uint
 
typedef unsigned char uchar
 
typedef uintpuint
 
typedef ucharpuchar
 
typedef Array< float > Arrayf
 Arrayf. More...
 
typedef Array< int > Arrayi
 Arrayi. More...
 
typedef Array< unsigned int > Arrayui
 Arrayui. More...
 
typedef std::vector< std::string > StringVec
 StringVec is an std::vector of std::string. More...
 
typedef std::vector< int > IntCoord
 IntCoord. More...
 
typedef IndexedArray< float > IndexedArrayf
 
typedef IndexedArray< int > IndexedArrayi
 
typedef IndexedArray< unsigned int > IndexedArrayui
 
typedef std::vector< Image * > ImageVec
 ImageVec an std::vector of pic::Image. More...
 
typedef std::vector< ImageGL * > ImageGLVec
 ImageGLVec an std::vector of pic::ImageGL. More...
 
typedef std::vector< BufferOpGL * > BufferOperatorsGL
 
typedef Vec< 2, int > Vec2i
 Vec2i. More...
 
typedef Vec< 3, int > Vec3i
 Vec3i. More...
 
typedef Vec< 4, int > Vec4i
 Vec4i. More...
 
typedef Vec< 2, float > Vec2f
 Vec2f. More...
 
typedef Vec< 3, float > Vec3f
 Vec3f. More...
 
typedef std::vector< ReduxGL * > ReduxOperatorsGL
 

Enumerations

enum  LDR_type { LT_NOR, LT_NOR_GAMMA, LT_LDR, LT_NONE }
 The LDR_type enum. More...
 
enum  LABEL_IO_EXTENSION {
  IO_TMP, IO_PFM, IO_HDR, IO_EXR,
  IO_VOL, IO_BMP, IO_PPM, IO_TGA,
  IO_JPG, IO_PNG, IO_PGM, IO_NULL
}
 
enum  VALUE_SPACE {
  VS_LDR, VS_LIN, VS_LOG_2, VS_LOG_E,
  VS_LOG_10
}
 
enum  LUMINANCE_TYPE { LT_CIE_LUMINANCE, LT_LUMA, LT_WARD_LUMINANCE, LT_MEAN }
 
enum  BOGL {
  BOGL_ADD, BOGL_SUB, BOGL_MUL, BOGL_DIV,
  BOGL_ADD_CONST, BOGL_SUB_CONST, BOGL_MUL_CONST, BOGL_DIV_CONST,
  BOGL_ADD_S, BOGL_SUB_S, BOGL_MUL_S, BOGL_DIV_S,
  BOGL_CLAMP, BOGL_ID, BOGL_ID_CONST
}
 
enum  SAMPLER_TYPE {
  ST_BRIDSON, ST_DARTTHROWING, ST_PATTERN, ST_MONTECARLO,
  ST_MONTECARLO_S
}
 
enum  BF_TYPE { BF_CLASSIC, BF_CROSS, BF_BRUSH }
 
enum  REDGL {
  REDGL_MIN, REDGL_MAX, REDGL_SUM, REDGL_MEAN,
  REDGL_LOG_MEAN
}
 
enum  IMAGESTORE {
  IMG_GPU_CPU, IMG_CPU_GPU, IMG_CPU, IMG_GPU,
  IMG_NULL
}
 

Functions

template<typename T >
PIC_INLINE bool isnan (T value)
 isnan is it a NaN? More...
 
template<typename T >
PIC_INLINE bool isinf (T value)
 isinf is it a Inf value? More...
 
PIC_INLINE bool equalf (float a, float b)
 equalf checks if two float values are the same or not. More...
 
PIC_INLINE float getRandombase ()
 Randombase returns a number in [0, 1] based on rand(). More...
 
PIC_INLINE float getRandom (unsigned int n)
 Random returns a number in [0, 2^32 - 1] to a float in [0, 1]. More...
 
PIC_INLINE int getRandomInt (int n, int a, int b)
 getRandomInt More...
 
PIC_INLINE float sFunction (float x)
 sFunction evaluates a cubic s-function. More...
 
PIC_INLINE float sCurve5 (float x)
 sCurve5 evaluates a quintic S-Shape: 6x^5-15x^4+10x^3 More...
 
PIC_INLINE float square (float x)
 Square applies square function to a value. More...
 
PIC_INLINE float sqrtf_s (float x)
 sqrtf_s More...
 
template<class T >
PIC_INLINEClamp (T x, T a, T b)
 Clamp clamps a value, x, in the bound [a,b]. More...
 
PIC_INLINE long lround (double x)
 lround rounds double numbers properly. More...
 
PIC_INLINE float lround (float x)
 lround rounds float numbers properly. More...
 
PIC_INLINE float lerp (float t, float x0, float x1)
 lerp evaluates linear interpolation More...
 
PIC_INLINE float SmoothStep (float a, float b, float value)
 SmoothStep smoothes a value from a to b using a cube S-Shape. More...
 
float Deg2Rad (float deg)
 Deg2Rad converts angles expressed in degrees into angles expressed in radians. More...
 
PIC_INLINE float Rad2Deg (float rad)
 Rad2Deg converts angles expressed in radians into angles expressed in degrees. More...
 
PIC_INLINE int log2 (int n)
 log2 computes logarithm in base 2 for integers. More...
 
PIC_INLINE int pow2 (int n)
 pow2 computes 2^n. More...
 
PIC_INLINE float log10PlusOne (float x)
 logf10PlusOne computes log10 of a value plus 1. More...
 
PIC_INLINE float expfMinusOne (float x)
 expMinusOne More...
 
PIC_INLINE float log10fPlusEpsilon (float x)
 log10fPlusEpsilon More...
 
PIC_INLINE float powf10fMinusEpsilon (float x)
 powf10fMinusEpsilon More...
 
PIC_INLINE float log2f (float x)
 log2f logarithm in base 2 for floating point More...
 
PIC_INLINE double log2 (double x)
 log2 More...
 
PIC_INLINE float log2fPlusEpsilon (float x)
 log2fPlusEpsilon More...
 
PIC_INLINE float pow2f (float x)
 pow2f More...
 
PIC_INLINE int powint (int x, int b)
 powint computes power function for integer values. More...
 
PIC_INLINE void getRandomPermutation (std::mt19937 &m, unsigned int *perm, unsigned int nPerm, unsigned int n)
 getRandomPermutation computes a random permutation. More...
 
PIC_INLINE float normalDistribution (float x, float mu=0.0f, float sigma=1.0f)
 normalDistribution More...
 
float normalCDF (float x, float mu, float sigma)
 normalCDF More...
 
PIC_INLINE float betaFunction (float A, float B, float step=1e-4)
 betaFunction More...
 
PIC_INLINE float betaPDFwithBeta (float x, float A, float B, float betaAB)
 betaPDFwithBeta More...
 
PIC_INLINE float betaPDF (float x, float A, float B)
 betaPDF More...
 
PIC_INLINE float sigmoid (float x)
 sigmoid More...
 
PIC_INLINE float sigmoidInv (float x)
 sigmoidInv More...
 
PIC_INLINE float simple8bitWithGamma (float x)
 simple8bitWithGamma More...
 
template<class T >
void filterInliers (std::vector< T > &vec, std::vector< unsigned int > &inliers, std::vector< T > &vecOut)
 filterInliers More...
 
template<class T >
void stdVectorClear (std::vector< T *> &vec)
 stdVectorClear More...
 
template<class T >
void stdVectorArrayClear (std::vector< T *> &vec)
 stdVectorArrayClear More...
 
template<class T >
void setToANullVector (std::vector< T * > &vec, unsigned int n)
 setToANullVector More...
 
template<class T >
T * releasePtr (T *data)
 release More...
 
template<class T >
T * delete_s (T *data)
 delete_s More...
 
template<class T >
T * delete_vec_s (T *data)
 delete_vec_s More...
 
PIC_INLINE int timeGetTime ()
 
std::string stdStringRep (std::string str, std::string strSub, std::string strRep)
 stdStringRep replaces strSub in str with strRep just once. More...
 
std::string stdStringRepAll (std::string str, std::string strSub, std::string strRep)
 stdStringRepAll replaces all strSub in str with strRep. More...
 
template<class T >
std::string fromNumberToString (T num)
 fromNumberToString converts a number into a string. More...
 
char getSeparatorChar (std::string path)
 getSeparatorChar returns the folder separator in path as a char. More...
 
std::string removeExtension (std::string name)
 RemoveExtension removes the extension of a string. More...
 
std::string removeLocalPath (std::string name)
 removeLocalPath removes the local path of a string. More...
 
std::string getFileNameOnly (std::string name)
 getFileNameOnly More...
 
std::string getExtension (std::string name)
 getExtension gets the extension of a file name. More...
 
std::string addSuffix (std::string name, std::string suffix)
 addSuffix adds a suffix to a file name. More...
 
std::string replaceExtension (std::string nameOut, std::string fmtIn, std::string fmtOut)
 replaceExtension changes .format in a file name. More...
 
int countSubString (std::string str, std::string subStr)
 countSubString counts how many subStr are in str. More...
 
std::string getLocaDirectory (std::string path)
 getLocaDirectory gets local path. More...
 
std::string getSeparator (std::string path)
 getSeparator returns the folder separator in path as a string More...
 
std::string getFolderName (std::string path)
 getFolderName gets the folder name from the path. More...
 
std::string getFileName (std::string path)
 getFileName gets the file name. More...
 
void parseStringToStdVector (std::string str, char delim, StringVec *str_vec)
 parseStringToStdVector More...
 
std::string genBilString (std::string type, float sigma_s, float sigma_r)
 genBilString More...
 
std::string fromFileToStdString (std::string nameFile)
 fromFileToStdString writes a file into a std::string. More...
 
bool checkAbsolutePath (std::string path)
 checkAbsolutePath checks if the path is absolute or not. More...
 
char * fromStdStringToChar (std::string str)
 fromStdStringToChar converts from a std::string to a char*. More...
 
std::string checkPath (std::string name)
 checkPath More...
 
std::string adjustPath (std::string nameFile, std::string pathFolder)
 adjustPath modifies the path if it is not global. More...
 
std::string removeInitialSpaces (char name[])
 removeInitialSpaces removes spaces at the beginning of a string. More...
 
PIC_INLINE float estimateAverageLuminance (float shutter_speed, float aperture_value=1.0f, float iso_value=1.0f, float K_value=12.5f)
 estimateAverageLuminance estimates the average luminance of the shot. More...
 
PIC_INLINE bool checkNormalized (const float *data, int size, float delta=1e-6f)
 checkNormalized checks if data is in [0,1]. More...
 
PIC_INLINE float * convertLDR2HDR (unsigned char *dataIn, float *dataOut, int size, LDR_type type, float gamma=2.2f)
 convertLDR2HDR converts a buffer of unsigned char into float. More...
 
PIC_INLINE unsigned char * convertHDR2LDR (const float *dataIn, unsigned char *dataOut, int size, LDR_type type, float gamma=2.2f)
 convertHDR2LDR converts a buffer of float into unsigned char. More...
 
int BitmapPadding (int bpp, int width)
 BitmapPadding (SYSTEM: X POS Y POS). More...
 
PIC_INLINE unsigned char * ReadBMP (std::string nameFile, unsigned char *data, int &width, int &height, int &channels)
 ReadBMP reads an image as .bmp file. More...
 
PIC_INLINE bool WriteBMP (std::string nameFile, const unsigned char *data, int width, int height, int channels)
 WriteBMP writes an image as a .bmp file. More...
 
PIC_INLINE float * ReadEXR (std::string nameFile, float *data, int &width, int &height, int &channels)
 
PIC_INLINE bool WriteEXR (std::string nameFile, float *data, int width, int height, int channels=3)
 WriteEXR. More...
 
PIC_INLINE void fromFloatToRGBE (float *colFloat, unsigned char *colRGBE)
 fromFloatToRGBE More...
 
PIC_INLINE void fromSingleFloatToRGBE (float *colFloat, unsigned char *colRGBE)
 fromSingleFloatToRGBE More...
 
PIC_INLINE void fromRGBEToFloat (unsigned char *colRGBE, float *colFloat)
 fromRGBEToFloat More...
 
PIC_INLINE float * ReadHDR (std::string nameFile, float *data, int &width, int &height)
 ReadHDR reads a .hdr/.pic file. More...
 
PIC_INLINE void WriteLineHDR (FILE *file, unsigned char *buffer_line, int width)
 WriteLineHDR writes a scanline of an image using RLE and RGBE encoding. More...
 
PIC_INLINE bool WriteHDR (std::string nameFile, float *data, int width, int height, int channels, float appliedExposure=1.0f, bool bRLE=true)
 WriteHDR writes a .hdr/.pic file. More...
 
PIC_INLINE bool WriteHDRBlock (std::string nameFile, float *buffer_line, int width, int height, int channels, int blockID, int nBlocks)
 WriteHDRBlock writes a .hdr file. More...
 
PIC_INLINE float convertFloatEndianess (float value)
 convertFloatEndianess converts a float from little-endian to big-endian or viceversa. More...
 
PIC_INLINE float * ReadPFM (std::string nameFile, float *data, int &width, int &height, int &channel)
 ReadPFM loads a portable float map from a file. More...
 
PIC_INLINE bool WritePFM (std::string nameFile, float *data, int width, int height, int channels=3)
 WritePFM writes an HDR image in the portable float map format into a file. More...
 
PIC_INLINE unsigned char * ReadPPM (std::string nameFile, unsigned char *data, int &width, int &height, int &channels)
 ReadPPM reads an .ppm file. More...
 
PIC_INLINE bool WritePPM (std::string nameFile, const unsigned char *data, int width, int height, int channels)
 WritePPM writes an .ppm file. More...
 
PIC_INLINE unsigned char * ReadPGM (std::string nameFile, unsigned char *data, int &width, int &height, int &channels)
 ReadPGM reads an .ppm file. More...
 
PIC_INLINE bool WritePGM (std::string nameFile, const unsigned char *data, int width, int height, int channels, bool bAscii=false)
 WritePGM writes an .ppm file. More...
 
PIC_INLINE float * ReadTMP (std::string nameFile, float *data, int &width, int &height, int &channels, int &frames, bool bHeader=true)
 ReadTMP reads a dump temp file. More...
 
PIC_INLINE bool WriteTMP (std::string nameFile, float *data, int &width, int &height, int &channels, int &frames, bool bHeader=true)
 WriteTMP writes a dump temp file. More...
 
PIC_INLINE unsigned char * ReadTGA (std::string nameFile, unsigned char *data, int &width, int &height, int &channels)
 ReadTGA reads an image in the .tga format. More...
 
PIC_INLINE bool WriteTGA (std::string nameFile, const unsigned char *data, int width, int height, int channels)
 WriteTGA writes an image in the .tga format. More...
 
PIC_INLINE float * ReadVOL (std::string nameFile, float *data, int &width, int &height, int &depth, int &channels)
 ReadVOL. More...
 
PIC_INLINE bool WriteVOL (std::string nameFile, float *data, int width, int height, int depth, int channels=3)
 WriteVOL. More...
 
PIC_INLINE unsigned char * ReadSTB (std::string nameFile, int &width, int &height, int &channels)
 ReadSTB. More...
 
PIC_INLINE bool WriteSTB (std::string nameFile, unsigned char *data, int width, int height, int channels=3)
 WriteSTB. More...
 
unsigned int twoByteToValue (unsigned char data[2], bool bMotorola)
 twoByteToValue More...
 
unsigned int fourByteToValue (unsigned char data[4], bool bMotorola)
 fourByteToValue More...
 
bool checkTag (unsigned char tag[2], unsigned short tag_r, bool bMotorola)
 checkTag More...
 
int getTagID (unsigned char tag[2], bool bMotorola)
 getTagID More...
 
int getBytesForComponents (int value)
 getBytesForComponents More...
 
std::string readString (FILE *file, int length)
 readString More...
 
std::string readStringFromUChar (unsigned char *data, int length)
 readStringFromUChar More...
 
float readUnsignedRational (FILE *file, bool bMotorola)
 readUnsignedRational More...
 
bool readEXIF (std::string name, EXIFInfo &info)
 readEXIF More...
 
PIC_INLINE LABEL_IO_EXTENSION getLabelHDRExtension (std::string nameFile)
 getLabelHDRExtension returns the file label given its file name (for HDR images). More...
 
PIC_INLINE LABEL_IO_EXTENSION getLabelLDRExtension (std::string nameFile)
 getLabelHDRExtension returns the file label given its file name (for LDR images). More...
 
PIC_INLINE ImageVec Single (Image *img)
 Single creates an std::vector which contains img; this is for filters input. More...
 
PIC_INLINE ImageVec Double (Image *img1, Image *img2)
 Double creates an std::vector which contains img1 and img2; this is for filters input. More...
 
PIC_INLINE ImageVec Triple (Image *img1, Image *img2, Image *img3)
 Triple creates an std::vector which contains img1, img2, and img3; this is for filters input. More...
 
PIC_INLINE ImageVec Quad (Image *img1, Image *img2, Image *img3, Image *img4)
 Triple creates an std::vector which contains img1, img2, img3, and img4; this is for filters input. More...
 
PIC_INLINE void ImaveVecSortByExposureTime (ImageVec &stack)
 ImaveVecSortByExposureTime. More...
 
PIC_INLINE void ImaveVecGetExposureTimesAsArray (ImageVec &stack, std::vector< float > &output, bool bLog)
 ImaveVecGetExposureTimesAsArray. More...
 
PIC_INLINE bool ImageVecCheckSimilarType (ImageVec &stack)
 ImageVecCheckSimilarType. More...
 
PIC_INLINE bool ImageVecCheck (ImageVec &imgIn, int minInputImages)
 ImageVecCheck. More...
 
PIC_INLINE ImageGLVec SingleGL (ImageGL *img)
 SingleGL creates a single for filters input. More...
 
PIC_INLINE ImageGLVec DoubleGL (ImageGL *img1, ImageGL *img2)
 DoubleGL creates a couple for filters input. More...
 
PIC_INLINE ImageGLVec TripleGL (ImageGL *img1, ImageGL *img2, ImageGL *img3)
 TripleGL creates a triple for filters input. More...
 
PIC_INLINE bool ImageGLVecCheck (ImageGLVec &imgIn, int minInputImages)
 ImageGLVecCheck. More...
 
PIC_INLINE void getMinMaxFstops (Image *imgIn, int &minFstop, int &maxFstop)
 getMinMaxFstops computes the minimum and maximum f-stop values of an image. More...
 
PIC_INLINE std::vector< float > getAllExposuresUniform (Image *imgIn)
 getAllExposuresUniform computes all required exposure values for reconstructing the input image using uniform sampling More...
 
PIC_INLINE std::vector< float > getAllExposures (Image *imgIn)
 getAllExposures computes all required exposure values for reconstructing the input image using histogram sampling More...
 
PIC_INLINE ImageVec getAllExposuresImages (Image *imgIn, std::vector< float > &fstops, float gamma=2.2f)
 getAllExposuresImages converts an image into a stack of images. More...
 
PIC_INLINE ImageVec getAllExposuresImages (Image *imgIn, float gamma=2.2f)
 getAllExposuresImages converts an image into a stack of images. More...
 
PIC_INLINE ImageGLVec getAllExposuresImagesGL (ImageGL *imgIn, float gamma=2.2f)
 getAllExposuresImagesGL converts an HDR image into a stack of LDR images More...
 
template<class Scalar >
Scalar Bilinear (Scalar a, Scalar b, Scalar c, Scalar d, float x, float y)
 Bilinear calculates 2D bilinear interpolation at the point (x,y). More...
 
void invBilinear (float A, float dx, float dy, float *out)
 invBilinear More...
 
float Rx (float x)
 Rx evaluates B-spline (cubic). More...
 
float MitchellNetravali (float x, float B, float C)
 MitchellNetravali. More...
 
float Bicubic (float x)
 Bicubic. More...
 
float CatmullRom (float x)
 CatmullRom. More...
 
float Lanczos (float x, float a)
 Lanczos. More...
 
template<uint N>
PIC_INLINE bool insideVecBBox (const Vec< N, float > &sample)
 insideVecBBox More...
 
template<uint N>
PIC_INLINE Vec< N, float > normalize (Vec< N, float > x)
 
template<uint N>
PIC_INLINE Vec< N, float > randomPoint (std::mt19937 *m)
 randomPoint More...
 
template<uint N>
void vecrint (Vec< N, float > &ret)
 
template<uint N>
PIC_INLINE Vec< N, float > annulusSampling (std::mt19937 *m, Vec< N, float > center, float radius)
 annulusSampling More...
 
template<uint N>
void vecGamma (Vec< N, float > &ret, float g)
 
template<uint N>
void vecSqrt (Vec< N, float > &ret)
 
template<uint N>
Vec< N, float > vecValOver (Vec< N, float > &in, float value)
 
template<uint N, class T >
void transferFromVecToPlain (std::vector< Vec< N, T > > &in, std::vector< T > &out)
 
template<uint N, class T >
void transferFromPlainToVec (std::vector< T > &in, std::vector< Vec< N, T > > &out)
 
float randU ()
 randU computes a random number in [0, 1[ using the classic rand(). More...
 
float PoissonRadius (int nSamples)
 PoissonRadius estimates the radius of a Poisson-disk like distribution using nSmaples. More...
 
template<unsigned int N>
PIC_INLINE void getMonteCarloSamples (std::mt19937 *m, int nSamples, std::vector< float > &samples)
 getMonteCarloSamples More...
 
template<unsigned int N>
PIC_INLINE void getMonteCarloStratifiedSamples (std::mt19937 *m, int nSamples, std::vector< float > &samples)
 getMonteCarloStratifiedSamples More...
 
template<unsigned int N>
PIC_INLINE void getPatternMethodSamples (int nSamples, std::vector< float > &samples)
 getPatternMethodSampler More...
 
template<unsigned int N>
void getDartThrowingSamples (std::mt19937 *m, float radius2, int nSamples, std::vector< float > &samples)
 getDartThrowingSamples More...
 
template<unsigned int N>
bool checkNeighborsBruteForce (std::vector< Vec< N, float > > &samples, Vec< N, float > x, float radius)
 checkNeighborsBruteForce More...
 
template<unsigned int N>
void getBridsonSamples (std::mt19937 *m, float radius, std::vector< float > &samples, int kSamples=30)
 getBridsonSamples More...
 
template<unsigned int N>
PIC_INLINE void ConvertVectorToPlus1 (std::vector< RandomSampler< N > > &rsVec, RandomSampler< N+1 > &rsOut)
 
PIC_INLINE void glGetPrintError ()
 glGetPrintError More...
 
PIC_INLINE int getValueBF (BF_TYPE type)
 getValueBF More...
 
PIC_INLINE std::string GLSL_BICUBIC ()
 GLSL_BICUBIC returns bicubic sample. More...
 
PIC_INLINE std::string GLSL_TEXTURE_BICUBIC ()
 GLSL_TEXTURE_BICUBIC. More...
 
void getModesGL (int channels, int &mode, int &modeInternalFormat)
 getModesGL More...
 
void getModesHalfGL (int channels, int &mode, int &modeInternalFormat)
 getModesHalfGL More...
 
void getModesIntegerGL (int channels, int &mode, int &modeInternalFormat)
 getModesIntegerGL More...
 
int getChannelsFromInternalFormatGL (int internalFormat)
 getChannelsFromInternalFormatGL returns the number of channels given an internal format. More...
 
PIC_INLINE void getTextureInformationGL (GLuint texture, GLuint target, int &width, int &height, int &frames, int &channels)
 getTextureInformationGL returns width, height and frames values from a texture with target. More...
 
GLuint glBeginTimeQuery ()
 glBeginTimeQuery More...
 
GLuint64 glEndTimeQuery (GLuint64 ret)
 glEndTimeQuery More...
 
PIC_INLINE GLuint generateTexture2DGL (int width, int height, int channels, float *data=NULL, bool mipmap=false)
 generateTexture2DGL More...
 
PIC_INLINE GLuint generateTextureCubeMapGL (int width, int height, int channels, int frames, float *data=NULL)
 generateTextureCubeMapGL More...
 
PIC_INLINE GLuint generateTexture3DGL (int width, int height, int channels, int frames, float *data=NULL)
 generateTexture3DGL More...
 
PIC_INLINE GLuint generateTexture2DArrayGL (int width, int height, int channels, int frames, float *data=NULL)
 generateTexture2DArrayGL More...
 
PIC_INLINE GLuint generateTexture2DU32GL (int width, int height, int channels, int *data=NULL)
 generateTexture2DU32GL More...
 
PIC_INLINE GLuint GenerateMask (int width, int height, bool *buffer=NULL, GLuint tex=0, unsigned char *tmpBuffer=NULL, bool mipmap=false)
 GenerateMask creates an opengl mask (a texture) from a buffer of bool values. More...
 

Variables

const float C_LOG_NAT_2 = 0.69314718055994530941723212145818f
 
const float C_INV_LOG_NAT_2 = 1.4426950408889634073599246810019f
 
const double C_INV_LOG_NAT_2_D = 1.4426950408889634073599246810019
 
const float C_EPSILON = 1e-6f
 
const float C_SQRT_2 = 1.4142135623730950488016887242097f
 
const float C_PI_025 = 0.78539816339744830961566084581988f
 
const float C_PI_05 = 1.5707963267948966192313216916398f
 
const float C_PI = 3.1415926535897932384626433832795f
 
const float C_PI_2 = 6.283185307179586476925286766559f
 
const float C_INV_PI_2 = 0.159154943091895335768883763f
 
const float C_PI_4 = 12.566370614359172953850573533118f
 
const float C_INV_PI_4 = 0.07957747154594766788444188168626f
 
const float C_PI_2_2 = 19.739208802178717237668981999752f
 
const float C_INV_PI = 0.31830988618379067153776526745f
 
const float C_ONE_80_OVER_PI = 57.295779513082320876798154814105f
 
const float C_PI_OVER_ONE_80 = 0.017453292519943295769236907685f
 
const float mtxRGBtoXYZ []
 
const float mtxXYZtoRGB []
 
const float POISSON_RHO = 0.75f
 
const int CONST_DARTTHROWING = 5000
 

Detailed Description

Note:

Typedef Documentation

◆ Arrayf

typedef Array<float> pic::pic::Arrayf

Arrayf.

◆ Arrayi

typedef Array<int> pic::pic::Arrayi

Arrayi.

◆ Arrayui

typedef Array<unsigned int> pic::pic::Arrayui

Arrayui.

◆ BufferOperatorsGL

typedef std::vector<BufferOpGL*> pic::pic::BufferOperatorsGL

◆ ImageGLVec

typedef std::vector<ImageGL*> pic::pic::ImageGLVec

ImageGLVec an std::vector of pic::ImageGL.

◆ ImageVec

typedef std::vector<Image *> pic::pic::ImageVec

ImageVec an std::vector of pic::Image.

◆ IndexedArrayf

◆ IndexedArrayi

◆ IndexedArrayui

typedef IndexedArray<unsigned int> pic::pic::IndexedArrayui

◆ IntCoord

typedef std::vector<int> pic::pic::IntCoord

IntCoord.

◆ puchar

◆ puint

◆ ReduxOperatorsGL

typedef std::vector<ReduxGL*> pic::pic::ReduxOperatorsGL

◆ StringVec

typedef std::vector<std::string > pic::pic::StringVec

StringVec is an std::vector of std::string.

◆ uchar

typedef unsigned char pic::pic::uchar

◆ uint

typedef unsigned int pic::pic::uint

◆ Vec2f

typedef Vec<2, float> pic::pic::Vec2f

Vec2f.

◆ Vec2i

typedef Vec<2, int> pic::pic::Vec2i

Vec2i.

◆ Vec3f

typedef Vec<3, float> pic::pic::Vec3f

Vec3f.

◆ Vec3i

typedef Vec<3, int> pic::pic::Vec3i

Vec3i.

◆ Vec4i

typedef Vec<4, int> pic::pic::Vec4i

Vec4i.

Enumeration Type Documentation

◆ BF_TYPE

Enumerator
BF_CLASSIC 
BF_CROSS 
BF_BRUSH 

◆ BOGL

Enumerator
BOGL_ADD 
BOGL_SUB 
BOGL_MUL 
BOGL_DIV 
BOGL_ADD_CONST 
BOGL_SUB_CONST 
BOGL_MUL_CONST 
BOGL_DIV_CONST 
BOGL_ADD_S 
BOGL_SUB_S 
BOGL_MUL_S 
BOGL_DIV_S 
BOGL_CLAMP 
BOGL_ID 
BOGL_ID_CONST 

◆ IMAGESTORE

Enumerator
IMG_GPU_CPU 
IMG_CPU_GPU 
IMG_CPU 
IMG_GPU 
IMG_NULL 

◆ LABEL_IO_EXTENSION

Enumerator
IO_TMP 
IO_PFM 
IO_HDR 
IO_EXR 
IO_VOL 
IO_BMP 
IO_PPM 
IO_TGA 
IO_JPG 
IO_PNG 
IO_PGM 
IO_NULL 

◆ LDR_type

The LDR_type enum.

Enumerator
LT_NOR 
LT_NOR_GAMMA 
LT_LDR 
LT_NONE 

◆ LUMINANCE_TYPE

Enumerator
LT_CIE_LUMINANCE 
LT_LUMA 
LT_WARD_LUMINANCE 
LT_MEAN 

◆ REDGL

Enumerator
REDGL_MIN 
REDGL_MAX 
REDGL_SUM 
REDGL_MEAN 
REDGL_LOG_MEAN 

◆ SAMPLER_TYPE

Enumerator
ST_BRIDSON 
ST_DARTTHROWING 
ST_PATTERN 
ST_MONTECARLO 
ST_MONTECARLO_S 

◆ VALUE_SPACE

Enumerator
VS_LDR 
VS_LIN 
VS_LOG_2 
VS_LOG_E 
VS_LOG_10 

Function Documentation

◆ addSuffix()

std::string pic::pic::addSuffix ( std::string  name,
std::string  suffix 
)
inline

addSuffix adds a suffix to a file name.

Parameters
name
suffix
Returns

◆ adjustPath()

std::string pic::pic::adjustPath ( std::string  nameFile,
std::string  pathFolder 
)

adjustPath modifies the path if it is not global.

Parameters
nameFile
pathFolder
Returns

◆ annulusSampling()

template<uint N>
PIC_INLINE Vec<N, float> pic::pic::annulusSampling ( std::mt19937 *  m,
Vec< N, float >  center,
float  radius 
)

annulusSampling

Parameters
m
center
radius
Returns

◆ betaFunction()

PIC_INLINE float pic::pic::betaFunction ( float  A,
float  B,
float  step = 1e-4 
)

betaFunction

Parameters
A
B
Returns

◆ betaPDF()

PIC_INLINE float pic::pic::betaPDF ( float  x,
float  A,
float  B 
)

betaPDF

Parameters
x
A
B
Returns

◆ betaPDFwithBeta()

PIC_INLINE float pic::pic::betaPDFwithBeta ( float  x,
float  A,
float  B,
float  betaAB 
)

betaPDFwithBeta

Parameters
x
A
B
betaAB
Returns

◆ Bicubic()

float pic::pic::Bicubic ( float  x)
inline

Bicubic.

Parameters
x
Returns

◆ Bilinear()

template<class Scalar >
Scalar pic::pic::Bilinear ( Scalar  a,
Scalar  b,
Scalar  c,
Scalar  d,
float  x,
float  y 
)
inline

Bilinear calculates 2D bilinear interpolation at the point (x,y).

Parameters
ais the NW pixel value.
bis the NE pixel value.
cis the SW pixel value.
dis the SE pixel value.
xis the horizontal coordinate.
yis the vertical coordinate.
Returns
the evaluation of the B-spline.

◆ BitmapPadding()

int pic::pic::BitmapPadding ( int  bpp,
int  width 
)
inline

BitmapPadding (SYSTEM: X POS Y POS).

Parameters
bpp
width
Returns

◆ CatmullRom()

float pic::pic::CatmullRom ( float  x)
inline

CatmullRom.

Parameters
x
Returns

◆ checkAbsolutePath()

bool pic::pic::checkAbsolutePath ( std::string  path)
inline

checkAbsolutePath checks if the path is absolute or not.

Parameters
path
Returns

◆ checkNeighborsBruteForce()

template<unsigned int N>
bool pic::pic::checkNeighborsBruteForce ( std::vector< Vec< N, float > > &  samples,
Vec< N, float >  x,
float  radius 
)

checkNeighborsBruteForce

Parameters
samples
x
radius
Returns

◆ checkNormalized()

PIC_INLINE bool pic::pic::checkNormalized ( const float *  data,
int  size,
float  delta = 1e-6f 
)

checkNormalized checks if data is in [0,1].

Parameters
data
size
delta
Returns

◆ checkPath()

std::string pic::pic::checkPath ( std::string  name)
inline

checkPath

Parameters
name
Returns

◆ checkTag()

bool pic::pic::checkTag ( unsigned char  tag[2],
unsigned short  tag_r,
bool  bMotorola 
)

checkTag

Parameters
tag
tag_r
bMotorola
Returns

◆ Clamp()

template<class T >
PIC_INLINE T pic::pic::Clamp ( x,
a,
b 
)

Clamp clamps a value, x, in the bound [a,b].

Parameters
x
a
b
Returns

◆ convertFloatEndianess()

PIC_INLINE float pic::pic::convertFloatEndianess ( float  value)

convertFloatEndianess converts a float from little-endian to big-endian or viceversa.

Parameters
valueis the input float to be converted.
Returns
It returns a big-endian float if value was stored as little-endian. Otherwise, it rerturns a little-endian.

◆ convertHDR2LDR()

PIC_INLINE unsigned char* pic::pic::convertHDR2LDR ( const float *  dataIn,
unsigned char *  dataOut,
int  size,
LDR_type  type,
float  gamma = 2.2f 
)

convertHDR2LDR converts a buffer of float into unsigned char.

Parameters
dataIn
dataOut
size
type
gamma
Returns

◆ convertLDR2HDR()

PIC_INLINE float* pic::pic::convertLDR2HDR ( unsigned char *  dataIn,
float *  dataOut,
int  size,
LDR_type  type,
float  gamma = 2.2f 
)

convertLDR2HDR converts a buffer of unsigned char into float.

Parameters
dataIn
dataOut
size
type
gamma
Returns

◆ ConvertVectorToPlus1()

template<unsigned int N>
PIC_INLINE void pic::pic::ConvertVectorToPlus1 ( std::vector< RandomSampler< N > > &  rsVec,
RandomSampler< N+1 > &  rsOut 
)

◆ countSubString()

int pic::pic::countSubString ( std::string  str,
std::string  subStr 
)
inline

countSubString counts how many subStr are in str.

Parameters
stris the input string.
subStris the substring to count in str.
Returns
the number of times subStr appears in str.

◆ Deg2Rad()

float pic::pic::Deg2Rad ( float  deg)
inline

Deg2Rad converts angles expressed in degrees into angles expressed in radians.

Parameters
degis a value of an angle expressed in degrees.
Returns
It returns an ang expressed in radians.

◆ delete_s()

template<class T >
T* pic::pic::delete_s ( T *  data)
inline

delete_s

Parameters
data
Returns

◆ delete_vec_s()

template<class T >
T* pic::pic::delete_vec_s ( T *  data)
inline

delete_vec_s

Parameters
data
Returns

◆ Double()

PIC_INLINE ImageVec pic::pic::Double ( Image img1,
Image img2 
)

Double creates an std::vector which contains img1 and img2; this is for filters input.

Parameters
img1is a pointer to a pic::Image
img2is a pointer to a pic::Image
Returns
It returns an std::vector which contains img1 and img2.

◆ DoubleGL()

PIC_INLINE ImageGLVec pic::pic::DoubleGL ( ImageGL img1,
ImageGL img2 
)

DoubleGL creates a couple for filters input.

Parameters
img1
img2
Returns

◆ equalf()

PIC_INLINE bool pic::pic::equalf ( float  a,
float  b 
)

equalf checks if two float values are the same or not.

Parameters
ais the first value to be checked.
bis the second value to be checked.
Returns
This function returns true if a and b are similar, false otherwise.

◆ estimateAverageLuminance()

PIC_INLINE float pic::pic::estimateAverageLuminance ( float  shutter_speed,
float  aperture_value = 1.0f,
float  iso_value = 1.0f,
float  K_value = 12.5f 
)

estimateAverageLuminance estimates the average luminance of the shot.

Parameters
shutter_speedis the shutter speed of the camera
aperture_valueis the aperture value of the camera
iso_valueis the ISO value of the camera
K_valueis a value in [10.6, 13.4] depending on the camera
Returns

◆ expfMinusOne()

PIC_INLINE float pic::pic::expfMinusOne ( float  x)

expMinusOne

Parameters
x
Returns

◆ filterInliers()

template<class T >
void pic::pic::filterInliers ( std::vector< T > &  vec,
std::vector< unsigned int > &  inliers,
std::vector< T > &  vecOut 
)
inline

filterInliers

Parameters
vec
inliers
vecOut

◆ fourByteToValue()

unsigned int pic::pic::fourByteToValue ( unsigned char  data[4],
bool  bMotorola 
)

fourByteToValue

Parameters
data
bMotorola
Returns

◆ fromFileToStdString()

std::string pic::pic::fromFileToStdString ( std::string  nameFile)
inline

fromFileToStdString writes a file into a std::string.

Parameters
nameFile
Returns

◆ fromFloatToRGBE()

PIC_INLINE void pic::pic::fromFloatToRGBE ( float *  colFloat,
unsigned char *  colRGBE 
)

fromFloatToRGBE

Parameters
colFloat
colRGBE

◆ fromNumberToString()

template<class T >
std::string pic::pic::fromNumberToString ( num)
inline

fromNumberToString converts a number into a string.

Parameters
numis an input number.

◆ fromRGBEToFloat()

PIC_INLINE void pic::pic::fromRGBEToFloat ( unsigned char *  colRGBE,
float *  colFloat 
)

fromRGBEToFloat

Parameters
colRGBE
colFloat

◆ fromSingleFloatToRGBE()

PIC_INLINE void pic::pic::fromSingleFloatToRGBE ( float *  colFloat,
unsigned char *  colRGBE 
)

fromSingleFloatToRGBE

Parameters
colFloat
colRGBE

◆ fromStdStringToChar()

char* pic::pic::fromStdStringToChar ( std::string  str)
inline

fromStdStringToChar converts from a std::string to a char*.

Parameters
str
Returns

◆ genBilString()

std::string pic::pic::genBilString ( std::string  type,
float  sigma_s,
float  sigma_r 
)
inline

genBilString

Parameters
type
sigma_s
sigma_r
Returns

◆ GenerateMask()

PIC_INLINE GLuint pic::pic::GenerateMask ( int  width,
int  height,
bool *  buffer = NULL,
GLuint  tex = 0,
unsigned char *  tmpBuffer = NULL,
bool  mipmap = false 
)

GenerateMask creates an opengl mask (a texture) from a buffer of bool values.

Parameters
width
height
buffer
tex
tmpBuffer
mipmap
Returns

◆ generateTexture2DArrayGL()

PIC_INLINE GLuint pic::pic::generateTexture2DArrayGL ( int  width,
int  height,
int  channels,
int  frames,
float *  data = NULL 
)

generateTexture2DArrayGL

Parameters
width
height
channels
frames
data
Returns

◆ generateTexture2DGL()

PIC_INLINE GLuint pic::pic::generateTexture2DGL ( int  width,
int  height,
int  channels,
float *  data = NULL,
bool  mipmap = false 
)

generateTexture2DGL

Parameters
width
height
channels
data
mipmap
Returns

◆ generateTexture2DU32GL()

PIC_INLINE GLuint pic::pic::generateTexture2DU32GL ( int  width,
int  height,
int  channels,
int *  data = NULL 
)

generateTexture2DU32GL

Parameters
width
height
channels
Returns

◆ generateTexture3DGL()

PIC_INLINE GLuint pic::pic::generateTexture3DGL ( int  width,
int  height,
int  channels,
int  frames,
float *  data = NULL 
)

generateTexture3DGL

Parameters
width
height
channels
frames
data
Returns

◆ generateTextureCubeMapGL()

PIC_INLINE GLuint pic::pic::generateTextureCubeMapGL ( int  width,
int  height,
int  channels,
int  frames,
float *  data = NULL 
)

generateTextureCubeMapGL

Parameters
width
height
channels
frames
data
Returns

◆ getAllExposures()

PIC_INLINE std::vector<float> pic::pic::getAllExposures ( Image imgIn)

getAllExposures computes all required exposure values for reconstructing the input image using histogram sampling

Parameters
imgInis an input image
Returns
It returns an std::vector<float> with all exposure values encoding imgIn

◆ getAllExposuresImages() [1/2]

PIC_INLINE ImageVec pic::pic::getAllExposuresImages ( Image imgIn,
std::vector< float > &  fstops,
float  gamma = 2.2f 
)

getAllExposuresImages converts an image into a stack of images.

Parameters
imgInis an input image.
fstopsa vector with fstops.
gammais the gamma correction value for the output stack.
Returns
It returns an ImageVec of images which encode imgIn at different exposure values.

◆ getAllExposuresImages() [2/2]

PIC_INLINE ImageVec pic::pic::getAllExposuresImages ( Image imgIn,
float  gamma = 2.2f 
)

getAllExposuresImages converts an image into a stack of images.

Parameters
imgInis an input image.
gammais the gamma correction value for the output stack.
Returns
It returns an ImageVec of images which encode imgIn at different exposure values.

◆ getAllExposuresImagesGL()

PIC_INLINE ImageGLVec pic::pic::getAllExposuresImagesGL ( ImageGL imgIn,
float  gamma = 2.2f 
)

getAllExposuresImagesGL converts an HDR image into a stack of LDR images

Parameters
imgIn
Returns

◆ getAllExposuresUniform()

PIC_INLINE std::vector<float> pic::pic::getAllExposuresUniform ( Image imgIn)

getAllExposuresUniform computes all required exposure values for reconstructing the input image using uniform sampling

Parameters
imgInis an input image
Returns
It returns an std::vector<float> with all f-stops values encoding imgIn

◆ getBridsonSamples()

template<unsigned int N>
void pic::pic::getBridsonSamples ( std::mt19937 *  m,
float  radius,
std::vector< float > &  samples,
int  kSamples = 30 
)

getBridsonSamples

Parameters
m
radius
samples
kSamples

◆ getBytesForComponents()

int pic::pic::getBytesForComponents ( int  value)

getBytesForComponents

Parameters
value
Returns

◆ getChannelsFromInternalFormatGL()

int pic::pic::getChannelsFromInternalFormatGL ( int  internalFormat)
inline

getChannelsFromInternalFormatGL returns the number of channels given an internal format.

Parameters
internalFormatis the OpenGL internal format of a texture.
Returns
It returns the number of channels.

◆ getDartThrowingSamples()

template<unsigned int N>
void pic::pic::getDartThrowingSamples ( std::mt19937 *  m,
float  radius2,
int  nSamples,
std::vector< float > &  samples 
)

getDartThrowingSamples

Parameters
m
radius2
nSamples
samples

◆ getExtension()

std::string pic::pic::getExtension ( std::string  name)
inline

getExtension gets the extension of a file name.

Parameters
name
Returns

◆ getFileName()

std::string pic::pic::getFileName ( std::string  path)
inline

getFileName gets the file name.

Parameters
path
Returns

◆ getFileNameOnly()

std::string pic::pic::getFileNameOnly ( std::string  name)
inline

getFileNameOnly

Parameters
nameis the input name with global/local path and extension
Returns
it returns ONLY the file name without path

◆ getFolderName()

std::string pic::pic::getFolderName ( std::string  path)
inline

getFolderName gets the folder name from the path.

Parameters
path
Returns

◆ getLabelHDRExtension()

PIC_INLINE LABEL_IO_EXTENSION pic::pic::getLabelHDRExtension ( std::string  nameFile)

getLabelHDRExtension returns the file label given its file name (for HDR images).

Parameters
nameFileis a file name.
Returns
It returns a file label.

◆ getLabelLDRExtension()

PIC_INLINE LABEL_IO_EXTENSION pic::pic::getLabelLDRExtension ( std::string  nameFile)

getLabelHDRExtension returns the file label given its file name (for LDR images).

Parameters
nameFileis a file name.
Returns
It returns a file label.

◆ getLocaDirectory()

std::string pic::pic::getLocaDirectory ( std::string  path)
inline

getLocaDirectory gets local path.

Parameters
path
Returns

◆ getMinMaxFstops()

PIC_INLINE void pic::pic::getMinMaxFstops ( Image imgIn,
int &  minFstop,
int &  maxFstop 
)

getMinMaxFstops computes the minimum and maximum f-stop values of an image.

Parameters
imgInis an image.
minFstopis the mininum f-stop of imgIn, output.
maxFstopis the maximum f-stop of imgIn, output.

◆ getModesGL()

void pic::pic::getModesGL ( int  channels,
int &  mode,
int &  modeInternalFormat 
)
inline

getModesGL

Parameters
channels
mode
modeInternalFormat

◆ getModesHalfGL()

void pic::pic::getModesHalfGL ( int  channels,
int &  mode,
int &  modeInternalFormat 
)
inline

getModesHalfGL

Parameters
channels
mode
modeInternalFormat

◆ getModesIntegerGL()

void pic::pic::getModesIntegerGL ( int  channels,
int &  mode,
int &  modeInternalFormat 
)
inline

getModesIntegerGL

Parameters
channels
mode
modeInternalFormat

◆ getMonteCarloSamples()

template<unsigned int N>
PIC_INLINE void pic::pic::getMonteCarloSamples ( std::mt19937 *  m,
int  nSamples,
std::vector< float > &  samples 
)

getMonteCarloSamples

Parameters
m
nSamples
samples

◆ getMonteCarloStratifiedSamples()

template<unsigned int N>
PIC_INLINE void pic::pic::getMonteCarloStratifiedSamples ( std::mt19937 *  m,
int  nSamples,
std::vector< float > &  samples 
)

getMonteCarloStratifiedSamples

Parameters
m
nSamples
samples

◆ getPatternMethodSamples()

template<unsigned int N>
PIC_INLINE void pic::pic::getPatternMethodSamples ( int  nSamples,
std::vector< float > &  samples 
)

getPatternMethodSampler

Parameters
nSamples
samples

◆ getRandom()

PIC_INLINE float pic::pic::getRandom ( unsigned int  n)

Random returns a number in [0, 2^32 - 1] to a float in [0, 1].

Parameters
nis a 32-bit unsigned integer number.
Returns
It returns n as a normalized float in [0, 1].

◆ getRandombase()

PIC_INLINE float pic::pic::getRandombase ( )

Randombase returns a number in [0, 1] based on rand().

Returns
It returns a random number in [0, 1].

◆ getRandomInt()

PIC_INLINE int pic::pic::getRandomInt ( int  n,
int  a,
int  b 
)

getRandomInt

Parameters
n
a
b
Returns

◆ getRandomPermutation()

PIC_INLINE void pic::pic::getRandomPermutation ( std::mt19937 &  m,
unsigned int *  perm,
unsigned int  nPerm,
unsigned int  n 
)

getRandomPermutation computes a random permutation.

Parameters
mis a Mersenne Twister random number generator.
permis the array where to store the permutation.
nPermis the size of perm.
nis the number of object to permutate.

◆ getSeparator()

std::string pic::pic::getSeparator ( std::string  path)
inline

getSeparator returns the folder separator in path as a string

Parameters
path
Returns

◆ getSeparatorChar()

char pic::pic::getSeparatorChar ( std::string  path)
inline

getSeparatorChar returns the folder separator in path as a char.

Parameters
path
Returns

◆ getTagID()

int pic::pic::getTagID ( unsigned char  tag[2],
bool  bMotorola 
)

getTagID

Parameters
tag
bMotorola
Returns

◆ getTextureInformationGL()

PIC_INLINE void pic::pic::getTextureInformationGL ( GLuint  texture,
GLuint  target,
int &  width,
int &  height,
int &  frames,
int &  channels 
)

getTextureInformationGL returns width, height and frames values from a texture with target.

Parameters
textureis the OpenGL texture pointer.
targetis the OpenGL target of texture.
widthis the horizontal length in pixel of texture.
heightis the vertical length in pixel of texture.
framesis the number of frames of texture.
channelsis the number of color channels of texture.

◆ getValueBF()

PIC_INLINE int pic::pic::getValueBF ( BF_TYPE  type)

getValueBF

Parameters
type
Returns

◆ glBeginTimeQuery()

GLuint pic::pic::glBeginTimeQuery ( )
inline

glBeginTimeQuery

Returns

◆ glEndTimeQuery()

GLuint64 pic::pic::glEndTimeQuery ( GLuint64  ret)
inline

glEndTimeQuery

Parameters
ret
Returns

◆ glGetPrintError()

PIC_INLINE void pic::pic::glGetPrintError ( )

glGetPrintError

◆ GLSL_BICUBIC()

PIC_INLINE std::string pic::pic::GLSL_BICUBIC ( )

GLSL_BICUBIC returns bicubic sample.

Returns
It returns a string; a building block for a shader.

◆ GLSL_TEXTURE_BICUBIC()

PIC_INLINE std::string pic::pic::GLSL_TEXTURE_BICUBIC ( )

GLSL_TEXTURE_BICUBIC.

Returns

◆ ImageGLVecCheck()

PIC_INLINE bool pic::pic::ImageGLVecCheck ( ImageGLVec imgIn,
int  minInputImages 
)

ImageGLVecCheck.

Parameters
vec
minInputImages
Returns

◆ ImageVecCheck()

PIC_INLINE bool pic::pic::ImageVecCheck ( ImageVec imgIn,
int  minInputImages 
)

ImageVecCheck.

Parameters
vec
minInputImages
Returns

◆ ImageVecCheckSimilarType()

PIC_INLINE bool pic::pic::ImageVecCheckSimilarType ( ImageVec stack)

ImageVecCheckSimilarType.

Parameters
stack
Returns

◆ ImaveVecGetExposureTimesAsArray()

PIC_INLINE void pic::pic::ImaveVecGetExposureTimesAsArray ( ImageVec stack,
std::vector< float > &  output,
bool  bLog 
)

ImaveVecGetExposureTimesAsArray.

Parameters
stack

◆ ImaveVecSortByExposureTime()

PIC_INLINE void pic::pic::ImaveVecSortByExposureTime ( ImageVec stack)

ImaveVecSortByExposureTime.

Parameters
stack

◆ insideVecBBox()

template<uint N>
PIC_INLINE bool pic::pic::insideVecBBox ( const Vec< N, float > &  sample)

insideVecBBox

Parameters
sample
Returns

◆ invBilinear()

void pic::pic::invBilinear ( float  A,
float  dx,
float  dy,
float *  out 
)
inline

invBilinear

Parameters
A
dx
dy
out

◆ isinf()

template<typename T >
PIC_INLINE bool pic::pic::isinf ( value)

isinf is it a Inf value?

Parameters
value
Returns

◆ isnan()

template<typename T >
PIC_INLINE bool pic::pic::isnan ( value)

isnan is it a NaN?

Parameters
value
Returns

◆ Lanczos()

float pic::pic::Lanczos ( float  x,
float  a 
)
inline

Lanczos.

Parameters
x
a
Returns

◆ lerp()

PIC_INLINE float pic::pic::lerp ( float  t,
float  x0,
float  x1 
)

lerp evaluates linear interpolation

Parameters
tis a value in [0.0, 1.0].
x0is the min value.
x1is the max value.
Returns
it returns x0 + t * (x1 - x0)

◆ log10fPlusEpsilon()

PIC_INLINE float pic::pic::log10fPlusEpsilon ( float  x)

log10fPlusEpsilon

Parameters
x
Returns

◆ log10PlusOne()

PIC_INLINE float pic::pic::log10PlusOne ( float  x)

logf10PlusOne computes log10 of a value plus 1.

Parameters
xis a value for which the log10 needs to be computed.
Returns
It returns log10(x + 1).

◆ log2() [1/2]

PIC_INLINE int pic::pic::log2 ( int  n)

log2 computes logarithm in base 2 for integers.

Parameters
nis an integer value.
Returns
It returns log2 of n.

◆ log2() [2/2]

PIC_INLINE double pic::pic::log2 ( double  x)

log2

Parameters
x
Returns

◆ log2f()

PIC_INLINE float pic::pic::log2f ( float  x)

log2f logarithm in base 2 for floating point

Parameters
x
Returns

◆ log2fPlusEpsilon()

PIC_INLINE float pic::pic::log2fPlusEpsilon ( float  x)

log2fPlusEpsilon

Parameters
x
Returns

◆ lround() [1/2]

PIC_INLINE long pic::pic::lround ( double  x)

lround rounds double numbers properly.

Parameters
xis a scalar.
Returns

◆ lround() [2/2]

PIC_INLINE float pic::pic::lround ( float  x)

lround rounds float numbers properly.

Parameters
xis a scalar.
Returns

◆ MitchellNetravali()

float pic::pic::MitchellNetravali ( float  x,
float  B,
float  C 
)
inline

MitchellNetravali.

Parameters
x
B
C
Returns

◆ normalCDF()

float pic::pic::normalCDF ( float  x,
float  mu,
float  sigma 
)

normalCDF

Parameters
x
mu
sigma
Returns

◆ normalDistribution()

PIC_INLINE float pic::pic::normalDistribution ( float  x,
float  mu = 0.0f,
float  sigma = 1.0f 
)

normalDistribution

Parameters
x
mu
sigma
Returns

◆ normalize()

template<uint N>
PIC_INLINE Vec<N, float> pic::pic::normalize ( Vec< N, float >  x)

◆ parseStringToStdVector()

void pic::pic::parseStringToStdVector ( std::string  str,
char  delim,
StringVec str_vec 
)
inline

parseStringToStdVector

Parameters
str
delim
str_vec

◆ PoissonRadius()

float pic::pic::PoissonRadius ( int  nSamples)
inline

PoissonRadius estimates the radius of a Poisson-disk like distribution using nSmaples.

Parameters
nSamplesis the number of samples to have.
Returns
It returns the estimation of the radius.

◆ pow2()

PIC_INLINE int pic::pic::pow2 ( int  n)

pow2 computes 2^n.

Parameters
nis a positive exponent.
Returns
It returns 2^n.

◆ pow2f()

PIC_INLINE float pic::pic::pow2f ( float  x)

pow2f

Parameters
x
Returns

◆ powf10fMinusEpsilon()

PIC_INLINE float pic::pic::powf10fMinusEpsilon ( float  x)

powf10fMinusEpsilon

Parameters
x
Returns

◆ powint()

PIC_INLINE int pic::pic::powint ( int  x,
int  b 
)

powint computes power function for integer values.

Parameters
xis the base.
bis the exponent.
Returns
it returns x^b.

◆ Quad()

PIC_INLINE ImageVec pic::pic::Quad ( Image img1,
Image img2,
Image img3,
Image img4 
)

Triple creates an std::vector which contains img1, img2, img3, and img4; this is for filters input.

Parameters
img1is a pointer to a pic::Image
img2is a pointer to a pic::Image
img3is a pointer to a pic::Image
img4is a pointer to a pic::Image
Returns
It returns an std::vector which contains img1, img2, img3, and img4.

◆ Rad2Deg()

PIC_INLINE float pic::pic::Rad2Deg ( float  rad)

Rad2Deg converts angles expressed in radians into angles expressed in degrees.

Parameters
radis a value of an angle expressed in radians.
Returns
It returns an ang expressed in degrees.

◆ randomPoint()

template<uint N>
PIC_INLINE Vec<N, float> pic::pic::randomPoint ( std::mt19937 *  m)

randomPoint

Parameters
m
Returns

◆ randU()

float pic::pic::randU ( )
inline

randU computes a random number in [0, 1[ using the classic rand().

Returns
It returns a random value in [0, 1[ using the classic rand().

◆ ReadBMP()

PIC_INLINE unsigned char* pic::pic::ReadBMP ( std::string  nameFile,
unsigned char *  data,
int &  width,
int &  height,
int &  channels 
)

ReadBMP reads an image as .bmp file.

Parameters
nameFile
data
width
height
channels
Returns

◆ readEXIF()

bool pic::pic::readEXIF ( std::string  name,
EXIFInfo info 
)

readEXIF

Parameters
name
info
Returns

◆ ReadEXR()

PIC_INLINE float* pic::pic::ReadEXR ( std::string  nameFile,
float *  data,
int &  width,
int &  height,
int &  channels 
)

◆ ReadHDR()

PIC_INLINE float* pic::pic::ReadHDR ( std::string  nameFile,
float *  data,
int &  width,
int &  height 
)

ReadHDR reads a .hdr/.pic file.

Parameters
nameFile
data
width
height
Returns

◆ ReadPFM()

PIC_INLINE float* pic::pic::ReadPFM ( std::string  nameFile,
float *  data,
int &  width,
int &  height,
int &  channel 
)

ReadPFM loads a portable float map from a file.

Parameters
nameFile
data
width
height
channel
Returns

◆ ReadPGM()

PIC_INLINE unsigned char* pic::pic::ReadPGM ( std::string  nameFile,
unsigned char *  data,
int &  width,
int &  height,
int &  channels 
)

ReadPGM reads an .ppm file.

Parameters
nameFile
data
width
height
channels
Returns

◆ ReadPPM()

PIC_INLINE unsigned char* pic::pic::ReadPPM ( std::string  nameFile,
unsigned char *  data,
int &  width,
int &  height,
int &  channels 
)

ReadPPM reads an .ppm file.

Parameters
nameFile
data
width
height
channels
Returns

◆ ReadSTB()

PIC_INLINE unsigned char* pic::pic::ReadSTB ( std::string  nameFile,
int &  width,
int &  height,
int &  channels 
)

ReadSTB.

Parameters
nameFile
width
height
channels
Returns

◆ readString()

std::string pic::pic::readString ( FILE *  file,
int  length 
)

readString

Parameters
file
length
Returns

◆ readStringFromUChar()

std::string pic::pic::readStringFromUChar ( unsigned char *  data,
int  length 
)

readStringFromUChar

Parameters
data
Returns

◆ ReadTGA()

PIC_INLINE unsigned char* pic::pic::ReadTGA ( std::string  nameFile,
unsigned char *  data,
int &  width,
int &  height,
int &  channels 
)

ReadTGA reads an image in the .tga format.

Parameters
nameFile
data
width
height
channels
Returns

◆ ReadTMP()

PIC_INLINE float* pic::pic::ReadTMP ( std::string  nameFile,
float *  data,
int &  width,
int &  height,
int &  channels,
int &  frames,
bool  bHeader = true 
)

ReadTMP reads a dump temp file.

Parameters
nameFile
data
width
height
channels
frames
bHeader
Returns

◆ readUnsignedRational()

float pic::pic::readUnsignedRational ( FILE *  file,
bool  bMotorola 
)

readUnsignedRational

Parameters
file
bMotorola
Returns

◆ ReadVOL()

PIC_INLINE float* pic::pic::ReadVOL ( std::string  nameFile,
float *  data,
int &  width,
int &  height,
int &  depth,
int &  channels 
)

ReadVOL.

Parameters
nameFile
data
width
height
depth
channels
Returns

◆ releasePtr()

template<class T >
T* pic::pic::releasePtr ( T *  data)
inline

release

Parameters
data
Returns

◆ removeExtension()

std::string pic::pic::removeExtension ( std::string  name)
inline

RemoveExtension removes the extension of a string.

Parameters
name
Returns

◆ removeInitialSpaces()

std::string pic::pic::removeInitialSpaces ( char  name[])
inline

removeInitialSpaces removes spaces at the beginning of a string.

Parameters
name
Returns

◆ removeLocalPath()

std::string pic::pic::removeLocalPath ( std::string  name)
inline

removeLocalPath removes the local path of a string.

Parameters
name
Returns

◆ replaceExtension()

std::string pic::pic::replaceExtension ( std::string  nameOut,
std::string  fmtIn,
std::string  fmtOut 
)
inline

replaceExtension changes .format in a file name.

Parameters
nameOut
fmtIn
fmtOut
Returns

◆ Rx()

float pic::pic::Rx ( float  x)
inline

Rx evaluates B-spline (cubic).

Parameters
xis the curve parameter in [0, 1].
Returns
the evaluation of the B-spline.

◆ sCurve5()

PIC_INLINE float pic::pic::sCurve5 ( float  x)

sCurve5 evaluates a quintic S-Shape: 6x^5-15x^4+10x^3

Parameters
xis a value in [0.0, 1.0]
Returns

◆ setToANullVector()

template<class T >
void pic::pic::setToANullVector ( std::vector< T * > &  vec,
unsigned int  n 
)
inline

setToANullVector

Parameters
vec
n

◆ sFunction()

PIC_INLINE float pic::pic::sFunction ( float  x)

sFunction evaluates a cubic s-function.

Parameters
xis a value in [0.0, 1.0]
Returns
it returns 3 x^2 - 2 x^3

◆ sigmoid()

PIC_INLINE float pic::pic::sigmoid ( float  x)

sigmoid

Parameters
x
Returns

◆ sigmoidInv()

PIC_INLINE float pic::pic::sigmoidInv ( float  x)

sigmoidInv

Parameters
x
Returns

◆ simple8bitWithGamma()

PIC_INLINE float pic::pic::simple8bitWithGamma ( float  x)

simple8bitWithGamma

Parameters
x
Returns

◆ Single()

PIC_INLINE ImageVec pic::pic::Single ( Image img)

Single creates an std::vector which contains img; this is for filters input.

Parameters
imgis a pointer to a pic::Image
Returns
It returns an std::vector which contains img.

◆ SingleGL()

PIC_INLINE ImageGLVec pic::pic::SingleGL ( ImageGL img)

SingleGL creates a single for filters input.

Parameters
img
Returns

◆ SmoothStep()

PIC_INLINE float pic::pic::SmoothStep ( float  a,
float  b,
float  value 
)

SmoothStep smoothes a value from a to b using a cube S-Shape.

Parameters
ais the min value.
bis the max value.
valueis a value in [0.0, 1.0].
Returns
It returns - 2 x^3 + 3 x^2.

◆ sqrtf_s()

PIC_INLINE float pic::pic::sqrtf_s ( float  x)

sqrtf_s

Parameters
x
Returns

◆ square()

PIC_INLINE float pic::pic::square ( float  x)

Square applies square function to a value.

Parameters
xa value.
Returns
It return x^2.

◆ stdStringRep()

std::string pic::pic::stdStringRep ( std::string  str,
std::string  strSub,
std::string  strRep 
)
inline

stdStringRep replaces strSub in str with strRep just once.

Parameters
stris the input string.
strSubis the substring to find in str.
strRepis the string for replacing strSub.
Returns
It returns str where strSub is replaced with strRep.

◆ stdStringRepAll()

std::string pic::pic::stdStringRepAll ( std::string  str,
std::string  strSub,
std::string  strRep 
)
inline

stdStringRepAll replaces all strSub in str with strRep.

Parameters
str
strSub
strRep
Returns

◆ stdVectorArrayClear()

template<class T >
void pic::pic::stdVectorArrayClear ( std::vector< T *> &  vec)
inline

stdVectorArrayClear

Parameters
vec

◆ stdVectorClear()

template<class T >
void pic::pic::stdVectorClear ( std::vector< T *> &  vec)
inline

stdVectorClear

Parameters
vec

◆ timeGetTime()

PIC_INLINE int pic::pic::timeGetTime ( )

◆ transferFromPlainToVec()

template<uint N, class T >
void pic::pic::transferFromPlainToVec ( std::vector< T > &  in,
std::vector< Vec< N, T > > &  out 
)

◆ transferFromVecToPlain()

template<uint N, class T >
void pic::pic::transferFromVecToPlain ( std::vector< Vec< N, T > > &  in,
std::vector< T > &  out 
)

◆ Triple()

PIC_INLINE ImageVec pic::pic::Triple ( Image img1,
Image img2,
Image img3 
)

Triple creates an std::vector which contains img1, img2, and img3; this is for filters input.

Parameters
img1is a pointer to a pic::Image
img2is a pointer to a pic::Image
img3is a pointer to a pic::Image
Returns
It returns an std::vector which contains img1, img2, and img3.

◆ TripleGL()

PIC_INLINE ImageGLVec pic::pic::TripleGL ( ImageGL img1,
ImageGL img2,
ImageGL img3 
)

TripleGL creates a triple for filters input.

Parameters
img1
img2
img3
Returns

◆ twoByteToValue()

unsigned int pic::pic::twoByteToValue ( unsigned char  data[2],
bool  bMotorola 
)

twoByteToValue

Parameters
data
bMotorola
Returns

◆ vecGamma()

template<uint N>
void pic::pic::vecGamma ( Vec< N, float > &  ret,
float  g 
)

◆ vecrint()

template<uint N>
void pic::pic::vecrint ( Vec< N, float > &  ret)

◆ vecSqrt()

template<uint N>
void pic::pic::vecSqrt ( Vec< N, float > &  ret)

◆ vecValOver()

template<uint N>
Vec<N, float> pic::pic::vecValOver ( Vec< N, float > &  in,
float  value 
)

◆ WriteBMP()

PIC_INLINE bool pic::pic::WriteBMP ( std::string  nameFile,
const unsigned char *  data,
int  width,
int  height,
int  channels 
)

WriteBMP writes an image as a .bmp file.

Parameters
nameFile
data
width
height
channels
Returns

◆ WriteEXR()

PIC_INLINE bool pic::pic::WriteEXR ( std::string  nameFile,
float *  data,
int  width,
int  height,
int  channels = 3 
)

WriteEXR.

Parameters
nameFile
data
width
height
channels
Returns

◆ WriteHDR()

PIC_INLINE bool pic::pic::WriteHDR ( std::string  nameFile,
float *  data,
int  width,
int  height,
int  channels,
float  appliedExposure = 1.0f,
bool  bRLE = true 
)

WriteHDR writes a .hdr/.pic file.

Parameters
nameFile
data
width
height
channels
appliedExposure
bRLE
Returns

◆ WriteHDRBlock()

PIC_INLINE bool pic::pic::WriteHDRBlock ( std::string  nameFile,
float *  buffer_line,
int  width,
int  height,
int  channels,
int  blockID,
int  nBlocks 
)

WriteHDRBlock writes a .hdr file.

Parameters
nameFile
buffer_line
width
height
channels
blockID
nBlocks
Returns

◆ WriteLineHDR()

PIC_INLINE void pic::pic::WriteLineHDR ( FILE *  file,
unsigned char *  buffer_line,
int  width 
)

WriteLineHDR writes a scanline of an image using RLE and RGBE encoding.

Parameters
file
buffer_line
width

◆ WritePFM()

PIC_INLINE bool pic::pic::WritePFM ( std::string  nameFile,
float *  data,
int  width,
int  height,
int  channels = 3 
)

WritePFM writes an HDR image in the portable float map format into a file.

Parameters
nameFile
data
width
height
channels
Returns

◆ WritePGM()

PIC_INLINE bool pic::pic::WritePGM ( std::string  nameFile,
const unsigned char *  data,
int  width,
int  height,
int  channels,
bool  bAscii = false 
)

WritePGM writes an .ppm file.

Parameters
nameFile
data
width
height
channels
bAscii
Returns

◆ WritePPM()

PIC_INLINE bool pic::pic::WritePPM ( std::string  nameFile,
const unsigned char *  data,
int  width,
int  height,
int  channels 
)

WritePPM writes an .ppm file.

Parameters
nameFile
data
width
height
channels
Returns

◆ WriteSTB()

PIC_INLINE bool pic::pic::WriteSTB ( std::string  nameFile,
unsigned char *  data,
int  width,
int  height,
int  channels = 3 
)

WriteSTB.

Parameters
nameFile
data
width
height
channels
Returns

◆ WriteTGA()

PIC_INLINE bool pic::pic::WriteTGA ( std::string  nameFile,
const unsigned char *  data,
int  width,
int  height,
int  channels 
)

WriteTGA writes an image in the .tga format.

Parameters
nameFile
data
width
height
channels
Returns

◆ WriteTMP()

PIC_INLINE bool pic::pic::WriteTMP ( std::string  nameFile,
float *  data,
int &  width,
int &  height,
int &  channels,
int &  frames,
bool  bHeader = true 
)

WriteTMP writes a dump temp file.

Parameters
nameFile
data
width
height
channels
frames
bHeader
Returns

◆ WriteVOL()

PIC_INLINE bool pic::pic::WriteVOL ( std::string  nameFile,
float *  data,
int  width,
int  height,
int  depth,
int  channels = 3 
)

WriteVOL.

Parameters
nameFile
data
width
height
depth
channels
Returns

Variable Documentation

◆ C_EPSILON

const float pic::pic::C_EPSILON = 1e-6f

◆ C_INV_LOG_NAT_2

const float pic::pic::C_INV_LOG_NAT_2 = 1.4426950408889634073599246810019f

◆ C_INV_LOG_NAT_2_D

const double pic::pic::C_INV_LOG_NAT_2_D = 1.4426950408889634073599246810019

◆ C_INV_PI

const float pic::pic::C_INV_PI = 0.31830988618379067153776526745f

◆ C_INV_PI_2

const float pic::pic::C_INV_PI_2 = 0.159154943091895335768883763f

◆ C_INV_PI_4

const float pic::pic::C_INV_PI_4 = 0.07957747154594766788444188168626f

◆ C_LOG_NAT_2

const float pic::pic::C_LOG_NAT_2 = 0.69314718055994530941723212145818f

◆ C_ONE_80_OVER_PI

const float pic::pic::C_ONE_80_OVER_PI = 57.295779513082320876798154814105f

◆ C_PI

const float pic::pic::C_PI = 3.1415926535897932384626433832795f

◆ C_PI_025

const float pic::pic::C_PI_025 = 0.78539816339744830961566084581988f

◆ C_PI_05

const float pic::pic::C_PI_05 = 1.5707963267948966192313216916398f

◆ C_PI_2

const float pic::pic::C_PI_2 = 6.283185307179586476925286766559f

◆ C_PI_2_2

const float pic::pic::C_PI_2_2 = 19.739208802178717237668981999752f

◆ C_PI_4

const float pic::pic::C_PI_4 = 12.566370614359172953850573533118f

◆ C_PI_OVER_ONE_80

const float pic::pic::C_PI_OVER_ONE_80 = 0.017453292519943295769236907685f

◆ C_SQRT_2

const float pic::pic::C_SQRT_2 = 1.4142135623730950488016887242097f

◆ CONST_DARTTHROWING

const int pic::pic::CONST_DARTTHROWING = 5000

◆ mtxRGBtoXYZ

const float pic::pic::mtxRGBtoXYZ[]
Initial value:
= { 0.4124f, 0.3576f, 0.1805f,
0.2126f, 0.7152f, 0.0722f,
0.0193f, 0.1192f, 0.9505f
}

◆ mtxXYZtoRGB

const float pic::pic::mtxXYZtoRGB[]
Initial value:
= { 3.2406f, -1.5372f, -0.4986f,
-0.9689f, 1.8758f, 0.0415f,
0.0557f, -0.2040f, 1.0570f
}

◆ POISSON_RHO

const float pic::pic::POISSON_RHO = 0.75f