public static async Task <BitmapImage> SynthImageTask(SynthImage synthImage, Layer[] layers, Palette palette) { return(await Task.Run(() => { return synthImage.GetIndexImage(layers, palette); })); }
private void OpenSynthImageWindow(SynthImage synthImage) { SynthImageView window = new SynthImageView(synthImage); var currenCount = ListBoxLayers.Items.Count; window.Show(); if (ListBoxLayers.Items.Count != currenCount) { ListBoxLayers.SelectedIndex = LayerManager.instance.SelectImage; } }
public SynthImageView(SynthImage synthImage) { InitializeComponent(); if (synthImage.GetType() == typeof(NDVI)) { Title = "NDVI"; layers = new Layer[2] { null, null }; BandAButton.Content = "NIR"; BandGButton.Visibility = Visibility.Hidden; BandBButton.Visibility = Visibility.Hidden; CoeffName.Visibility = Visibility.Hidden; CoeffValue.Visibility = Visibility.Hidden; } else if (synthImage.GetType() == typeof(IPVI)) { Title = "IPVI"; layers = new Layer[2] { null, null }; BandAButton.Content = "NIR"; BandGButton.Visibility = Visibility.Hidden; BandBButton.Visibility = Visibility.Hidden; CoeffName.Visibility = Visibility.Hidden; CoeffValue.Visibility = Visibility.Hidden; } else if (synthImage.GetType() == typeof(SAVI)) { Title = "SAVI"; layers = new Layer[2] { null, null }; BandAButton.Content = "NIR"; BandGButton.Visibility = Visibility.Hidden; BandBButton.Visibility = Visibility.Hidden; CoeffName.Text = "L"; } else if (synthImage.GetType() == typeof(MSAVI)) { Title = "MSAVI"; layers = new Layer[2] { null, null }; BandAButton.Content = "NIR"; BandGButton.Visibility = Visibility.Hidden; BandBButton.Visibility = Visibility.Hidden; CoeffName.Visibility = Visibility.Hidden; CoeffValue.Visibility = Visibility.Hidden; } else if (synthImage.GetType() == typeof(GEMI)) { Title = "GEMI"; layers = new Layer[2] { null, null }; BandAButton.Content = "NIR"; BandGButton.Visibility = Visibility.Hidden; BandBButton.Visibility = Visibility.Hidden; CoeffName.Visibility = Visibility.Hidden; CoeffValue.Visibility = Visibility.Hidden; } else if (synthImage.GetType() == typeof(ARVI)) { Title = "SAVI"; layers = new Layer[3] { null, null, null }; BandAButton.Content = "NIR"; BandBButton.Visibility = Visibility.Hidden; BandGButton.Content = "B"; BandGButton.Background = new SolidColorBrush(Color.FromRgb(128, 124, 218)); CoeffName.Text = "a"; } else if (synthImage.GetType() == typeof(BlendChanel)) { Title = "Смешивание каналов"; layers = new Layer[3] { null, null, null }; BandBButton.Visibility = Visibility.Hidden; CoeffName.Visibility = Visibility.Hidden; CoeffValue.Visibility = Visibility.Hidden; SaveResButton.Visibility = Visibility.Hidden; PaletteComboBox.Visibility = Visibility.Hidden; BandAButton.Content = "R"; BandAButton.Background = new SolidColorBrush(Color.FromRgb(218, 124, 124)); BandRButton.Content = "G"; BandRButton.Background = new SolidColorBrush(Color.FromRgb(145, 218, 124)); BandGButton.Content = "B"; BandGButton.Background = new SolidColorBrush(Color.FromRgb(128, 124, 218)); CoeffName.Text = "a"; } else { MessageBox.Show("Произошла внуренняя ошибка", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); this.Close(); } defaultName[0] = BandAButton.Content.ToString(); defaultName[1] = BandRButton.Content.ToString(); defaultName[2] = BandGButton.Content.ToString(); defaultName[3] = BandBButton.Content.ToString(); ListBoxLayers.ItemsSource = LayerManager.instance.layers; ListBoxLayers.SelectedIndex = LayerManager.instance.SelectImage; this.synthImage = synthImage; }