summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasem Mutlaq <mutlaqja@ikarustech.com>2016-10-10 10:50:59 (GMT)
committerJasem Mutlaq <mutlaqja@ikarustech.com>2016-10-10 10:50:59 (GMT)
commit7958708473376a3610daf92a7c89c69834d942e7 (patch)
tree0be01608ab33dfa3f2f21e0b36fe3f2019723059
parent60755c23c186d1b0e8d0f46e282ccb2c2aab4db6 (diff)
Focus uses its own fits frame like guide module. Improve GUI
-rw-r--r--kstars/ekos/focus/focus.cpp80
-rw-r--r--kstars/ekos/focus/focus.h5
-rw-r--r--kstars/ekos/focus/focus.ui1389
-rw-r--r--kstars/indi/indiccd.cpp24
4 files changed, 779 insertions, 719 deletions
diff --git a/kstars/ekos/focus/focus.cpp b/kstars/ekos/focus/focus.cpp
index 94582df..5161aee 100644
--- a/kstars/ekos/focus/focus.cpp
+++ b/kstars/ekos/focus/focus.cpp
@@ -218,6 +218,14 @@ Focus::Focus()
connect(thresholdSpin, SIGNAL(valueChanged(double)), this, SLOT(setThreshold(double)));
connect(focusFramesSpin, SIGNAL(valueChanged(int)), this, SLOT(setFrames(int)));
+
+ focusView = new FITSView(focusingWidget);
+ focusView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+ focusView->setBaseSize(focusingWidget->size());
+ QVBoxLayout *vlayout = new QVBoxLayout();
+ vlayout->addWidget(focusView);
+ focusingWidget->setLayout(vlayout);
+ connect(focusView, SIGNAL(trackingStarSelected(int,int)), this, SLOT(focusStarSelected(int,int)), Qt::UniqueConnection);
}
Focus::~Focus()
@@ -273,9 +281,7 @@ void Focus::resetFrame()
starCenter = QVector3D();
subFramed = false;
- FITSView *targetImage = targetChip->getImageView(FITS_FOCUS);
- if (targetImage)
- targetImage->setTrackingBox(QRect());
+ focusView->setTrackingBox(QRect());
}
}
}
@@ -314,6 +320,8 @@ void Focus::checkCCD(int ccdNum)
ISD::CCDChip *targetChip = currentCCD->getChip(ISD::CCDChip::PRIMARY_CCD);
if (targetChip)
{
+ targetChip->setImageView(focusView, FITS_FOCUS);
+
binningCombo->setEnabled(targetChip->canBin());
kcfg_subFrame->setEnabled(targetChip->canSubframe());
autoStarCheck->setEnabled(targetChip->canSubframe());
@@ -758,10 +766,6 @@ void Focus::abort()
//resetFrame();
- FITSView *targetImage = targetChip->getImageView(FITS_FOCUS);
- if (targetImage)
- targetImage->updateMode(FITS_FOCUS);
-
resetButtons();
absIterations = 0;
@@ -843,6 +847,8 @@ void Focus::capture()
captureInProgress = true;
+ focusView->setBaseSize(focusingWidget->size());
+
targetChip->capture(seqExpose);
if (inFocusLoop == false)
@@ -952,8 +958,7 @@ void Focus::newFITS(IBLOB *bp)
disconnect(currentCCD, SIGNAL(BLOBUpdated(IBLOB*)), this, SLOT(newFITS(IBLOB*)));
if (darkFrameCheck->isChecked())
- {
- FITSView *currentImage = targetChip->getImageView(FITS_FOCUS);
+ {
FITSData *darkData = NULL;
QVariantMap settings = frameSettings[targetChip];
uint16_t offsetX = settings["x"].toInt() / settings["binx"].toInt();
@@ -965,9 +970,9 @@ void Focus::newFITS(IBLOB *bp)
connect(DarkLibrary::Instance(), SIGNAL(newLog(QString)), this, SLOT(appendLogText(QString)));
if (darkData)
- DarkLibrary::Instance()->subtract(darkData, currentImage, defaultScale, offsetX, offsetY);
+ DarkLibrary::Instance()->subtract(darkData, focusView, defaultScale, offsetX, offsetY);
else
- DarkLibrary::Instance()->captureAndSubtract(targetChip, currentImage, exposureIN->value(), offsetX, offsetY);
+ DarkLibrary::Instance()->captureAndSubtract(targetChip, focusView, exposureIN->value(), offsetX, offsetY);
return;
}
@@ -985,15 +990,6 @@ void Focus::setCaptureComplete()
// JM 2016-09-28: Disable setting back to FITS_NORMAL as it might be causing issues. Each module should set capture module separately.
//targetChip->setCaptureMode(FITS_NORMAL);
- FITSView *targetImage = targetChip->getImageView(FITS_FOCUS);
-
- if (targetImage == NULL)
- {
- appendLogText(i18n("FITS image failed to load, aborting..."));
- abort();
- return;
- }
-
int subBinX=1, subBinY=1;
targetChip->getBinning(&subBinX, &subBinY);
@@ -1008,10 +1004,10 @@ void Focus::setCaptureComplete()
}
QRect starRect = QRect( (starCenter.x()-focusBoxSize->value()/(2*subBinX)), starCenter.y()-focusBoxSize->value()/(2*subBinY), focusBoxSize->value()/subBinX, focusBoxSize->value()/subBinY);
- targetImage->setTrackingBox(starRect);
+ focusView->setTrackingBox(starRect);
}
- connect(targetImage, SIGNAL(trackingStarSelected(int,int)), this, SLOT(focusStarSelected(int, int)), Qt::UniqueConnection);
+ //connect(targetImage, SIGNAL(trackingStarSelected(int,int)), this, SLOT(focusStarSelected(int, int)), Qt::UniqueConnection);
if (inFocusLoop == false)
appendLogText(i18n("Image received."));
@@ -1025,18 +1021,18 @@ void Focus::setCaptureComplete()
captureInProgress = false;
- FITSData *image_data = targetChip->getImageData();
+ FITSData *image_data = focusView->getImageData();
- starPixmap = targetImage->getTrackingBoxPixmap();
+ starPixmap = focusView->getTrackingBoxPixmap();
emit newStarPixmap(starPixmap);
// If we're not framing, let's try to detect stars
- if (inFocusLoop == false || (inFocusLoop && targetImage->isTrackingBoxEnabled()))
+ if (inFocusLoop == false || (inFocusLoop && focusView->isTrackingBoxEnabled()))
{
if (image_data->areStarsSearched() == false)
{
- if (targetImage->isTrackingBoxEnabled())
- image_data->findStars(targetImage->getTrackingBox());
+ if (focusView->isTrackingBoxEnabled())
+ image_data->findStars(focusView->getTrackingBox());
else
image_data->findStars();
}
@@ -1093,7 +1089,7 @@ void Focus::setCaptureComplete()
//targetImage->setTrackingBox(QRect(x, y, focusBoxSize->value(), focusBoxSize->value()));
starCenter.setX(qMax(0, static_cast<int>(maxStarHFR->x)));
starCenter.setY(qMax(0, static_cast<int>(maxStarHFR->y)));
- targetImage->setTrackingBox(QRect( (starCenter.x()-focusBoxSize->value()/(2*subBinX)), starCenter.y()-focusBoxSize->value()/(2*subBinY), focusBoxSize->value()/subBinX, focusBoxSize->value()/subBinY));
+ focusView->setTrackingBox(QRect( (starCenter.x()-focusBoxSize->value()/(2*subBinX)), starCenter.y()-focusBoxSize->value()/(2*subBinY), focusBoxSize->value()/subBinX, focusBoxSize->value()/subBinY));
}
}
@@ -1145,8 +1141,8 @@ void Focus::setCaptureComplete()
//targetChip->getFrame(&fx, &fy, &fw, &fh);
//targetImage->setTrackingBox(QRect((fw-focusBoxSize->value())/2, (fh-focusBoxSize->value())/2, focusBoxSize->value(), focusBoxSize->value()));
- targetImage->setTrackingBox(QRect(w-focusBoxSize->value()/(subBinX*2), h-focusBoxSize->value()/(subBinY*2), focusBoxSize->value()/subBinX, focusBoxSize->value()/subBinY));
- targetImage->setTrackingBoxEnabled(true);
+ focusView->setTrackingBox(QRect(w-focusBoxSize->value()/(subBinX*2), h-focusBoxSize->value()/(subBinY*2), focusBoxSize->value()/subBinX, focusBoxSize->value()/subBinY));
+ focusView->setTrackingBoxEnabled(true);
state = Ekos::FOCUS_WAITING;
emit newStatus(state);
@@ -1215,7 +1211,7 @@ void Focus::setCaptureComplete()
//targetChip->getFrame(&fx, &fy, &fw, &fh);
//targetImage->setTrackingBox(QRect((w-focusBoxSize->value())/(subBinX*2), (h-focusBoxSize->value())/(subBinY*2), focusBoxSize->value()/subBinX, focusBoxSize->value()/subBinX));
- targetImage->setTrackingBoxEnabled(true);
+ focusView->setTrackingBoxEnabled(true);
//starSelected=true;
@@ -1237,9 +1233,9 @@ void Focus::setCaptureComplete()
int subBinX=1,subBinY=1;
targetChip->getBinning(&subBinX, &subBinY);
- targetImage->setTrackingBox(QRect((w-focusBoxSize->value())/(subBinX*2), (h-focusBoxSize->value())/(2*subBinY), focusBoxSize->value()/subBinX, focusBoxSize->value()/subBinY));
- targetImage->setTrackingBoxEnabled(true);
- connect(targetImage, SIGNAL(trackingStarSelected(int,int)), this, SLOT(focusStarSelected(int, int)), Qt::UniqueConnection);
+ focusView->setTrackingBox(QRect((w-focusBoxSize->value())/(subBinX*2), (h-focusBoxSize->value())/(2*subBinY), focusBoxSize->value()/subBinX, focusBoxSize->value()/subBinY));
+ focusView->setTrackingBoxEnabled(true);
+ //connect(targetImage, SIGNAL(trackingStarSelected(int,int)), this, SLOT(focusStarSelected(int, int)), Qt::UniqueConnection);
return;
}
}
@@ -1291,7 +1287,7 @@ void Focus::setCaptureComplete()
dir.mkpath(path);
QString name = "autofocus_frame_" + QDateTime::currentDateTime().toString("HH:mm:ss") + ".fits";
QString filename = path + QStringLiteral("/") + name;
- targetImage->getImageData()->saveFITS(filename);
+ focusView->getImageData()->saveFITS(filename);
}
if (canAbsMove || canRelMove)
@@ -2056,17 +2052,13 @@ void Focus::updateBoxSize(int value)
if (targetChip == NULL)
return;
- FITSView *targetImage = targetChip->getImageView(FITS_FOCUS);
- if (targetImage == NULL)
- return;
-
- QRect trackBox = targetImage->getTrackingBox();
+ QRect trackBox = focusView->getTrackingBox();
trackBox.setX(trackBox.x()+(trackBox.width()-value)/2);
trackBox.setY(trackBox.y()+(trackBox.height()-value)/2);
trackBox.setWidth(value);
trackBox.setHeight(value);
- targetImage->setTrackingBox(trackBox);
+ focusView->setTrackingBox(trackBox);
}
void Focus::focusStarSelected(int x, int y)
@@ -2088,10 +2080,6 @@ void Focus::focusStarSelected(int x, int y)
int offset = focusBoxSize->value()/subBinX;
- FITSView *targetImage = targetChip->getImageView(FITS_FOCUS);
-
- //targetImage->updateMode(FITS_FOCUS);
-
QRect starRect;
if (subFramed == false && kcfg_subFrame->isChecked() && targetChip->canSubframe())
@@ -2149,7 +2137,7 @@ void Focus::focusStarSelected(int x, int y)
starCenter.setX(x);
starCenter.setY(y);
starRect = QRect( starCenter.x()-focusBoxSize->value()/(2*subBinX), starCenter.y()-focusBoxSize->value()/(2*subBinY), focusBoxSize->value()/subBinX, focusBoxSize->value()/subBinY);
- targetImage->setTrackingBox(starRect);
+ focusView->setTrackingBox(starRect);
}
starCenter.setZ(subBinX);
diff --git a/kstars/ekos/focus/focus.h b/kstars/ekos/focus/focus.h
index 25e5424..a3bd031 100644
--- a/kstars/ekos/focus/focus.h
+++ b/kstars/ekos/focus/focus.h
@@ -35,7 +35,7 @@ struct HFRPoint
*@class Focus
*@short Supports manual focusing and auto focusing using relative and absolute INDI focusers.
*@author Jasem Mutlaq
- *@version 1.1
+ *@version 1.2
*/
class Focus : public QWidget, public Ui::Focus
{
@@ -478,6 +478,9 @@ private:
// Selected star coordinates
QVector3D starCenter;
+
+ // Focus Frame
+ FITSView *focusView;
};
}
diff --git a/kstars/ekos/focus/focus.ui b/kstars/ekos/focus/focus.ui
index 0876982..f693bfd 100644
--- a/kstars/ekos/focus/focus.ui
+++ b/kstars/ekos/focus/focus.ui
@@ -6,819 +6,826 @@
<rect>
<x>0</x>
<y>0</y>
- <width>632</width>
- <height>385</height>
+ <width>644</width>
+ <height>579</height>
</rect>
</property>
- <layout class="QVBoxLayout" name="verticalLayout_8">
+ <layout class="QVBoxLayout" name="verticalLayout_5" stretch="0,0">
+ <property name="spacing">
+ <number>1</number>
+ </property>
+ <property name="leftMargin">
+ <number>1</number>
+ </property>
+ <property name="topMargin">
+ <number>1</number>
+ </property>
+ <property name="rightMargin">
+ <number>1</number>
+ </property>
+ <property name="bottomMargin">
+ <number>1</number>
+ </property>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_13">
+ <layout class="QHBoxLayout" name="horizontalLayout" stretch="1,2">
+ <property name="spacing">
+ <number>1</number>
+ </property>
<item>
- <layout class="QVBoxLayout" name="verticalLayout_7">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>1</number>
+ </property>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_12">
- <item>
- <widget class="QGroupBox" name="ccdGroup">
- <property name="title">
- <string>CCD &amp;&amp; Filter Wheel</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_4">
- <property name="leftMargin">
- <number>5</number>
+ <widget class="QGroupBox" name="controlGroup">
+ <property name="title">
+ <string>Focuser</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <property name="leftMargin">
+ <number>5</number>
+ </property>
+ <property name="topMargin">
+ <number>5</number>
+ </property>
+ <property name="rightMargin">
+ <number>5</number>
+ </property>
+ <property name="bottomMargin">
+ <number>5</number>
+ </property>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="focusInB">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Focus In</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="absTicksSpin">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Focuser:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="setAbsTicksB">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Set</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QPushButton" name="stopFocusB">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Stop</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QPushButton" name="startLoopB">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Start Framing</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="focuserCombo"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Mode:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QRadioButton" name="manualModeR">
+ <property name="text">
+ <string>&amp;Manual</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="startFocusB">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Start Focus</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QRadioButton" name="AutoModeR">
+ <property name="enabled">
+ <bool>false</bool>
</property>
- <property name="topMargin">
- <number>5</number>
+ <property name="text">
+ <string>A&amp;uto</string>
</property>
- <property name="rightMargin">
- <number>5</number>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QPushButton" name="focusOutB">
+ <property name="enabled">
+ <bool>false</bool>
</property>
- <property name="bottomMargin">
- <number>5</number>
+ <property name="text">
+ <string>Focus Out</string>
</property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>Ticks:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QPushButton" name="captureB">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Capture</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_22">
+ <property name="text">
+ <string>Action:</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="ccdGroup">
+ <property name="title">
+ <string>CCD &amp;&amp; Filter Wheel</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <property name="leftMargin">
+ <number>5</number>
+ </property>
+ <property name="topMargin">
+ <number>5</number>
+ </property>
+ <property name="rightMargin">
+ <number>5</number>
+ </property>
+ <property name="bottomMargin">
+ <number>5</number>
+ </property>
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="FilterCaptureCombo">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="FilterPosLabel">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="toolTip">
+ <string>Number of images to capture</string>
+ </property>
+ <property name="whatsThis">
+ <string/>
+ </property>
+ <property name="text">
+ <string>Filter #:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <layout class="QHBoxLayout" name="horizontalLayout_10">
<property name="spacing">
- <number>3</number>
+ <number>1</number>
</property>
- <item row="2" column="1">
- <widget class="QComboBox" name="FilterCaptureCombo">
+ <item>
+ <widget class="QComboBox" name="FilterPosCombo">
<property name="enabled">
<bool>false</bool>
</property>
</widget>
</item>
- <item row="2" column="2">
- <widget class="QLabel" name="FilterPosLabel">
+ <item>
+ <widget class="QCheckBox" name="lockFilterCheck">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
- <string>Number of images to capture</string>
- </property>
- <property name="whatsThis">
- <string/>
- </property>
- <property name="text">
- <string>Filter #:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="3">
- <layout class="QHBoxLayout" name="horizontalLayout_10">
- <property name="spacing">
- <number>1</number>
- </property>
- <item>
- <widget class="QComboBox" name="FilterPosCombo">
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="lockFilterCheck">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="toolTip">
- <string>If locked, the focus process will always use the specified filter when performing autofocus.
+ <string>If locked, the focus process will always use the specified filter when performing autofocus.
Otherwise, the autofocus process will utilize whatever filter currently set by the driver.</string>
- </property>
- <property name="text">
- <string>Lock</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_8">
- <property name="toolTip">
- <string>Apply filter to image after capture to enhance it</string>
</property>
<property name="text">
- <string>Effect:</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QComboBox" name="filterCombo">
- <item>
- <property name="text">
- <string>--</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="1" column="3">
- <widget class="QComboBox" name="ISOCombo">
- <property name="enabled">
- <bool>false</bool>
+ <string>Lock</string>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="FilterCaptureLabel">
- <property name="enabled">
- <bool>false</bool>
+ </layout>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="toolTip">
+ <string>Apply filter to image after capture to enhance it</string>
+ </property>
+ <property name="text">
+ <string>Effect:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QComboBox" name="filterCombo">
+ <item>
+ <property name="text">
+ <string>--</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QComboBox" name="ISOCombo">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="CCDCaptureCombo"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="FilterCaptureLabel">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="toolTip">
+ <string>Filter Wheel</string>
+ </property>
+ <property name="whatsThis">
+ <string/>
+ </property>
+ <property name="text">
+ <string>FW:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Exposure:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>1</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="exposureIN">
+ <property name="decimals">
+ <number>3</number>
</property>
- <property name="toolTip">
- <string>Filter Wheel</string>
+ <property name="minimum">
+ <double>0.001000000000000</double>
</property>
- <property name="whatsThis">
- <string/>
+ <property name="maximum">
+ <double>300.000000000000000</double>
</property>
- <property name="text">
- <string>FW:</string>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
</property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="CCDCaptureCombo"/>
- </item>
- <item row="0" column="2">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>Exposure:</string>
+ <property name="value">
+ <double>0.500000000000000</double>
</property>
</widget>
</item>
- <item row="0" column="3">
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>1</number>
- </property>
- <item>
- <widget class="QDoubleSpinBox" name="exposureIN">
- <property name="decimals">
- <number>3</number>
- </property>
- <property name="minimum">
- <double>0.001000000000000</double>
- </property>
- <property name="maximum">
- <double>300.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- <property name="value">
- <double>0.500000000000000</double>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_13">
- <property name="text">
- <string>secs</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_18">
+ <item>
+ <widget class="QLabel" name="label_13">
<property name="text">
- <string>Bin:</string>
+ <string>secs</string>
</property>
</widget>
</item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_18">
+ <property name="text">
+ <string>Bin:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="binningCombo">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="ISOLabel">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>ISO:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QPushButton" name="resetFrameB">
+ <property name="toolTip">
+ <string>Reset focus subframe to full capture</string>
+ </property>
+ <property name="text">
+ <string>Reset</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="textLabel1_6">
+ <property name="toolTip">
+ <string/>
+ </property>
+ <property name="whatsThis">
+ <string/>
+ </property>
+ <property name="text">
+ <string>CCD:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLabel" name="label_17">
+ <property name="text">
+ <string>Frame:</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Autofocus Options</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="spacing">
+ <number>1</number>
+ </property>
+ <property name="leftMargin">
+ <number>3</number>
+ </property>
+ <property name="topMargin">
+ <number>3</number>
+ </property>
+ <property name="rightMargin">
+ <number>3</number>
+ </property>
+ <property name="bottomMargin">
+ <number>3</number>
+ </property>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="spacing">
+ <number>3</number>
+ </property>
<item row="1" column="1">
- <widget class="QComboBox" name="binningCombo">
- <property name="enabled">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QLabel" name="ISOLabel">
- <property name="enabled">
- <bool>false</bool>
+ <widget class="QCheckBox" name="suspendGuideCheck">
+ <property name="toolTip">
+ <string>Suspend Guiding while autofocus in progress</string>
</property>
<property name="text">
- <string>ISO:</string>
+ <string>Suspend Guiding</string>
</property>
</widget>
</item>
- <item row="3" column="3">
- <widget class="QPushButton" name="resetFrameB">
+ <item row="0" column="1">
+ <widget class="QCheckBox" name="kcfg_subFrame">
<property name="toolTip">
- <string>Reset focus subframe to full capture</string>
+ <string>Subframe around the focus star during the autofocus procedure</string>
</property>
<property name="text">
- <string>Reset</string>
+ <string>Sub Frame</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
- <widget class="QLabel" name="textLabel1_6">
+ <widget class="QCheckBox" name="autoStarCheck">
<property name="toolTip">
- <string/>
- </property>
- <property name="whatsThis">
- <string/>
+ <string>Automatically select the best focus star from the image</string>
</property>
<property name="text">
- <string>CCD:</string>
+ <string>Auto Select Star</string>
</property>
</widget>
</item>
- <item row="3" column="2">
- <widget class="QLabel" name="label_17">
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="darkFrameCheck">
+ <property name="toolTip">
+ <string/>
+ </property>
<property name="text">
- <string>Frame:</string>
+ <string>Dark Frame</string>
</property>
</widget>
</item>
</layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="controlGroup">
- <property name="title">
- <string>Focuser</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_3">
- <property name="leftMargin">
- <number>5</number>
- </property>
- <property name="topMargin">
- <number>5</number>
- </property>
- <property name="rightMargin">
- <number>5</number>
- </property>
- <property name="bottomMargin">
- <number>5</number>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_14">
- <property name="text">
- <string>Focuser:</string>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="4" column="3">
+ <widget class="QSpinBox" name="focusFramesSpin">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>5</number>
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QComboBox" name="focuserCombo"/>
- </item>
- <item row="0" column="2">
- <widget class="QPushButton" name="focusInB">
- <property name="enabled">
- <bool>false</bool>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_4">
+ <property name="toolTip">
+ <string>Decrease value to narrow optimal focus point solution radius. Increase to expand solution radius</string>
</property>
<property name="text">
- <string>Focus In</string>
+ <string>Tolerance (%):</string>
</property>
</widget>
</item>
- <item row="0" column="3">
- <widget class="QPushButton" name="focusOutB">
- <property name="enabled">
- <bool>false</bool>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_19">
+ <property name="toolTip">
+ <string>Increase to restrict the centroid to bright cores. Decrease to enclose fuzzy stars.</string>
</property>
<property name="text">
- <string>Focus Out</string>
+ <string>Threshold (%):</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_16">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="whatsThis">
+ <string>Delay between two consequent focus images</string>
+ </property>
<property name="text">
- <string>Ticks:</string>
+ <string>Box Size:</string>
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="QSpinBox" name="absTicksSpin">
- <property name="enabled">
- <bool>false</bool>
+ <item row="0" column="3">
+ <widget class="QDoubleSpinBox" name="maxTravelIN">
+ <property name="minimum">
+ <double>10.000000000000000</double>
</property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <property name="maximum">
+ <double>50000.000000000000000</double>
</property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QPushButton" name="setAbsTicksB">
- <property name="enabled">
- <bool>false</bool>
+ <property name="singleStep">
+ <double>100.000000000000000</double>
</property>
- <property name="text">
- <string>Set</string>
+ <property name="value">
+ <double>10000.000000000000000</double>
</property>
</widget>
</item>
- <item row="1" column="3">
- <widget class="QPushButton" name="captureB">
- <property name="enabled">
- <bool>false</bool>
+ <item row="4" column="1">
+ <widget class="QDoubleSpinBox" name="thresholdSpin">
+ <property name="minimum">
+ <double>90.000000000000000</double>
</property>
- <property name="text">
- <string>Capture</string>
+ <property name="maximum">
+ <double>500.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>10.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>150.000000000000000</double>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_22">
- <property name="text">
- <string>Action:</string>
+ <item row="2" column="3">
+ <widget class="QDoubleSpinBox" name="toleranceIN">
+ <property name="minimum">
+ <double>0.010000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>20.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ <property name="value">
+ <double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
- <widget class="QPushButton" name="startFocusB">
- <property name="enabled">
- <bool>false</bool>
+ <widget class="QSpinBox" name="stepIN">
+ <property name="minimum">
+ <number>1</number>
</property>
- <property name="text">
- <string>Start Focus</string>
+ <property name="maximum">
+ <number>10000</number>
</property>
- </widget>
- </item>
- <item row="2" column="2">
- <widget class="QPushButton" name="stopFocusB">
- <property name="enabled">
- <bool>false</bool>
+ <property name="singleStep">
+ <number>10</number>
</property>
- <property name="text">
- <string>Stop</string>
+ <property name="value">
+ <number>250</number>
</property>
</widget>
</item>
- <item row="2" column="3">
- <widget class="QPushButton" name="startLoopB">
- <property name="enabled">
- <bool>false</bool>
+ <item row="4" column="2">
+ <widget class="QLabel" name="label_21">
+ <property name="toolTip">
+ <string>Number of frames to average</string>
</property>
<property name="text">
- <string>Start Framing</string>
+ <string>Frames:</string>
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_15">
- <property name="text">
- <string>Mode:</string>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="focusBoxSize">
+ <property name="minimum">
+ <number>16</number>
+ </property>
+ <property name="maximum">
+ <number>256</number>
+ </property>
+ <property name="singleStep">
+ <number>16</number>
+ </property>
+ <property name="value">
+ <number>64</number>
</property>
</widget>
</item>
- <item row="3" column="1">
- <widget class="QRadioButton" name="manualModeR">
- <property name="text">
- <string>&amp;Manual</string>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label">
+ <property name="toolTip">
+ <string>&lt;b&gt;Initial&lt;/b&gt; step size in ticks to cause a noticeable change in HFR value. For timer based focuser, it is the initial time in milliseconds to move the focuser inward or outward</string>
</property>
- <property name="checked">
- <bool>true</bool>
+ <property name="whatsThis">
+ <string/>
+ </property>
+ <property name="text">
+ <string>Step:</string>
</property>
</widget>
</item>
- <item row="3" column="2">
- <widget class="QRadioButton" name="AutoModeR">
- <property name="enabled">
- <bool>false</bool>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_12">
+ <property name="toolTip">
+ <string>Maximum travel in ticks before the autofocus process aborts</string>
</property>
<property name="text">
- <string>A&amp;uto</string>
+ <string>Max Travel:</string>
</property>
</widget>
</item>
</layout>
- </widget>
- </item>
- </layout>
+ </item>
+ </layout>
+ </widget>
</item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>1</number>
+ </property>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout" stretch="2,1,0">
- <item>
- <widget class="QGroupBox" name="groupBox_4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>200</height>
- </size>
- </property>
- <property name="title">
- <string>V-Curve</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <property name="spacing">
- <number>1</number>
+ <widget class="QWidget" name="focusingWidget" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>320</width>
+ <height>240</height>
+ </size>
+ </property>
+ <property name="sizeIncrement">
+ <size>
+ <width>40</width>
+ <height>30</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="profileGroup">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Relative Profile</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_6">
+ <property name="spacing">
+ <number>1</number>
+ </property>
+ <property name="leftMargin">
+ <number>3</number>
+ </property>
+ <property name="topMargin">
+ <number>3</number>
+ </property>
+ <property name="rightMargin">
+ <number>3</number>
+ </property>
+ <property name="bottomMargin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QCustomPlot" name="profilePlot" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- <property name="leftMargin">
- <number>3</number>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>100</height>
+ </size>
</property>
- <property name="topMargin">
- <number>3</number>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
</property>
- <property name="rightMargin">
- <number>3</number>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>200</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>V-Curve</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <property name="spacing">
+ <number>1</number>
+ </property>
+ <property name="leftMargin">
+ <number>3</number>
+ </property>
+ <property name="topMargin">
+ <number>3</number>
+ </property>
+ <property name="rightMargin">
+ <number>3</number>
+ </property>
+ <property name="bottomMargin">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QCustomPlot" name="HFRPlot" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
- <property name="bottomMargin">
- <number>3</number>
+ <property name="minimumSize">
+ <size>
+ <width>200</width>
+ <height>100</height>
+ </size>
</property>
- <item>
- <widget class="QCustomPlot" name="HFRPlot" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>200</width>
- <height>100</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>1</number>
- </property>
- <item>
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>HFR:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="HFROut">
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>pixels</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>13</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="clearDataB">
- <property name="text">
- <string>Clear Data</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="profileGroup">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="title">
- <string>Relative Profile</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_6">
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="spacing">
<number>1</number>
</property>
- <property name="leftMargin">
- <number>3</number>
- </property>
- <property name="topMargin">
- <number>3</number>
- </property>
- <property name="rightMargin">
- <number>3</number>
- </property>
- <property name="bottomMargin">
- <number>3</number>
- </property>
<item>
- <widget class="QCustomPlot" name="profilePlot" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>100</height>
- </size>
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>HFR:</string>
</property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>16777215</height>
- </size>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="HFROut">
+ <property name="readOnly">
+ <bool>true</bool>
</property>
</widget>
</item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="groupBox_2">
- <property name="title">
- <string>Autofocus Options</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <property name="spacing">
- <number>1</number>
- </property>
- <property name="leftMargin">
- <number>3</number>
- </property>
- <property name="topMargin">
- <number>3</number>
- </property>
- <property name="rightMargin">
- <number>3</number>
- </property>
- <property name="bottomMargin">
- <number>3</number>
- </property>
<item>
- <layout class="QGridLayout" name="gridLayout_2">
- <property name="spacing">
- <number>3</number>
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>pixels</string>
</property>
- <item row="0" column="0">
- <widget class="QCheckBox" name="autoStarCheck">
- <property name="toolTip">
- <string>Automatically select the best focus star from the image</string>
- </property>
- <property name="text">
- <string>Auto Select Star</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QCheckBox" name="kcfg_subFrame">
- <property name="toolTip">
- <string>Subframe around the focus star during the autofocus procedure</string>
- </property>
- <property name="text">
- <string>Sub Frame</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QCheckBox" name="darkFrameCheck">
- <property name="toolTip">
- <string/>
- </property>
- <property name="text">
- <string>Dark Frame</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QCheckBox" name="suspendGuideCheck">
- <property name="toolTip">
- <string>Suspend Guiding while autofocus in progress</string>
- </property>
- <property name="text">
- <string>Suspend Guiding</string>
- </property>
- </widget>
- </item>
- </layout>
+ </widget>
</item>
<item>
- <widget class="Line" name="line">
+ <spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
- </widget>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>13</height>
+ </size>
+ </property>
+ </spacer>
</item>
<item>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label_10">
- <property name="whatsThis">
- <string>Delay between two consequent focus images</string>
- </property>
- <property name="text">
- <string>Box Size:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QSpinBox" name="focusBoxSize">
- <property name="minimum">
- <number>16</number>
- </property>
- <property name="maximum">
- <number>256</number>
- </property>
- <property name="singleStep">
- <number>16</number>
- </property>
- <property name="value">
- <number>64</number>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QLabel" name="label_11">
- <property name="text">
- <string>pixels</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_12">
- <property name="toolTip">
- <string>Maximum travel in ticks before the autofocus process aborts</string>
- </property>
- <property name="text">
- <string>Max Travel:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QDoubleSpinBox" name="maxTravelIN">
- <property name="minimum">
- <double>10.000000000000000</double>
- </property>
- <property name="maximum">
- <double>50000.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>100.000000000000000</double>
- </property>
- <property name="value">
- <double>10000.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QLabel" name="label_9">
- <property name="text">
- <string>ticks</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label">
- <property name="toolTip">
- <string>&lt;b&gt;Initial&lt;/b&gt; step size in ticks to cause a noticeable change in HFR value. For timer based focuser, it is the initial time in milliseconds to move the focuser inward or outward</string>
- </property>
- <property name="whatsThis">
- <string/>
- </property>
- <property name="text">
- <string>Step:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QSpinBox" name="stepIN">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>10000</number>
- </property>
- <property name="singleStep">
- <number>10</number>
- </property>
- <property name="value">
- <number>250</number>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>ticks</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_4">
- <property name="toolTip">
- <string>Decrease value to narrow optimal focus point solution radius. Increase to expand solution radius</string>
- </property>
- <property name="text">
- <string>Tolerance:</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QDoubleSpinBox" name="toleranceIN">
- <property name="minimum">
- <double>0.010000000000000</double>
- </property>
- <property name="maximum">
- <double>20.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- <property name="value">
- <double>1.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="3" column="2">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>%</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_19">
- <property name="toolTip">
- <string>Increase to restrict the centroid to bright cores. Decrease to enclose fuzzy stars.</string>
- </property>
- <property name="text">
- <string>Threshold:</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QDoubleSpinBox" name="thresholdSpin">
- <property name="minimum">
- <double>90.000000000000000</double>
- </property>
- <property name="maximum">
- <double>500.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>10.000000000000000</double>
- </property>
- <property name="value">
- <double>150.000000000000000</double>
- </property>
- </widget>
- </item>
- <item row="4" column="2">
- <widget class="QLabel" name="label_20">
- <property name="text">
- <string>%</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="label_21">
- <property name="toolTip">
- <string>Number of frames to average</string>
- </property>
- <property name="text">
- <string>Frames:</string>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QSpinBox" name="focusFramesSpin">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>5</number>
- </property>
- </widget>
- </item>
- </layout>
+ <widget class="QPushButton" name="clearDataB">
+ <property name="text">
+ <string>Clear Data</string>
+ </property>
+ </widget>
</item>
</layout>
- </widget>
- </item>
- </layout>
+ </item>
+ </layout>
+ </widget>
</item>
</layout>
</item>
@@ -829,15 +836,21 @@ Otherwise, the autofocus process will utilize whatever filter currently set by t
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Preferred</enum>
+ </property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
- <height>1</height>
+ <height>10</height>
</size>
</property>
</spacer>
</item>
</layout>
+ <zorder>focusingWidget</zorder>
+ <zorder>HFRPlot</zorder>
+ <zorder>verticalSpacer</zorder>
</widget>
<customwidgets>
<customwidget>
@@ -847,6 +860,40 @@ Otherwise, the autofocus process will utilize whatever filter currently set by t
<container>1</container>
</customwidget>
</customwidgets>
+ <tabstops>
+ <tabstop>focuserCombo</tabstop>
+ <tabstop>focusInB</tabstop>
+ <tabstop>focusOutB</tabstop>
+ <tabstop>absTicksSpin</tabstop>
+ <tabstop>setAbsTicksB</tabstop>
+ <tabstop>captureB</tabstop>
+ <tabstop>startFocusB</tabstop>
+ <tabstop>stopFocusB</tabstop>
+ <tabstop>startLoopB</tabstop>
+ <tabstop>manualModeR</tabstop>
+ <tabstop>AutoModeR</tabstop>
+ <tabstop>CCDCaptureCombo</tabstop>
+ <tabstop>exposureIN</tabstop>
+ <tabstop>binningCombo</tabstop>
+ <tabstop>ISOCombo</tabstop>
+ <tabstop>FilterCaptureCombo</tabstop>
+ <tabstop>FilterPosCombo</tabstop>
+ <tabstop>lockFilterCheck</tabstop>
+ <tabstop>filterCombo</tabstop>
+ <tabstop>resetFrameB</tabstop>
+ <tabstop>autoStarCheck</tabstop>
+ <tabstop>kcfg_subFrame</tabstop>
+ <tabstop>darkFrameCheck</tabstop>
+ <tabstop>suspendGuideCheck</tabstop>
+ <tabstop>focusBoxSize</tabstop>
+ <tabstop>maxTravelIN</tabstop>
+ <tabstop>stepIN</tabstop>
+ <tabstop>toleranceIN</tabstop>
+ <tabstop>thresholdSpin</tabstop>
+ <tabstop>focusFramesSpin</tabstop>
+ <tabstop>HFROut</tabstop>
+ <tabstop>clearDataB</tabstop>
+ </tabstops>
<resources/>
<connections/>
</ui>
diff --git a/kstars/indi/indiccd.cpp b/kstars/indi/indiccd.cpp
index 3ef8852..ed4b25b 100644
--- a/kstars/indi/indiccd.cpp
+++ b/kstars/indi/indiccd.cpp
@@ -1296,6 +1296,7 @@ void CCD::processBLOB(IBLOB* bp)
break;
case FITS_FOCUS:
+ /*
if (focusTabID == -1)
tabRC = fv->addFITS(&fileURL, FITS_FOCUS, captureFilter);
else if (fv->updateFITS(&fileURL, focusTabID, captureFilter) == false)
@@ -1319,6 +1320,27 @@ void CCD::processBLOB(IBLOB* bp)
// If there is problem loading image then BLOB is not valid so let's return
return;
}
+ */
+
+ {
+ FITSView *focusView = targetChip->getImageView(FITS_FOCUS);
+ if (focusView)
+ {
+ focusView->setFilter(captureFilter);
+ bool imageLoad = focusView->loadFITS(filename, true);
+ if (imageLoad)
+ {
+ //focusView->rescale(ZOOM_FIT_WINDOW);
+ focusView->updateFrame();
+ emit newImage(focusView->getDisplayImage(), targetChip);
+ }
+ else
+ {
+ emit newExposureValue(targetChip, 0, IPS_ALERT);
+ return;
+ }
+ }
+ }
break;
case FITS_GUIDE:
@@ -1418,7 +1440,7 @@ void CCD::processBLOB(IBLOB* bp)
}
- if (targetChip->getCaptureMode() != FITS_GUIDE)
+ if (targetChip->getCaptureMode() != FITS_GUIDE && targetChip->getCaptureMode() != FITS_FOCUS)
fv->show();
}
#endif