ossimRefPtr<ossimProperty> ossimBandSelector::getProperty(const ossimString& name)const { if(name == "bandSelection") { std::vector<ossim_uint32> bands; getOutputBandList( bands ); std::vector<ossimString> bandNames; for(ossim_uint32 i = 0; i < bands.size(); i++) { bandNames.push_back( ossimString::toString( bands[i] ) ); } ossimString str; str.join( bandNames, " " ); ossimStringProperty* stringProp = new ossimStringProperty(name, str); stringProp->clearChangeType(); stringProp->setReadOnlyFlag(false); stringProp->setCacheRefreshBit(); return stringProp; } return ossimImageSourceFilter::getProperty(name); }
void ossimHistogramRemapper::initialize() { if (traceDebug()) { ossimNotify(ossimNotifyLevel_DEBUG) << "ossimHistogramRemapper::initialize entered..." << endl; } //--- // Call the base class initialize. // Note: This will reset "theInputConnection" if it changed... //--- ossimTableRemapper::initialize(); // Check the band list to see if it's changes. vector<ossim_uint32> bandList; getOutputBandList(bandList); if (theBandList.size() != 0 && bandList.size()) { if (theBandList.size() != bandList.size()) { // Somethings changed. Set everthing back. initializeClips(); setNullCount(); theTable.clear(); theDirtyFlag = true; } else { // Sizes same check the order. for(ossim_uint32 band = 0; band < theBandList.size(); ++band) { if (theBandList[band] != bandList[band]) { //initializeClips(); //setNullCount(); theDirtyFlag = true; break; } } } } // Update the band list with the latest. theBandList = bandList; if (traceDebug()) { ossimNotify(ossimNotifyLevel_DEBUG) << "ossimHistogramRemapper::initialize exited..." << endl; } }
ossim_uint32 ossimHistogramRemapper::getHistogramBand(ossim_uint32 input_band) const { vector<ossim_uint32> bandList; getOutputBandList(bandList); const ossim_uint32 BANDS = (ossim_uint32)bandList.size(); if (BANDS == 0) { return 0; } return bandList[input_band]; }