OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
LaserProfile Class Reference

#include <LaserProfile.h>

Collaboration diagram for LaserProfile:

Public Types

enum  {
  FLIPX = 1 , FLIPY = 2 , ROTATE90 = 4 , ROTATE180 = 8 ,
  ROTATE270 = 16
}

Public Member Functions

 LaserProfile (const std::string &fileName, const std::string &imageName, double intensityCut, short flags)
 ~LaserProfile ()
void getXY (double &x, double &y)

Private Member Functions

unsigned short * readFile (const std::string &fileName, const std::string &imageName)
unsigned short * readPGMFile (const std::string &fileName)
unsigned short * readHDF5File (const std::string &fileName, const std::string &imageName)
void flipX (unsigned short *image)
void flipY (unsigned short *image)
void swapXY (unsigned short *image)
void filterSpikes (unsigned short *image)
void normalizeProfileData (double intensityCut, unsigned short *image)
void computeProfileStatistics (unsigned short *image)
void fillHistrogram (unsigned short *image)
void setupRNG ()
void printInfo ()
void saveData (const std::string &fname, unsigned short *image)
void saveHistogram ()
void sampleDist ()
unsigned short getProfileMax (unsigned short *image)

Private Attributes

hsize_t sizeX_m
hsize_t sizeY_m
gsl_histogram2d * hist2d_m
gsl_rng * rng_m
gsl_histogram2d_pdf * pdf_m
Vector_t< double, 3 > centerMass_m
Vector_t< double, 3 > standardDeviation_m

Detailed Description

Definition at line 22 of file LaserProfile.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
FLIPX 
FLIPY 
ROTATE90 
ROTATE180 
ROTATE270 

Definition at line 32 of file LaserProfile.h.

Constructor & Destructor Documentation

◆ LaserProfile()

LaserProfile::LaserProfile ( const std::string & fileName,
const std::string & imageName,
double intensityCut,
short flags )

Definition at line 29 of file LaserProfile.cpp.

References centerMass_m, computeProfileStatistics(), fillHistrogram(), filterSpikes(), FLIPX, flipX(), FLIPY, flipY(), hist2d_m, normalizeProfileData(), pdf_m, printInfo(), readFile(), rng_m, ROTATE180, ROTATE270, ROTATE90, sampleDist(), saveHistogram(), setupRNG(), sizeX_m, sizeY_m, standardDeviation_m, and swapXY().

Here is the call graph for this function:

◆ ~LaserProfile()

LaserProfile::~LaserProfile ( )

Definition at line 76 of file LaserProfile.cpp.

References hist2d_m, pdf_m, and rng_m.

Member Function Documentation

◆ computeProfileStatistics()

void LaserProfile::computeProfileStatistics ( unsigned short * image)
private

Definition at line 251 of file LaserProfile.cpp.

References centerMass_m, sizeX_m, sizeY_m, and standardDeviation_m.

Referenced by LaserProfile().

Here is the caller graph for this function:

◆ fillHistrogram()

void LaserProfile::fillHistrogram ( unsigned short * image)
private

Definition at line 276 of file LaserProfile.cpp.

References hist2d_m, saveHistogram(), sizeX_m, sizeY_m, and standardDeviation_m.

Referenced by LaserProfile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ filterSpikes()

void LaserProfile::filterSpikes ( unsigned short * image)
private

Definition at line 206 of file LaserProfile.cpp.

References sizeX_m, and sizeY_m.

Referenced by LaserProfile().

Here is the caller graph for this function:

◆ flipX()

void LaserProfile::flipX ( unsigned short * image)
private

Definition at line 163 of file LaserProfile.cpp.

References sizeX_m, and sizeY_m.

Referenced by LaserProfile().

Here is the caller graph for this function:

◆ flipY()

void LaserProfile::flipY ( unsigned short * image)
private

Definition at line 174 of file LaserProfile.cpp.

References sizeX_m, and sizeY_m.

Referenced by LaserProfile().

Here is the caller graph for this function:

◆ getProfileMax()

unsigned short LaserProfile::getProfileMax ( unsigned short * image)
private

Definition at line 380 of file LaserProfile.cpp.

References sizeX_m, and sizeY_m.

Referenced by normalizeProfileData(), and saveData().

Here is the caller graph for this function:

◆ getXY()

void LaserProfile::getXY ( double & x,
double & y )

Definition at line 374 of file LaserProfile.cpp.

References pdf_m, and rng_m.

Referenced by sampleDist().

Here is the caller graph for this function:

◆ normalizeProfileData()

void LaserProfile::normalizeProfileData ( double intensityCut,
unsigned short * image )
private

Definition at line 237 of file LaserProfile.cpp.

References getProfileMax(), sizeX_m, and sizeY_m.

Referenced by LaserProfile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ printInfo()

void LaserProfile::printInfo ( )
private

Definition at line 318 of file LaserProfile.cpp.

References centerMass_m, sizeX_m, sizeY_m, and standardDeviation_m.

Referenced by LaserProfile().

Here is the caller graph for this function:

◆ readFile()

unsigned short * LaserProfile::readFile ( const std::string & fileName,
const std::string & imageName )
private

Definition at line 82 of file LaserProfile.cpp.

References readHDF5File(), and readPGMFile().

Referenced by LaserProfile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readHDF5File()

unsigned short * LaserProfile::readHDF5File ( const std::string & fileName,
const std::string & imageName )
private

Definition at line 119 of file LaserProfile.cpp.

References sizeX_m, and sizeY_m.

Referenced by readFile().

Here is the caller graph for this function:

◆ readPGMFile()

unsigned short * LaserProfile::readPGMFile ( const std::string & fileName)
private

Definition at line 102 of file LaserProfile.cpp.

References PortableGraymapReader::getHeight(), PortableGraymapReader::getPixel(), PortableGraymapReader::getWidth(), sizeX_m, and sizeY_m.

Referenced by readFile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sampleDist()

void LaserProfile::sampleDist ( )
private

Definition at line 359 of file LaserProfile.cpp.

References Util::combineFilePath(), OpalData::getAuxiliaryOutputDirectory(), OpalData::getInstance(), and getXY().

Referenced by LaserProfile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ saveData()

void LaserProfile::saveData ( const std::string & fname,
unsigned short * image )
private

Definition at line 335 of file LaserProfile.cpp.

References Util::combineFilePath(), OpalData::getAuxiliaryOutputDirectory(), OpalData::getInstance(), getProfileMax(), sizeX_m, and sizeY_m.

Here is the call graph for this function:

◆ saveHistogram()

void LaserProfile::saveHistogram ( )
private

Definition at line 351 of file LaserProfile.cpp.

References Util::combineFilePath(), OpalData::getAuxiliaryOutputDirectory(), OpalData::getInstance(), and hist2d_m.

Referenced by fillHistrogram(), and LaserProfile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setupRNG()

void LaserProfile::setupRNG ( )
private

Definition at line 306 of file LaserProfile.cpp.

References hist2d_m, pdf_m, and rng_m.

Referenced by LaserProfile().

Here is the caller graph for this function:

◆ swapXY()

void LaserProfile::swapXY ( unsigned short * image)
private

Definition at line 186 of file LaserProfile.cpp.

References sizeX_m, and sizeY_m.

Referenced by LaserProfile().

Here is the caller graph for this function:

Member Data Documentation

◆ centerMass_m

Vector_t<double, 3> LaserProfile::centerMass_m
private

Definition at line 59 of file LaserProfile.h.

Referenced by computeProfileStatistics(), LaserProfile(), and printInfo().

◆ hist2d_m

gsl_histogram2d* LaserProfile::hist2d_m
private

Definition at line 55 of file LaserProfile.h.

Referenced by fillHistrogram(), LaserProfile(), saveHistogram(), setupRNG(), and ~LaserProfile().

◆ pdf_m

gsl_histogram2d_pdf* LaserProfile::pdf_m
private

Definition at line 57 of file LaserProfile.h.

Referenced by getXY(), LaserProfile(), setupRNG(), and ~LaserProfile().

◆ rng_m

gsl_rng* LaserProfile::rng_m
private

Definition at line 56 of file LaserProfile.h.

Referenced by getXY(), LaserProfile(), setupRNG(), and ~LaserProfile().

◆ sizeX_m

◆ sizeY_m

◆ standardDeviation_m

Vector_t<double, 3> LaserProfile::standardDeviation_m
private

Definition at line 60 of file LaserProfile.h.

Referenced by computeProfileStatistics(), fillHistrogram(), LaserProfile(), and printInfo().


The documentation for this class was generated from the following files: