Exemple #1
0
        private void CopyObjectToAdd()
        {
            ObjectToAdd.ApertureInPixels  = (float)nudAperture1.Value;
            ObjectToAdd.MeasureThisObject = true; /* We measure all objects (comparison or occulted), unless specified otherwise by the user */
            ObjectToAdd.ApertureMatrixX0  = m_X0;
            ObjectToAdd.ApertureMatrixY0  = m_Y0;
            ObjectToAdd.ApertureDX        = 0;
            ObjectToAdd.ApertureDY        = 0;

            ObjectToAdd.AutoStarsInArea.Clear();
            if (m_AutoStarsInLargerArea != null)
            {
                m_AutoStarsInLargerArea.ForEach((g) => g.SetNewFieldCenterFrom35PixMatrix(m_Center.X, m_Center.Y));
                ObjectToAdd.AutoStarsInArea.AddRange(m_AutoStarsInLargerArea);
            }

            ObjectToAdd.OriginalFieldCenterX = m_Center.X;
            ObjectToAdd.OriginalFieldCenterY = m_Center.Y;

            if (rbManuallyPositionedAperture.Checked)
            {
                ObjectToAdd.IsFixedAperture   = true;
                ObjectToAdd.ApertureStartingX = (float)m_Center.X + m_X0 - 8f + dx;
                ObjectToAdd.ApertureStartingY = (float)m_Center.Y + m_Y0 - 8f + dy;

                ObjectToAdd.ApertureDX = dx;
                ObjectToAdd.ApertureDY = dy;
            }
            else
            {
                if (m_Gaussian != null)
                {
                    m_Gaussian.SetNewFieldCenterFrom17PixMatrix(m_Center.X, m_Center.Y);
                }
                else
                {
                    ObjectToAdd.IsWeakSignalObject = true;
                }

                ObjectToAdd.Gaussian = m_Gaussian;
                if (m_Gaussian != null)
                {
                    ObjectToAdd.ApertureStartingX = (float)m_Gaussian.XCenter;
                    ObjectToAdd.ApertureStartingY = (float)m_Gaussian.YCenter;
                }
                else
                {
                    // Forced guiding star
                    ObjectToAdd.ApertureStartingX = (float)m_Center.X;
                    ObjectToAdd.ApertureStartingY = (float)m_Center.Y;
                }
            }

            if (SelectedObjectType == TrackingType.GuidingStar)
            {
                ObjectToAdd.TrackingType       = TrackingType.GuidingStar;
                ObjectToAdd.PsfFitMatrixSize   = (int)nudFitMatrixSize.Value;
                ObjectToAdd.IsWeakSignalObject = false; // Must have a fit for a guiding star
            }
            else if (SelectedObjectType == TrackingType.ComparisonStar)
            {
                ObjectToAdd.TrackingType     = TrackingType.ComparisonStar;
                ObjectToAdd.PsfFitMatrixSize = TangraConfig.Settings.Special.DefaultComparisonStarPsfFitMatrixSize;
            }
            else if (SelectedObjectType == TrackingType.OccultedStar)
            {
                ObjectToAdd.TrackingType      = TrackingType.OccultedStar;
                ObjectToAdd.PositionTolerance = (float)nudPositionTolerance.Value;
                if (ObjectToAdd.Gaussian != null)
                {
                    // Correction for really large stars
                    ObjectToAdd.PositionTolerance += (float)(ObjectToAdd.Gaussian.FWHM / 2);
                }

                ObjectToAdd.PsfFitMatrixSize   = TangraConfig.Settings.Special.DefaultOccultedStarPsfFitMatrixSize;
                ObjectToAdd.IsWeakSignalObject = rbAutoCenteredAperture.Checked;
            }
        }