Kstars
capture.h
38 * It is based on a modular extensible framework to perform common astrophotography tasks. This includes highly accurate GOTOs using astrometry solver, ability to measure and correct polar alignment errors ,
39 * auto-focus & auto-guide capabilities, and capture of single or stack of images with filter wheel support.\n
41 * - Control your telescope, CCD (& DSLRs), filter wheel, focuser, guider, adaptive optics unit, and any INDI-compatible auxiliary device from Ekos.
42 * - Extremely accurate GOTOs using astrometry.net solver (both Online and Offline solvers supported).
43 * - Load & Slew: Load a FITS image, slew to solved coordinates, and center the mount on the exact image coordinates in order to get the same desired frame.
46 * - Automated unattended meridian flip. Ekos performs post meridian flip alignment, calibration, and guiding to resume the capture session.
49 * - Auto guiding with support for automatic dithering between exposures and support for Adaptive Optics devices in addition to traditional guiders.
50 * - Powerful sequence queue for batch capture of images with optional prefixes, timestamps, filter wheel selection, and much more!
52 * - Center the telescope anywhere in a captured FITS image or any FITS with World Coordinate System (WCS) header.
54 * - Automatic abort and resumption of exposure tasks if guiding errors exceed a user-configurable value.
60 * The primary class is Ekos::Manager. It handles startup and shutdown of local and remote INDI devices, manages and orchesterates the various Ekos modules, and provides advanced DBus
78 * sequence autofocusing by setting limits for HFR, execution time or temperature delta. When the limit
80 * linked with guide module. If guiding deviations exceed a certain threshold, the capture operation aborts until
121 * select the filter device from the available filter drivers. The filter device can be the same as the CCD driver if the filter functionality was embedded within the driver.
142 * Returns the overall sequence queue status. If there are no jobs pending, it returns "Invalid". If all jobs are idle, it returns "Idle". If all jobs are complete, it returns "Complete". If one or more jobs are aborted
143 * it returns "Aborted" unless it was temporarily aborted due to guiding deviations, then it would return "Suspended". If one or more jobs have errors, it returns "Error". If any jobs is under progress, returns "Running".
155 * @param targetName override the target in the sequence queue file (necessary for using the target of the scheduler)
157 Q_SCRIPTABLE bool loadSequenceQueue(const QString &fileURL, QString train = "", bool isLead = true, QString targetName = "");
171 * @param value if enable is true, it sets the maximum guiding deviation in arcsecs. If the value is exceeded, the capture operation is aborted until the value falls below the value threshold.
181 * @param HFR if enable is true, it sets HFR in pixels. After each exposure, the HFR is re-measured and if it exceeds the specified value, an autofocus operation will be commanded.
345 * Clear in-sequence focus settings. It sets the autofocus HFR to zero so that next autofocus value is remembered for the in-sequence focusing.
350 * Jobs will NOT be checked for progress against the file system and will be always assumed as new jobs.
356 * with identical paths, but we need to continue where we left off. For example, if we have 3 identical
357 * jobs, each capturing 5 images. Let's suppose 9 images were captured before. If the count for this signature
358 * is set to 1, then we continue to capture frame #2 even though the number of completed images is already
361 Q_SCRIPTABLE Q_NOREPLY void setCapturedFramesMap(const QString &signature, int count, QString train = "");
526 * The only difference between SUSPENDED and ABORTED it that capture module can automatically resume a suspended
527 * state on its own without external trigger once the right conditions are met. When whatever reason caused the module
528 * to go into suspended state ceases to exist, the capture module automatically resumes. On the other hand, ABORTED state
529 * must be started via an external programmatic or user trigger (e.g. click the start button again).
566 * @brief restartCamera Restarts the INDI driver associated with a camera. Remote and Local drivers are supported.
567 * @param name Name of camera to restart. If a driver defined multiple cameras, they would be removed and added again
634 * @brief setGuideDeviation Set the guiding deviation as measured by the guiding module. Abort capture
662 void setFocusTemperatureDelta(double focusTemperatureDelta, double absTemperature, const QString &trainname);
671 * @brief inSequenceAFRequested Focuser informs that the user wishes an AF run as soon as possible.
713 void runAutoFocus(AutofocusReason autofocusReason, const QString &reasonInfo, const QString &trainname);
722 void newImage(SequenceJob *job, const QSharedPointer<FITSData> &data, const QString &trainname);
void setHFR(double newHFR, int position, bool inAutofocus, const QString &trainname)
setHFR Receive the measured HFR value of the latest frame
Definition capture.cpp:608
bool setVideoLimits(uint16_t maxBufferSize, uint16_t maxPreviewFPS)
setVideoLimits sets the buffer size and max preview fps for live preview
Definition capture.cpp:392
void updateTargetDistance(double targetDiff)
Slot receiving the update of the current target distance.
Definition capture.h:622
void inSequenceAFRequested(bool requested, const QString &trainname)
inSequenceAFRequested Focuser informs that the user wishes an AF run as soon as possible.
Definition capture.cpp:616
QSharedPointer< CameraProcess > process() const
process shortcut for the process engine
Definition capture.h:610
void setFocusStatus(FocusState newstate, const QString &trainname)
setFocusStatus Forward the new focus state to the capture module state machine
Definition capture.cpp:257
void setFocusTemperatureDelta(double focusTemperatureDelta, double absTemperature, const QString &trainname)
setFocusTemperatureDelta update the focuser's temperature delta
Definition capture.cpp:340
void setGuideDeviation(double delta_ra, double delta_dec)
setGuideDeviation Set the guiding deviation as measured by the guiding module.
Definition capture.cpp:349
void registerNewModule(const QString &name)
registerNewModule Register an Ekos module as it arrives via DBus and create the appropriate DBus inte...
Definition capture.cpp:221
void focusAdaptiveComplete(bool success, const QString &trainname)
focusAdaptiveComplete Forward the new focus state to the capture module state machine
Definition capture.cpp:265
int findCamera(QString train, bool addIfNecessary)
find the camera using the given train
Definition capture.cpp:511
const QJsonArray & getSequence() const
getSequence Return the JSON representation of the current sequeue queue
Definition capture.h:462
void removeDevice(const QSharedPointer< ISD::GenericDevice > &device)
Generic method for removing any connected device.
Definition capture.cpp:595
Q_SCRIPTABLE Q_NOREPLY void setInSequenceFocus(bool enable, double HFR)
DBUS interface function.
Definition capture.h:183
Q_SCRIPTABLE Q_NOREPLY void abort(QString train="")
DBUS interface function.
Definition capture.cpp:425
Q_SCRIPTABLE Q_NOREPLY void setTargetName(const QString &newTargetName)
DBus interface function.
Definition capture.h:578
Q_SCRIPTABLE Q_NOREPLY void toggleVideo(bool enabled)
DBUS interface function.
Definition capture.h:559
Q_SCRIPTABLE Q_NOREPLY void setMaximumGuidingDeviation(bool enable, double value)
DBUS interface function.
Definition capture.h:173
Q_SCRIPTABLE Q_NOREPLY void ignoreSequenceHistory()
DBUS interface function.
Definition capture.cpp:356
Q_SCRIPTABLE Q_NOREPLY void restartCamera(const QString &name)
DBus interface function.
Definition capture.h:570
Q_SCRIPTABLE Q_NOREPLY void stop(CaptureState targetState=CAPTURE_IDLE)
DBUS interface function.
Definition capture.h:514
Q_SCRIPTABLE Q_NOREPLY void setObserverName(const QString &value)
DBus interface function.
Definition capture.h:588
Q_SCRIPTABLE Q_NOREPLY void clearAutoFocusHFR(const QString &trainname)
DBUS interface function.
Definition capture.cpp:117
Q_SCRIPTABLE bool loadSequenceQueue(const QString &fileURL, QString train="", bool isLead=true, QString targetName="")
DBUS interface function.
Definition capture.cpp:297
Q_SCRIPTABLE bool setFilter(const QString &filter)
DBUS interface function.
Definition capture.cpp:281
Q_SCRIPTABLE QString mainCameraDeviceName()
Name of the main camera's device.
Definition capture.h:600
Q_SCRIPTABLE bool saveSequenceQueue(const QString &path)
DBUS interface function.
Definition capture.h:163
Q_SCRIPTABLE Q_NOREPLY void setCapturedFramesMap(const QString &signature, int count, QString train="")
DBUS interface function.
Definition capture.cpp:362
Q_CLASSINFO(Name, Value)
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
QWidget(QWidget *parent, Qt::WindowFlags f)
enabled
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 21 2025 11:54:27 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 21 2025 11:54:27 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.