本文整理汇总了C++中ossimRefPtr::setOutputToInputBandList方法的典型用法代码示例。如果您正苦于以下问题:C++ ossimRefPtr::setOutputToInputBandList方法的具体用法?C++ ossimRefPtr::setOutputToInputBandList怎么用?C++ ossimRefPtr::setOutputToInputBandList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ossimRefPtr
的用法示例。
在下文中一共展示了ossimRefPtr::setOutputToInputBandList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createHistogram
// Create histogram for entry:
void ossimImageUtil::createHistogram(ossimRefPtr<ossimImageHandler>& ih,
ossim_uint32 entry,
bool useEntryIndex)
{
static const char M[] = "ossimImageUtil::createHistogram #2";
if(traceDebug())
{
ossimNotify(ossimNotifyLevel_DEBUG) << M << " entered...\n";
}
if ( ih.valid() )
{
if (useEntryIndex)
{
// Set entry before deriving file name.
ih->setCurrentEntry(entry);
ossimNotify(ossimNotifyLevel_NOTICE) << "entry number: "<< entry << std::endl;
}
ossimFilename outputFile =
ih->getFilenameWithThisExtension(ossimString(".his"), useEntryIndex);
// Only build if needed:
if ( (outputFile.exists() == false) || rebuildHistogram() )
{
ossimNotify(ossimNotifyLevel_NOTICE)
<< "Computing histogram for file: " << ih->getFilename() << std::endl;
// Check handler to see if it's filtering bands.
std::vector<ossim_uint32> originalBandList(0);
if ( ih->isBandSelector() )
{
// Capture for finalize method.
ih->getOutputBandList( originalBandList );
// Set output list to input.
ih->setOutputToInputBandList();
}
ossimRefPtr<ossimImageHistogramSource> histoSource = new ossimImageHistogramSource;
ossimRefPtr<ossimHistogramWriter> writer = new ossimHistogramWriter;
histoSource->setMaxNumberOfRLevels(1); // Currently hard coded...
#if 0 /* TODO tmp drb */
if( !ossim::isnan(histoMin) )
{
histoSource->setMinValueOverride(histoMin);
}
if( !ossim::isnan(histoMax) )
{
histoSource->setMaxValueOverride(histoMax);
}
if(histoBins > 0)
{
histoSource->setNumberOfBinsOverride(histoBins);
}
#endif
if(traceDebug())
{
ossimNotify(ossimNotifyLevel_DEBUG)
<< "Histogram mode: " << getHistogramMode() << "\n";
}
// Connect histogram source to image handler.
histoSource->setComputationMode( getHistogramMode() );
histoSource->connectMyInputTo(0, ih.get() );
histoSource->enableSource();
// Connect writer to histogram source.
writer->connectMyInputTo(0, histoSource.get());
writer->setFilename(outputFile);
theStdOutProgress.setFlushStreamFlag(true);
writer->addListener(&theStdOutProgress);
// Compute...
writer->execute();
writer=0;
// Reset the band list.
if ( ih->isBandSelector() && originalBandList.size() )
{
ih->setOutputBandList( originalBandList );
}
} // Matches: if ( (outputFile.exists() == false) || rebuildHistogram() )
} // Matches: if ( ih.valid() )
if(traceDebug())
{
ossimNotify(ossimNotifyLevel_DEBUG) << M << " exited...\n";
}
} // End: ossimImageUtil::createHistogram #2