#include "pstream.h"
#include <iostream>
#include <fstream>
#include <tiffio.h>
#include <vector>
#include <math.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include "PixelArray.h"
#include "ParticleArray.h"
Namespaces | |
| namespace | IPGZ |
Defines | |
| #define | IP_COMPRESS 0 |
| Library to proide routines for input/output of TIFF images of colloidal particles and determination/tracking of colloidal particles. | |
| #define | IP_NONE 1 |
| #define | IP_DOT 0 |
| #define | IP_PLUS 1 |
| #define | IP_RED 0 |
| #define | IP_BLUE 1 |
| #define | IP_GREEN 2 |
| #define | IP_GRAY 3 |
Functions | |
| void | IPGZ::readTiff2Float2D (char *inFilename, PixelArray2D< float > *data, int channel) |
| Method to read a TIFF file into an instance of the PixelArray2D class. | |
| void | IPGZ::readTiff2Float3D (char *inFilenamePattern, int min, int max, PixelArray3D< float > *data, int channel) |
| Method to read a series of TIFF files into an instance of the PixelArray3D class. | |
| void | IPGZ::readTiff2Uint32 (char *inFilename, PixelArray2D< uint32 > *data) |
| General routine to read a TIFF image as RGBA data into unsigned integer PixelArray2D. This is primarily called by other functions (readTiff2Float3D(), readTiff2Float2D()) and will not typically be called directly. | |
| void | IPGZ::readTiff2Uint32 (char *inFilename, uint32 *raster, uint32 width, uint32 height) |
| General routine to read a TIFF image as RGBA data into unsigned integer array. This is primarily called by other functions and will not typically be called directly. | |
| void | IPGZ::writeFloat2Tiff2D (char *outFilename, PixelArray2D< float > *data, int R, int G, int B, int compress) |
| Routine to write floating point information stored in the PixelArray2D class to a TIFF file. | |
| void | IPGZ::writeFloat2Tiff2D (char *outFilename, PixelArray2D< float > *data1, int R1, int G1, int B1, PixelArray2D< float > *data2, int R2, int G2, int B2, int compress) |
| Routine to merge floating point information stored in two instances of the PixelArray2D class and write to a TIFF file. | |
| void | IPGZ::writeOverlay2Tiff (char *inFilename, char *outFilename, PixelArray2D< bool > *data, int R, int G, int B, int compress, int outputStyle) |
| Routine to read in a TIFF file and selectively overwrite certain information corresponding to particle positions and then write to a tiff file. | |
| void | IPGZ::writeOverlay2Tiff3D (char *inFilenamePattern, int min, int max, char *outFilenamePattern, PixelArray3D< bool > *data, int R, int G, int B, int compress, int outputStyle) |
| Routine to read in a series of TIFF images and selectively overwrite certain information corresponding to particle positions and then write out corresponding tiff file. | |
| void | IPGZ::writeIntensity2Tiff (char *outFilename, PixelArray2D< bool > *data, int R, int G, int B, int compress, int outputStyle) |
| Routine to write a TIFF file using intensity data to selectively overwrite certain pixels. | |
| void | IPGZ::minimumFilter2D (PixelArray2D< float > *inData, PixelArray2D< float > *outData, float minimumThreshold) |
| Routine to remove background noise in 2D. | |
| void | IPGZ::minimumFilter3D (PixelArray3D< float > *inData, PixelArray3D< float > *outData, float minimumThreshold) |
| Routine to remove background noise in 3D. | |
| void | IPGZ::normalize2D (PixelArray2D< float > *inData, PixelArray2D< float > *outData) |
| Routine to normalize intensity by maximum value in 2D. | |
| void | IPGZ::normalize3D (PixelArray3D< float > *inData, PixelArray3D< float > *outData) |
| Routine to normalize intensity by maximum value in 3D. | |
| void | IPGZ::invert2D (PixelArray2D< float > *inData, PixelArray2D< float > *outData) |
| Routine to invert intensity in 2D. | |
| void | IPGZ::invert3D (PixelArray3D< float > *inData, PixelArray3D< float > *outData) |
| Routine to invert intensity in 3D. | |
| void | IPGZ::gaussianMask2D (PixelArray2D< float > *rawData, PixelArray2D< float > *filteredData, int filterWidth, int filterHeight) |
| Routine to apply a gaussian mask in 2D. | |
| void | IPGZ::gaussianMask2D (PixelArray2D< float > *rawData, PixelArray2D< float > *filteredData, int filterWidth, int filterHeight, float minimumThreshold) |
| Routine to apply a gaussian mask in 2D with minimum threshold coarse-graining. | |
| void | IPGZ::gaussianMask3D (PixelArray3D< float > *rawData, PixelArray3D< float > *filteredData, int filterWidth, int filterHeight, int filterDepth) |
| Routine to apply a gaussian mask in 3D. | |
| void | IPGZ::gaussianMask3D (PixelArray3D< float > *rawData, PixelArray3D< float > *filteredData, int filterWidth, int filterHeight, int filterDepth, float minimumThreshold) |
| Routine to apply a gaussian mask in 3D with minimum threshold coarse-graining. | |
| void | IPGZ::gaussianMask3Dparallel (PixelArray3D< float > *rawData, PixelArray3D< float > *filteredData, int filterWidth, int filterHeight, int filterDepth, int numThreads) |
| Routine to apply a gaussian mask in 3D with support for multiple processors. | |
| void | IPGZ::gaussianMask3Dparallel (PixelArray3D< float > *rawData, PixelArray3D< float > *filteredData, int filterWidth, int filterHeight, int filterDepth, float minimumThreshold, int numThreads) |
| Routine to apply a gaussian mask in 3D with minimum threshold coarse-graining and support for multiple processors. | |
| void | IPGZ::gaussianMask3DStartFinish (PixelArray3D< float > *rawData, PixelArray3D< float > *filteredData, int filterWidth, int filterHeight, int filterDepth, float minimumThreshold, int start, int finish) |
| Routine to apply a gaussian mask in 3D with minimum threshold coarse-graining. | |
| void | IPGZ::gaussianMask3DStartFinish (PixelArray3D< float > *rawData, PixelArray3D< float > *filteredData, int filterWidth, int filterHeight, int filterDepth, int start, int finish) |
| Routine to apply a gaussian mask in 3D. | |
| void * | IPGZ::launchThreadGaussianMaskMin3D (void *data) |
| Method lauched when creating new threads for the gaussian mask calculation with minimum threshold coarse-graining. | |
| void * | IPGZ::launchThreadGaussianMask3D (void *data) |
| Method lauched when creating new threads for the gaussian mask calculation. | |
| void | IPGZ::localMaximum2D (PixelArray2D< float > *intensityData, PixelArray2D< bool > *isMaxData, ParticleArray< float > *positionData, int filterWidth, int filterHeight, float minimumThreshold) |
| Identifies the local maximum in 2D. | |
| void | IPGZ::localMaximum3D (PixelArray3D< float > *intensityData, PixelArray3D< bool > *isMaxData, ParticleArray< float > *positionData, int filterWidth, int filterHeight, int filterDepth, float minimumThreshold) |
| Identifies the local maximum in 3D. | |
| void | IPGZ::eliminateNeighbors3D (PixelArray3D< bool > *inIsMaxData, PixelArray3D< bool > *outIsMaxData, ParticleArray< float > *inPosition, ParticleArray< float > *outPosition, int filterWidth, int filterHeight, int filterDepth) |
| Eliminates any local maximum points that are too close together in 3D. | |
| void | IPGZ::eliminateNeighbors2D (PixelArray2D< bool > *inIsMaxData, PixelArray2D< bool > *outIsMaxData, ParticleArray< float > *inPosition, ParticleArray< float > *outPosition, int filterWidth, int filterHeight) |
| Eliminates any local maximum points that are too close together in 2D. | |
| void | IPGZ::findParticles3D (PixelArray3D< float > *intensityData, PixelArray3D< bool > *isMaxData, ParticleArray< float > *positionData, int filterWidth, int filterHeight, int filterDepth, float minimumThreshold) |
| Routine to identify particles in 3D; first calls the localMaximum3D() routine followed by eliminateNeighbors3D() routine and calculateCentroid3D(). | |
| void | IPGZ::findParticles2D (PixelArray2D< float > *intensityData, PixelArray2D< bool > *isMaxData, ParticleArray< float > *positionData, int filterWidth, int filterHeight, float minimumThreshold) |
| Routine to identify particles in 2D; first calls the localMaximum2D() routine followed by eliminateNeighbors2D() routine and calculateCentroid2D(). | |
| void | IPGZ::calculateCentroid3D (PixelArray3D< float > *intensityData, ParticleArray< float > *positionData, int filterWidth, int filterHeight, int filterDepth) |
| Routine to calculate the centroid of a particle in 3D. | |
| void | IPGZ::calculateCentroid2D (PixelArray2D< float > *intensityData, ParticleArray< float > *positionData, int filterWidth, int filterHeight) |
| Routine to calculate the centroid of a particle in 2D. | |
| void | IPGZ::realPosition (ParticleArray< float > *positionData, ParticleArray< float > *realPositionData, float scaleWidth, float scaleHeight, float scaleDepth) |
| Routine to calculate the real position of a particle based on the centroid data. This routine is indentical for 2D and 3D. | |
| #define IP_BLUE 1 |
| #define IP_COMPRESS 0 |
| #define IP_DOT 0 |
| #define IP_GRAY 3 |
| #define IP_GREEN 2 |
| #define IP_NONE 1 |
| #define IP_PLUS 1 |
| #define IP_RED 0 |
1.5.3