void oms::SingleImageChain::setToThreeBands() { if(!theImageChain.valid()) return; ossim_uint32 bands = 0; if(theImageChain->getInput()) { ossimImageSource* is = dynamic_cast<ossimImageSource*>(theImageChain->getInput()); bands = is->getNumberOfOutputBands(); } std::vector<ossim_uint32> bandList; if(bands >=3) { bandList.push_back(0); bandList.push_back(1); bandList.push_back(2); setBandSelection(bandList); } else if((bands < 3)&&(bands>0)) { bandList.push_back(0); bandList.push_back(0); bandList.push_back(0); setBandSelection(bandList); } }
void oms::SingleImageChain::setBandSelection(const std::vector<ossimString>& bandList, bool zeroBased) { std::vector<ossim_uint32> bands(bandList.size()); ossim_uint32 idx = 0; for(idx = 0; idx < bands.size(); ++idx) { bands[idx] = bandList[idx].toUInt32(); } setBandSelection(bands, zeroBased); }
void oms::SingleImageChain::setToThreeBandsReverse() { if(!theImageChain.valid()) return; ossim_uint32 bands = theImageChain->getNumberOfInputBands(); std::vector<ossim_uint32> bandList; if(bands >3) { bandList.push_back(2); bandList.push_back(1); bandList.push_back(0); setBandSelection(bandList); } else if((bands < 3)&&(bands>0)) { bandList.push_back(0); bandList.push_back(0); bandList.push_back(0); setBandSelection(bandList); } }
void ossimSingleImageChain::setToThreeBands() { if (!m_bandSelector) { addBandSelector(); } m_bandSelector->setEnableFlag(true); m_bandSelector->setThreeBandRgb(); if ( m_histogramRemapper.valid() ) { m_histogramRemapper->initialize(); } #if 0 if ( m_handler.valid() ) { // Only do if not three bands already so the band list order is not wiped out. if ( !m_bandSelector.valid() || ( m_bandSelector.valid() && ( m_bandSelector->getNumberOfOutputBands() != 3 ) ) ) { std::vector<ossim_uint32> bandList(3); if ( m_handler->getRgbBandList( bandList ) == false ) { const ossim_uint32 BANDS = m_handler->getNumberOfInputBands(); if(BANDS >= 3) { bandList[0] = 0; bandList[1] = 1; bandList[2] = 2; } else { bandList[0] = 0; bandList[1] = 0; bandList[2] = 0; } } setBandSelection(bandList); } } #endif }
void ossimSingleImageChain::setToThreeBandsReverse() { if ( m_handler.valid() ) { std::vector<ossim_uint32> bandList(3); const ossim_uint32 BANDS = m_handler->getNumberOfInputBands(); if(BANDS >= 3) { bandList[0] = 2; bandList[1] = 1; bandList[2] = 0; } else { bandList[0] = 0; bandList[1] = 0; bandList[2] = 0; } setBandSelection(bandList); } }
void oms::SingleImageChain::setBandSelection(const int* bandList, int bandListSize, bool zeroBased) { setBandSelection(std::vector<ossim_uint32>(bandList, bandList+bandListSize)); }
void oms::SingleImageChain::setToSingleBand(ossim_int32 band) { std::vector<ossim_uint32> bandList; bandList.push_back(band); setBandSelection(bandList); }