public MonoImageOperation(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
     if (imageOperator == null)
     {
         this.imageOperator = new MonoImageOperator();
         this.imageOperator.ImageOperation = this;
     }
 }
 public ImageOperationBatch(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
 }
 public MonoIdentity(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
 }
 public MonoClusterDetect(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
 }
 public MonoLinearColorStretch(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
 }
 public MonoCratersFromClusters(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
 }
 public MonoCircleDetect(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
 }
 public MonoInvert(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
 }
 public MonoClusterHighlighting(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
 }
 public MonoNormalize(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
 }
        private void LoadImage(DataImagePanel imagePanel, DataImage image)
        {
            Control c = imagePanel.Parent.Parent.Parent;
            if (c.GetType() == typeof(MonoControlContainer))
            {
                //Ensure that operator is properly set up
                MonoImageOperator op = new MonoImageOperator();
                MonoControlContainer mono = (MonoControlContainer)c;
                mono.imageOperator = op;
                mono.monoControlPanel1.CurrentControl = new NormalizeControl();
                mono.imageOperator.ImageOperation = mono.monoControlPanel1.CurrentControl.UnderlyingWidget;
                op.Source = image;
                imagePanel.CurrentImage = op.Result;
            }

            //Set up result panel
            if (mono1.dataImagePanel1.CurrentImage != null && mono2.dataImagePanel1.CurrentImage != null)
            {
                if (result.mono.CurrentControl == null)
                {
                    result.mono.CurrentControl = new NormalizeControl();
                    result.imageOperatorMono.ImageOperation = result.mono.CurrentControl.UnderlyingWidget;
                }
                if (result.dual.CurrentControl == null)
                {
                    result.dual.CurrentControl = new DualSubtractionControl();
                    result.imageOperatorDual.ImageOperation = result.dual.CurrentControl.UnderlyingWidget;
                }

                this.result.imageOperatorDual.Source = mono1.dataImagePanel1.CurrentImage;
                this.result.imageOperatorDual.Source2 = mono2.dataImagePanel1.CurrentImage;
                this.result.imageOperatorMono.Source = this.result.imageOperatorDual.Result;
                this.result.dataImagePanel1.CurrentImage = this.result.imageOperatorDual.Result;
                this.result.dataImagePanel1.labelImage.Text = this.result.dataImagePanel1.CurrentImage.Name;
            }

            imagePanel.labelImage.Text = imagePanel.CurrentImage.Name;
            CurrentControlChanged_Trigger();
        }
 public MonoEqualize(MonoImageOperator imageOperator)
     : base(imageOperator)
 {
 }