예제 #1
0
        public Correlator(MosaicInfo mosaicInfo, TiledImageView correlationDisplayViewer)
            : this(correlationDisplayViewer)
        {
            this.mosaicInfo = mosaicInfo;

            CreateCorrelationTileList();
        }
예제 #2
0
        public Correlator(MosaicInfo mosaicInfo, TiledImageView correlationDisplayViewer)
            : this(correlationDisplayViewer)
        {
            this.mosaicInfo = mosaicInfo;

            CreateCorrelationTileList();
        }
        public KernalBasedOverlapCorrelator(MosaicInfo mosaicInfo, TiledImageView correlationDisplayViewer)
            : base(mosaicInfo, correlationDisplayViewer)
        {
            this.knownOverlapCorrelatorOptionPanel = new KernelBasedOverlapCorrelatorOptionPanel(this);

            this.CorrelationDisplayViewer.TileImageViewMouseDownHandler +=
                new TileImageViewMouseDelegate<TiledImageView, TiledImageViewMouseEventArgs>(OnCorrelationTileImageViewMouseDownHandler);

            this.CorrelationDisplayViewer.TileImageViewMouseMoveHandler +=
                new TileImageViewMouseDelegate<TiledImageView, TiledImageViewMouseEventArgs>(OnCorrelationTileImageViewMouseMoveHandler);

            this.CorrelationDisplayViewer.Paint += new PaintEventHandler(OnCorrelationTileImageViewPaint);
        }
예제 #4
0
        public KernalBasedOverlapCorrelator(MosaicInfo mosaicInfo, TiledImageView correlationDisplayViewer)
            : base(mosaicInfo, correlationDisplayViewer)
        {
            this.knownOverlapCorrelatorOptionPanel = new KernelBasedOverlapCorrelatorOptionPanel(this);

            this.CorrelationDisplayViewer.TileImageViewMouseDownHandler +=
                new TileImageViewMouseDelegate <TiledImageView, TiledImageViewMouseEventArgs>(OnCorrelationTileImageViewMouseDownHandler);

            this.CorrelationDisplayViewer.TileImageViewMouseMoveHandler +=
                new TileImageViewMouseDelegate <TiledImageView, TiledImageViewMouseEventArgs>(OnCorrelationTileImageViewMouseMoveHandler);

            this.CorrelationDisplayViewer.Paint += new PaintEventHandler(OnCorrelationTileImageViewPaint);
        }
예제 #5
0
        void OnCorrelationTileImageViewMouseMoveHandler(TiledImageView sender, TiledImageViewMouseEventArgs args)
        {
            if (!this.knownOverlapCorrelatorOptionPanel.SelectStartTile.Checked)
            {
                return;
            }

            this.startPosition = args.VirtualAreaPosition;
            Point pt = new Point((int)this.startPosition.X, (int)this.startPosition.Y);

            this.startTile = FindTileAroundPoint(pt);
            sender.Invalidate();
        }
예제 #6
0
        void OnCorrelationTileImageViewPaint(object sender, PaintEventArgs e)
        {
            TiledImageView tiledImageView = (TiledImageView)sender;

            e.Graphics.Transform = tiledImageView.GetTransform();

            // Draw Rectangle Bounds
            if (this.startTile != null)
            {
                int width = (int)(5.0f / (Math.Min(tiledImageView.XScaleFactor, tiledImageView.YScaleFactor)));

                e.Graphics.DrawRectangle(new Pen(Color.DarkGreen, width), this.startTile.Tile.Bounds);
            }
        }
예제 #7
0
        void OnTileImageViewMouseDownHandler(TiledImageView sender, TiledImageViewMouseEventArgs args)
        {
            // Causes scroll messages.
            if (args.ImageViewMouseEventArgs.MouseEventArgs.Button != MouseButtons.Left)
            {
                return;
            }

            Point pt = args.VirtualAreaPosition;

            pt = Utilities.ZoomPoint(pt, this.mosaicWindow.TileView.Zoom);

            pt.X -= this.mosaicWindow.TileView.ClientRectangle.Width / 2;
            pt.Y -= this.mosaicWindow.TileView.ClientRectangle.Height / 2;

            this.mosaicWindow.TileView.SetAutoScrollPosition(pt);

            this.mosaicWindow.TileView.Redraw();
            this.mosaicWindow.TileView.Refresh();
        }
예제 #8
0
 private Correlator(TiledImageView correlationDisplayViewer)
 {
     this.correlationDisplayViewer = correlationDisplayViewer;
     this.items = new List <CorrelationTile>();
 }
        void OnCorrelationTileImageViewMouseMoveHandler(TiledImageView sender, TiledImageViewMouseEventArgs args)
        {
            if (!this.knownOverlapCorrelatorOptionPanel.SelectStartTile.Checked)
                return;

            this.startPosition = args.VirtualAreaPosition;
            Point pt = new Point((int) this.startPosition.X, (int) this.startPosition.Y);
            this.startTile = FindTileAroundPoint(pt);
            sender.Invalidate();
        }
예제 #10
0
        void OnTileImageViewMouseDownHandler(TiledImageView sender, TiledImageViewMouseEventArgs args)
        {
            // Causes scroll messages.
            if (args.ImageViewMouseEventArgs.MouseEventArgs.Button != MouseButtons.Left)
                return;

            Point pt = args.VirtualAreaPosition;

            pt = Utilities.ZoomPoint(pt, this.mosaicWindow.TileView.Zoom);

            pt.X -= this.mosaicWindow.TileView.ClientRectangle.Width / 2;
            pt.Y -= this.mosaicWindow.TileView.ClientRectangle.Height / 2;

            this.mosaicWindow.TileView.SetAutoScrollPosition(pt);

            this.mosaicWindow.TileView.Redraw();
            this.mosaicWindow.TileView.Refresh();
        }
예제 #11
0
 private Correlator(TiledImageView correlationDisplayViewer)
 {
     this.correlationDisplayViewer = correlationDisplayViewer;
     this.items = new List<CorrelationTile>();
 }