#include <HxImageTem2d.h>
Inheritance diagram for HxImageTem2d::

Public Methods | |
| HxImageTem2d (int width=1, int height=1) | |
| HxImageTem2d (size_t *sizes) | |
| HxImageTem2d (const HxImageTem2d &) | |
| virtual | ~HxImageTem2d () |
| int | width () const |
| int | height () const |
| virtual DataPtrType | dataPtrClone () const |
| virtual void | neighbourhoodOp (const HxImageData *src, HxString ngbName, HxTagList &tags) |
| Neighbourhood operation. More... | |
| virtual void | neighbourhoodOp (const HxImageData *src, const HxImageData *kernel, HxString ngbName, HxTagList &tags) |
| Neighbourhood operation with kernel. More... | |
| virtual void | geometricOp2d (const HxImageData *arg, HxMatrix func, HxGeoIntType gi, HxVec3Double translate, HxValue background) |
| virtual HxImageData * | projectDomain (int dimension, int coordinate) |
| virtual void | inverseProjectDomain (int dimension, int coordinate, const HxImageData *arg) |
| virtual void | transpose (const HxImageData *src) |
| virtual void | getValues (HxPointListConstIter first, HxPointListConstIter last, HxValueListBackInserter) |
| virtual HxValue | sampleIdentMask (const HxImageData *mask, HxPoint p, HxSizes size, int label, HxString sFunc) |
| virtual void | sampleIdentMask (const HxImageData *mask, HxPoint p, HxSizes size, int label, HxString sFunc, HxValueListBackInserter res) |
| virtual HxValue | sampleWeightMask (const HxImageData *mask, HxPoint p, HxString sFunc) |
| virtual void | getRgbPixels2d (int *pixels, HxString dispF, int bufWidth, int bufHeight, int VX, int VY, int VW, int VH, double SX, double SY, double scaleX, double scaleY, HxGeoIntType gi) const |
|
||||||||||||||||||||
|
Neighbourhood operation.
Reimplemented from HxImageTem.
00537 {
00538 HxImgFtorNgbKey funcKey(
00539 signature().toString(),
00540 src->signature().toString(), ngbName);
00541
00542 typedef HxImgFtorI2 FunctorType;
00543
00544 static HxImgFtorTableTem<FunctorType> funcTable;
00545 FunctorType* func = funcTable.find(funcKey);
00546
00547 if (func) {
00548 HxSizes borderSize = func->minimumBorderSize(tags);
00549 HxSizes scratchSize = src->sizes() + borderSize * HxSizes(2, 2, 2);
00550 HxImageData* scratch = HxImgDataFactory::instance().makeImage(
00551 src->signature(), scratchSize);
00552 scratch->setPartImage(
00553 src, HxPointInt(0, 0, 0),
00554 src->sizes() - HxPointInt(1, 1, 1), borderSize);
00555 scratch->setBorder(borderSize, tags);
00556 HxAddTag<HxSizes>(tags, "borderSize", borderSize);
00557
00558 func->callIt(this, scratch, tags);
00559 delete scratch;
00560 } else {
00561 HxEnvironment::instance()->errorStream()
00562 << "Can't find " << funcKey << STD_ENDL;
00563 HxEnvironment::instance()->flush();
00564 }
00565 }
|
|
||||||||||||||||||||||||
|
Neighbourhood operation with kernel.
Reimplemented from HxImageTem.
00572 {
00573 HxImgFtorKernelNgbKey funcKey(
00574 signature().toString(),
00575 src->signature().toString(),
00576 kernel->signature().toString(),
00577 ngbName);
00578
00579 typedef HxImgFtorI3 FunctorType;
00580
00581 static HxImgFtorTableTem<FunctorType> funcTable;
00582 FunctorType* func = funcTable.find(funcKey);
00583
00584 if (func) {
00585 HxAddTag(tags, "kernelSize", kernel->sizes());
00586 HxSizes borderSize = func->minimumBorderSize(tags);
00587 HxSizes scratchSize = src->sizes() + borderSize * HxSizes(2, 2, 2);
00588 HxImageData* scratch = HxImgDataFactory::instance().makeImage(
00589 src->signature(), scratchSize);
00590 scratch->setPartImage(
00591 src, HxPointInt(0, 0, 0),
00592 src->sizes() - HxPointInt(1, 1, 1), borderSize);
00593 scratch->setBorder(borderSize, tags);
00594 HxAddTag(tags, "borderSize", borderSize);
00595
00596 func->callIt(this, scratch, kernel, tags);
00597 delete scratch;
00598 } else {
00599 HxEnvironment::instance()->errorStream()
00600 << "Can't find " << funcKey << STD_ENDL;
00601 HxEnvironment::instance()->flush();
00602 }
00603 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001