Kstars
capture.h
39 * 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 ,
40 * auto-focus & auto-guide capabilities, and capture of single or stack of images with filter wheel support.\n
42 * - Control your telescope, CCD (& DSLRs), filter wheel, focuser, guider, adaptive optics unit, and any INDI-compatible auxiliary device from Ekos.
43 * - Extremely accurate GOTOs using astrometry.net solver (both Online and Offline solvers supported).
44 * - 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.
47 * - Automated unattended meridian flip. Ekos performs post meridian flip alignment, calibration, and guiding to resume the capture session.
50 * - Auto guiding with support for automatic dithering between exposures and support for Adaptive Optics devices in addition to traditional guiders.
51 * - Powerful sequence queue for batch capture of images with optional prefixes, timestamps, filter wheel selection, and much more!
53 * - Center the telescope anywhere in a captured FITS image or any FITS with World Coordinate System (WCS) header.
55 * - Automatic abort and resumption of exposure tasks if guiding errors exceed a user-configurable value.
61 * 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
82 * sequence autofocusing by setting limits for HFR, execution time or temperature delta. When the limit
84 * linked with guide module. If guiding deviations exceed a certain threshold, the capture operation aborts until
135 * 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.
153 * 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
154 * 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".
164 * @param targetName override the target in the sequence queue file (necessary for using the target of the scheduler)
177 * @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.
184 * @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.
311 * Clear in-sequence focus settings. It sets the autofocus HFR to zero so that next autofocus value is remembered for the in-sequence focusing.
316 * Jobs will NOT be checked for progress against the file system and will be always assumed as new jobs.
322 * with identical paths, but we need to continue where we left off. For example, if we have 3 identical
323 * jobs, each capturing 5 images. Let's suppose 9 images were captured before. If the count for this signature
324 * is set to 1, then we continue to capture frame #2 even though the number of completed images is already
477 * @brief addDSLRInfo Save DSLR Info the in the database. If the interactive dialog was open, close it.
484 void addDSLRInfo(const QString &model, uint32_t maxW, uint32_t maxH, double pixelW, double pixelH);
543 * The only difference between SUSPENDED and ABORTED it that capture module can automatically resume a suspended
544 * state on its own without external trigger once the right conditions are met. When whatever reason caused the module
545 * to go into suspended state ceases to exist, the capture module automatically resumes. On the other hand, ABORTED state
546 * must be started via an external programmatic or user trigger (e.g. click the start button again).
574 * @brief restartCamera Restarts the INDI driver associated with a camera. Remote and Local drivers are supported.
575 * @param name Name of camera to restart. If a driver defined multiple cameras, they would be removed and added again
639 * @brief addJob Add a new job to the UI. This is used when a job is loaded from a capture sequence file. In
640 * contrast to {@see #createJob()}, the job's attributes are taken from the file and only the UI gehts updated.
694 * @brief processCCDNumber Process number properties arriving from CCD. Currently, only CCD and Guider frames are processed.
702 * @param index Row index for job to remove, if left as -1 (default), the currently selected row will be removed.
747 * @brief showTemperatureRegulation Toggle temperature regulation dialog which sets temperature ramp and threshold
771 * @brief setGuideDeviation Set the guiding deviation as measured by the guiding module. Abort capture
988 * @brief updateCellStyle Update the cell's style. If active is true, set a bold and italic font and
1128 * @brief syncSettings When checkboxes, comboboxes, or spin boxes are updated, save their values in the
void updateJobFromUI(SequenceJob *job, FilenamePreviewType filenamePreview=NOT_PREVIEW)
updateJobFromUI Update all job attributes from the UI settings.
Definition capture.cpp:3322
void processCameraNumber(INDI::Property prop)
processCCDNumber Process number properties arriving from CCD.
Definition capture.cpp:1440
void refreshCameraSettings()
checkCamera Refreshes the CCD information in the capture module.
Definition capture.cpp:891
bool setVideoLimits(uint16_t maxBufferSize, uint16_t maxPreviewFPS)
setVideoLimits sets the buffer size and max preview fps for live preview
Definition capture.cpp:2556
void editJobFinished()
jobEditFinished Editing of an existing job finished, update its attributes from the UI settings.
Definition capture.cpp:1842
void setDelay(uint16_t delay)
setDelay Set delay between capturing images within a sequence in seconds
Definition capture.h:677
void setFocusTemperatureDelta(double focusTemperatureDelta, double absTemperature)
updateAdaptiveFocusStatus Handle new focus state
Definition capture.cpp:2057
QPointer< CaptureProcess > process() const
process shortcut for the process engine
Definition capture.h:605
void jobStarting()
captureStarted Change the UI after the capturing process has been started.
Definition capture.cpp:860
void setHFR(double newHFR, int position, bool inAutofocus)
setHFR Receive the measured HFR value of the latest frame
Definition capture.cpp:3704
void moveJob(bool up)
moveJobUp Move the job in the sequence queue one place up or down.
Definition capture.cpp:1942
void showTemperatureRegulation()
showTemperatureRegulation Toggle temperature regulation dialog which sets temperature ramp and thresh...
Definition capture.cpp:3224
void updateTargetDistance(double targetDiff)
Slot receiving the update of the current target distance.
Definition capture.cpp:1626
void newTargetName(const QString &name)
updateTargetName React upon a new capture target name
Definition capture.cpp:1977
void generateDarkFlats()
generateDarkFlats Generate a list of dark flat jobs from available flat frames.
Definition capture.cpp:3299
void refreshFilterSettings()
checkFilter Refreshes the filter wheel information in the capture module.
Definition capture.cpp:1527
void captureRunning()
captureStarted Manage the result when capturing has been started
Definition capture.cpp:1678
void setFocusStatus(FocusState newstate)
setFocusStatus Forward the new focus state to the capture module state machine
Definition capture.cpp:2075
void updateCCDTemperature(double value)
updateCCDTemperature Update CCD temperature in capture module.
Definition capture.cpp:1730
void setTargetTemperature(double temperature)
setTemperature Set the target CCD temperature in the GUI settings.
Definition capture.h:731
void addDSLRInfo(const QString &model, uint32_t maxW, uint32_t maxH, double pixelW, double pixelH)
addDSLRInfo Save DSLR Info the in the database.
Definition capture.cpp:2767
bool removeJob(int index=-1)
removeJob Remove a job sequence from the queue
Definition capture.cpp:1882
void setGuideDeviation(double delta_ra, double delta_dec)
setGuideDeviation Set the guiding deviation as measured by the guiding module.
Definition capture.cpp:2066
void focusAdaptiveComplete(bool success)
focusAdaptiveComplete Forward the new focus state to the capture module state machine
Definition capture.h:802
void updateCurrentFilterPosition()
shortcut for updating the current filter information for the state machine
Definition capture.cpp:1519
void registerNewModule(const QString &name)
registerNewModule Register an Ekos module as it arrives via DBus and create the appropriate DBus inte...
Definition capture.cpp:870
void updateFocusStatus(FocusState newstate)
updateFocusStatus Handle new focus state
Definition capture.cpp:2081
SequenceJob * createJob(SequenceJob::SequenceJobType jobtype=SequenceJob::JOBTYPE_BATCH, FilenamePreviewType filenamePreview=NOT_PREVIEW)
createJob Create a new job with the settings given in the GUI.
Definition capture.cpp:1759
void updateStartButtons(bool start, bool pause=false)
updateStartButtons Update the start and the pause button to new states of capturing
Definition capture.cpp:3281
void setCount(uint16_t count)
seqCount Set required number of images to capture in one sequence job
Definition capture.h:668
const QJsonArray & getSequence() const
getSequence Return the JSON representation of the current sequeue queue
Definition capture.h:459
QSharedPointer< MeridianFlipState > getMeridianFlipState()
MeridianFlipState Access to the meridian flip state machine.
Definition capture.h:711
void removeDevice(const QSharedPointer< ISD::GenericDevice > &device)
Generic method for removing any connected device.
Definition capture.cpp:3630
The QProgressIndicator class lets an application display a progress indicator to show that a long tas...
Definition QProgressIndicator.h:24
Sequence Job is a container for the details required to capture a series of images.
Q_SCRIPTABLE Q_NOREPLY void toggleVideo(bool enabled)
DBUS interface function.
Definition capture.cpp:3645
Q_SCRIPTABLE Q_NOREPLY void setCapturedFramesMap(const QString &signature, int count)
DBUS interface function.
Definition capture.h:327
Q_SCRIPTABLE Q_NOREPLY void setTargetName(const QString &newTargetName)
DBus interface function.
Definition capture.cpp:3650
Q_SCRIPTABLE Q_NOREPLY void ignoreSequenceHistory()
DBUS interface function.
Definition capture.cpp:2311
Q_SCRIPTABLE Q_NOREPLY void restartCamera(const QString &name)
DBus interface function.
Definition capture.cpp:3679
Q_SCRIPTABLE Q_NOREPLY void setInSequenceFocus(bool enable, double HFR)
DBUS interface function.
Definition capture.cpp:2509
Q_SCRIPTABLE Q_NOREPLY void setObserverName(const QString &value)
DBus interface function.
Definition capture.h:590
Q_SCRIPTABLE Q_NOREPLY void stop(CaptureState targetState=CAPTURE_IDLE)
DBUS interface function.
Definition capture.cpp:3640
Q_SCRIPTABLE bool setFilter(const QString &filter)
DBUS interface function.
Definition capture.cpp:1503
Q_SCRIPTABLE Q_NOREPLY void setMaximumGuidingDeviation(bool enable, double value)
DBUS interface function.
Definition capture.cpp:2502
Q_CLASSINFO(Name, Value)
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
QString join(QChar separator) const const
enabled
virtual bool event(QEvent *event) override
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:19:02 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:19:02 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.