1.1 --- a/UrbanAreaExtraction/View/otbUrbanAreaExtractionViewGUI.cxx Fri Jun 26 17:54:21 2009 +0800
1.2 +++ b/UrbanAreaExtraction/View/otbUrbanAreaExtractionViewGUI.cxx Fri Jun 26 18:01:50 2009 +0800
1.3 @@ -574,16 +574,15 @@
1.4 unsigned int lNbComponent = m_UrbanAreaExtractionModel->GetInputImage()->GetNumberOfComponentsPerPixel();
1.5 if( m_UrbanAreaExtractionModel->GetMasterModel()->GetLayer(0) != NULL )
1.6 {
1.7 - StandardRenderingFunctionType::Pointer lRenderingFunction
1.8 - = static_cast<StandardRenderingFunctionType*>(m_UrbanAreaExtractionModel->GetRenderingFunction().GetPointer());
1.9 -// RenderingFunctionType::Pointer lRenderingFunction = m_UrbanAreaExtractionModel->GetRenderingFunction();
1.10 - assert(lRenderingFunction.GetPointer());
1.11 StandardRenderingFunctionType::PixelRepresentationFunctionType::ChannelListType channels;
1.12 - channels = lRenderingFunction->GetPixelRepresentationFunction().GetChannelList();
1.13 -// iRChannelChoice->value(std::min(lRenderingFunction->GetRedChannelIndex(),lNbComponent-1));
1.14 -// iGChannelChoice->value(std::min(lRenderingFunction->GetGreenChannelIndex(),lNbComponent-1));
1.15 -// iBChannelChoice->value(std::min(lRenderingFunction->GetBlueChannelIndex(),lNbComponent-1));
1.16 - assert(channels.size() == 3);
1.17 + channels = m_UrbanAreaExtractionModel->GetRenderingFunction()->GetChannelList();
1.18 + unsigned int i=0;
1.19 + while (channels.size() < 3)
1.20 + {
1.21 + channels.push_back(i);
1.22 + ++i;
1.23 + }
1.24 +
1.25 iRChannelChoice->value(std::min(channels[0],lNbComponent-1));
1.26 iGChannelChoice->value(std::min(channels[1],lNbComponent-1));
1.27 iBChannelChoice->value(std::min(channels[2],lNbComponent-1));
1.28 @@ -614,14 +613,13 @@
1.29 unsigned int lNbComponent = m_UrbanAreaExtractionModel->GetInputImage()->GetNumberOfComponentsPerPixel();
1.30 if( m_UrbanAreaExtractionModel->GetMasterModel()->GetLayer(0) != NULL )
1.31 {
1.32 -// RenderingFunctionType::Pointer lRenderingFunction = m_UrbanAreaExtractionModel->GetRenderingFunction();
1.33 -// iGrayscaleChannelChoice->value(std::min(lRenderingFunction->GetRedChannelIndex(),lNbComponent-1));
1.34 - StandardRenderingFunctionType::Pointer lRenderingFunction
1.35 - = static_cast<StandardRenderingFunctionType*>(m_UrbanAreaExtractionModel->GetRenderingFunction().GetPointer());
1.36 - assert(lRenderingFunction.GetPointer());
1.37 +
1.38 StandardRenderingFunctionType::PixelRepresentationFunctionType::ChannelListType channels;
1.39 - channels = lRenderingFunction->GetPixelRepresentationFunction().GetChannelList();
1.40 - assert(channels.size() == 1);
1.41 + channels = m_UrbanAreaExtractionModel->GetRenderingFunction()->GetChannelList();
1.42 + if (channels.size() < 1)
1.43 + {
1.44 + channels.push_back(0);
1.45 + }
1.46 iGrayscaleChannelChoice->value(std::min(channels[0],lNbComponent-1));
1.47 }
1.48 }