Exemplo n.º 1
0
        internal bool AdjustApertures(Form parentForm, TangraConfig.LightCurvesDisplaySettings displaySettings, LCStateMachine stateMachine, VideoController videoController)
        {
            DisplaySettings   = displaySettings;
            m_StateMachine    = stateMachine;
            m_VideoController = videoController;

            var frm = new frmAdjustApertures(stateMachine);

            frm.Controller = this;
            frm.Model      = new AdjustAperturesViewModel(m_StateMachine.MeasuringApertures, m_StateMachine.MeasuringStars);

            frm.StartPosition = FormStartPosition.CenterParent;
            if (frm.ShowDialog(parentForm) == DialogResult.OK)
            {
                for (int i = 0; i < m_StateMachine.MeasuringStars.Count; i++)
                {
                    m_StateMachine.MeasuringStars[i].ApertureInPixels = frm.Model.Apertures[i];
                    m_StateMachine.MeasuringApertures[i] = frm.Model.Apertures[i];
                }

                return(true);
            }

            return(false);
        }
Exemplo n.º 2
0
        internal bool AdjustApertures(Form parentForm, TangraConfig.LightCurvesDisplaySettings displaySettings, LCStateMachine stateMachine, VideoController videoController)
        {
            DisplaySettings = displaySettings;
            m_StateMachine = stateMachine;
            m_VideoController = videoController;

            var frm = new frmAdjustApertures(stateMachine);

            frm.Controller = this;
            frm.Model = new AdjustAperturesViewModel(m_StateMachine.MeasuringApertures, m_StateMachine.MeasuringStars);

            frm.StartPosition = FormStartPosition.CenterParent;
            if (frm.ShowDialog(parentForm) == DialogResult.OK)
            {
                for (int i = 0; i < m_StateMachine.MeasuringStars.Count; i++)
                {
                    m_StateMachine.MeasuringStars[i].ApertureInPixels = frm.Model.Apertures[i];
                    m_StateMachine.MeasuringApertures[i] = frm.Model.Apertures[i];
                }

                return true;
            }

            return false;
        }
Exemplo n.º 3
0
        internal frmAddOrEditMutualEventsTarget(int objectId, TrackedObjectConfig selectedObject, LCStateMachine state, VideoController videoController)
        {
            InitializeComponent();

            m_VideoController = videoController;

            Text              = "Edit 'Mutual Event' Target";
            btnAdd.Text       = "Save";
            btnDontAdd.Text   = "Cancel";
            btnDelete.Visible = true;
            m_IsEdit          = true;

            m_ObjectId   = objectId;
            m_State      = state;
            m_AstroImage = m_VideoController.GetCurrentAstroImage(false);

            ObjectToAdd = selectedObject;

            float?commonAperture = m_State.MeasuringApertures.Count > 0
                                ? m_State.MeasuringApertures[0] :
                                   (float?)null;

            m_Aperture  = commonAperture;
            m_Aperture1 = commonAperture;
            m_Aperture2 = commonAperture;

            m_Center         = new ImagePixel(selectedObject.ApertureStartingX, selectedObject.ApertureStartingY);
            m_OriginalCenter = new ImagePixel(selectedObject.ApertureStartingX, selectedObject.ApertureStartingY);

            if (selectedObject.ProcessInPsfGroup)
            {
                m_GroupId = selectedObject.GroupId;

                List <TrackedObjectConfig> otherGroupedObjects = state.m_MeasuringStars.Where(x => m_GroupId >= 0 && x.GroupId == m_GroupId && x != selectedObject).ToList();
                if (otherGroupedObjects.Count == 1)
                {
                    ObjectToAdd2 = otherGroupedObjects[0];
                    m_ObjectId2  = state.m_MeasuringStars.IndexOf(ObjectToAdd2);
                }
            }
            else
            {
                ObjectToAdd2 = null;
                m_GroupId    = objectId;
                // If we are to use a second object, it should have the next available Id
                m_ObjectId2 = state.m_MeasuringStars.Count;
            }

            m_EditingOccultedStar = selectedObject.IsOcultedStar();

            Initialise();
        }
Exemplo n.º 4
0
        internal frmAdjustApertures(LCStateMachine stateMachine)
        {
            InitializeComponent();

            picTarget1Pixels.Image = new Bitmap(picTarget1Pixels.Width, picTarget1Pixels.Height);
            picTarget2Pixels.Image = new Bitmap(picTarget2Pixels.Width, picTarget2Pixels.Height);
            picTarget3Pixels.Image = new Bitmap(picTarget3Pixels.Width, picTarget3Pixels.Height);
            picTarget4Pixels.Image = new Bitmap(picTarget4Pixels.Width, picTarget4Pixels.Height);

            m_GragBrushes = new Brush[256];
            for (int i = 0; i < 256; i++)
            {
                m_GragBrushes[i] = new SolidBrush(Color.FromArgb(i, i, i));
            }

            m_SettingControlValues = true;
            try
            {
                nudCommonAperture.SetNUDValue(stateMachine.MeasuringApertures[0]);
                cbxCommonUnit.SelectedIndex = 0;

                if (!rbSameApertures.Checked)
                {
                    // Set the default settings for "same size apertures" (use a diameter of 4 * FWHM as default (radius of 2 * FWHM))
                    nudCommonAperture.SetNUDValue(1.5);
                    cbxCommonUnit.SelectedIndex = 1;
                }
            }
            finally
            {
                m_SettingControlValues = false;
            }

            miRecent.DropDownItems.Clear();

            foreach (TangraConfig.SameSizeApertureConfig config in TangraConfig.Settings.LastUsed.SameSizeApertures)
            {
                var subMenu = new ToolStripMenuItem(config.ToString());
                subMenu.Tag    = config;
                subMenu.Click += subMenu_Click;
                miRecent.DropDownItems.Add(subMenu);
            }

            miRecent.Visible = miRecent.DropDownItems.Count > 0;

            RecalcApertureSizesAndUpdateUI();
        }
Exemplo n.º 5
0
        internal frmAddOrEditMutualEventsTarget(int objectId, ImagePixel center, PSFFit gaussian, LCStateMachine state, VideoController videoController, bool tryAutoDoubleFind)
        {
            InitializeComponent();

            m_VideoController   = videoController;
            m_TryAutoDoubleFind = tryAutoDoubleFind;

            Text              = "Add 'Mutual Event' Target";
            btnAdd.Text       = "Add";
            btnDontAdd.Text   = "Don't Add";
            btnDelete.Visible = false;
            m_IsEdit          = false;

            m_ObjectId   = objectId;
            m_GroupId    = objectId;          // For Group Id we use the next object id
            m_State      = state;
            m_AstroImage = m_VideoController.GetCurrentAstroImage(false);

            ObjectToAdd  = null;
            ObjectToAdd2 = null;

            float?commonAperture = m_State.MeasuringApertures.Count > 0
                                ? m_State.MeasuringApertures[0] :
                                   (float?)null;

            m_Aperture  = commonAperture;
            m_Aperture1 = commonAperture;
            m_Aperture2 = commonAperture;

            m_Center         = new ImagePixel(center);
            m_OriginalCenter = new ImagePixel(center);

            m_EditingOccultedStar = false;

            Initialise();
        }
        internal frmAddOrEditMutualEventsTarget(int objectId, ImagePixel center, PSFFit gaussian, LCStateMachine state, VideoController videoController, bool tryAutoDoubleFind)
        {
            InitializeComponent();

            m_VideoController = videoController;
            m_TryAutoDoubleFind = tryAutoDoubleFind;

            Text = "Add 'Mutual Event' Target";
            btnAdd.Text = "Add";
            btnDontAdd.Text = "Don't Add";
            btnDelete.Visible = false;
            m_IsEdit = false;

            m_ObjectId = objectId;
            m_GroupId = objectId; // For Group Id we use the next object id
            m_State = state;
            m_AstroImage = m_VideoController.GetCurrentAstroImage(false);

            ObjectToAdd = null;
            ObjectToAdd2 = null;

            float? commonAperture = m_State.MeasuringApertures.Count > 0
                ? m_State.MeasuringApertures[0] :
                (float?)null;

            m_Aperture = commonAperture;
            m_Aperture1 = commonAperture;
            m_Aperture2 = commonAperture;

            m_Center = new ImagePixel(center);
            m_OriginalCenter = new ImagePixel(center);

            m_EditingOccultedStar = false;

            Initialise();
        }
        internal frmAddOrEditMutualEventsTarget(int objectId, TrackedObjectConfig selectedObject, LCStateMachine state, VideoController videoController)
        {
            InitializeComponent();

            m_VideoController = videoController;

            Text = "Edit 'Mutual Event' Target";
            btnAdd.Text = "Save";
            btnDontAdd.Text = "Cancel";
            btnDelete.Visible = true;
            m_IsEdit = true;

            m_ObjectId = objectId;
            m_State = state;
            m_AstroImage = m_VideoController.GetCurrentAstroImage(false);

            ObjectToAdd = selectedObject;

            float? commonAperture = m_State.MeasuringApertures.Count > 0
                ? m_State.MeasuringApertures[0] :
                (float?)null;

            m_Aperture = commonAperture;
            m_Aperture1 = commonAperture;
            m_Aperture2 = commonAperture;

            m_Center = new ImagePixel(selectedObject.ApertureStartingX, selectedObject.ApertureStartingY);
            m_OriginalCenter = new ImagePixel(selectedObject.ApertureStartingX, selectedObject.ApertureStartingY);

            if (selectedObject.ProcessInPsfGroup)
            {
                m_GroupId = selectedObject.GroupId;

                List<TrackedObjectConfig> otherGroupedObjects = state.m_MeasuringStars.Where(x => m_GroupId >= 0 && x.GroupId == m_GroupId && x != selectedObject).ToList();
                if (otherGroupedObjects.Count == 1)
                {
                    ObjectToAdd2 = otherGroupedObjects[0];
                    m_ObjectId2 = state.m_MeasuringStars.IndexOf(ObjectToAdd2);
                }
            }
            else
            {
                ObjectToAdd2 = null;
                m_GroupId = objectId;
                // If we are to use a second object, it should have the next available Id
                m_ObjectId2 = state.m_MeasuringStars.Count;
            }

            m_EditingOccultedStar = selectedObject.IsOcultedStar();

            Initialise();
        }