Kstars

Ekos DBus Interface - Capture Module

Functions

Q_SCRIPTABLE QString Ekos::Capture::camera ()
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::clearAutoFocusHFR ()
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::clearSequenceQueue ()
 
Q_SCRIPTABLE QString Ekos::Capture::filter ()
 
Q_SCRIPTABLE QString Ekos::Capture::filterWheel ()
 
Q_SCRIPTABLE int Ekos::Capture::getActiveJobID ()
 
Q_SCRIPTABLE int Ekos::Capture::getActiveJobRemainingTime ()
 
Q_SCRIPTABLE int Ekos::Capture::getJobCount ()
 
Q_SCRIPTABLE double Ekos::Capture::getJobExposureDuration (int id)
 
Q_SCRIPTABLE double Ekos::Capture::getJobExposureProgress (int id)
 
Q_SCRIPTABLE QString Ekos::Capture::getJobFilterName (int id)
 
Q_SCRIPTABLE CCDFrameType Ekos::Capture::getJobFrameType (int id)
 
Q_SCRIPTABLE int Ekos::Capture::getJobImageCount (int id)
 
Q_SCRIPTABLE int Ekos::Capture::getJobImageProgress (int id)
 
Q_SCRIPTABLE QString Ekos::Capture::getJobPlaceholderFormat ()
 
Q_SCRIPTABLE QString Ekos::Capture::getJobPreviewFileName ()
 
Q_SCRIPTABLE QString Ekos::Capture::getJobState (int id)
 
Q_SCRIPTABLE QString Ekos::Capture::getLogText ()
 
Q_SCRIPTABLE QString Ekos::Capture::getObserverName ()
 
Q_SCRIPTABLE int Ekos::Capture::getOverallRemainingTime ()
 
Q_SCRIPTABLE int Ekos::Capture::getPendingJobCount ()
 
Q_SCRIPTABLE double Ekos::Capture::getProgressPercentage ()
 
Q_SCRIPTABLE QString Ekos::Capture::getSequenceQueueStatus ()
 
Q_SCRIPTABLE bool Ekos::Capture::hasCoolerControl ()
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::ignoreSequenceHistory ()
 
Q_SCRIPTABLE bool Ekos::Capture::isActiveJobPreview ()
 
Q_SCRIPTABLE bool Ekos::Capture::loadSequenceQueue (const QString &fileURL, QString train="", bool isLead=true, QString targetName="")
 
Q_SCRIPTABLE QStringList Ekos::Capture::logText ()
 
Q_SCRIPTABLE QString Ekos::Capture::mainCameraDeviceName ()
 
void Ekos::Capture::prepareGUI ()
 
Q_SCRIPTABLE bool Ekos::Capture::saveSequenceQueue (const QString &path)
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::setCapturedFramesMap (const QString &signature, int count, QString train="")
 
Q_SCRIPTABLE bool Ekos::Capture::setCoolerControl (bool enable)
 
Q_SCRIPTABLE bool Ekos::Capture::setFilter (const QString &filter)
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::setInSequenceFocus (bool enable, double HFR)
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::setMaximumGuidingDeviation (bool enable, double value)
 
Q_SCRIPTABLE CaptureState Ekos::Capture::status ()
 

Variables

OpsDslrSettings * Ekos::Capture::m_OpsDslrSettings { nullptr }
 
OpsMiscSettings * Ekos::Capture::m_OpsMiscSettings { nullptr }
 

Public Slots

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::abort (QString train="")
 
Q_SCRIPTABLE QString Ekos::Capture::getTargetName ()
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::pause ()
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::restartCamera (const QString &name)
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::setObserverName (const QString &value)
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::setTargetName (const QString &newTargetName)
 
Q_SCRIPTABLE QString Ekos::Capture::start (QString train="")
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::stop (CaptureState targetState=CAPTURE_IDLE)
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::suspend ()
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::toggleSequence ()
 
Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::toggleVideo (bool enabled)
 

Detailed Description

Ekos::Capture interface provides advanced scripting capabilities to capture image sequences.

Function Documentation

◆ camera()

Q_SCRIPTABLE QString Ekos::Capture::camera ( )

DBUS interface function.

select the CCD device from the available CCD drivers.

Parameters
deviceThe CCD device name

◆ clearAutoFocusHFR()

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::clearAutoFocusHFR ( )
inline

DBUS interface function.

Clear in-sequence focus settings. It sets the autofocus HFR to zero so that next autofocus value is remembered for the in-sequence focusing.

Definition at line 349 of file capture.h.

◆ clearSequenceQueue()

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::clearSequenceQueue ( )
inline

DBUS interface function.

Aborts any current jobs and remove all sequence queue jobs.

Definition at line 138 of file capture.h.

◆ filterWheel()

Q_SCRIPTABLE QString Ekos::Capture::filterWheel ( )

DBUS interface function.

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.

Parameters
deviceThe filter device name

◆ getActiveJobID()

Q_SCRIPTABLE int Ekos::Capture::getActiveJobID ( )
inline

DBUS interface function.

Returns
Returns ID of current active job if any, or -1 if there are no active jobs.

Definition at line 236 of file capture.h.

◆ getActiveJobRemainingTime()

Q_SCRIPTABLE int Ekos::Capture::getActiveJobRemainingTime ( )
inline

DBUS interface function.

Returns
Returns time left in seconds until active job is estimated to be complete.

Definition at line 244 of file capture.h.

◆ getJobCount()

Q_SCRIPTABLE int Ekos::Capture::getJobCount ( )
inline

DBUS interface function.

Returns
Returns the number of jobs in the sequence queue.

Definition at line 220 of file capture.h.

◆ getJobExposureDuration()

Q_SCRIPTABLE double Ekos::Capture::getJobExposureDuration ( int id)
inline

DBUS interface function.

Parameters
idjob number. Job IDs start from 0 to N-1.
Returns
Returns the total requested exposure duration in the job.

Definition at line 315 of file capture.h.

◆ getJobExposureProgress()

Q_SCRIPTABLE double Ekos::Capture::getJobExposureProgress ( int id)
inline

DBUS interface function.

Parameters
idjob number. Job IDs start from 0 to N-1.
Returns
Returns the number of seconds left in an exposure operation.

Definition at line 306 of file capture.h.

◆ getJobFilterName()

Q_SCRIPTABLE QString Ekos::Capture::getJobFilterName ( int id)
inline

DBUS interface function.

Parameters
idjob number. Job IDs start from 0 to N-1.
Returns
Returns the job filter name.

Definition at line 270 of file capture.h.

◆ getJobFrameType()

Q_SCRIPTABLE CCDFrameType Ekos::Capture::getJobFrameType ( int id)
inline

DBUS interface function.

Parameters
idjob number. Job IDs start from 0 to N-1.
Returns
Returns the frame type (light, dark, ...) of the job.

Definition at line 324 of file capture.h.

◆ getJobImageCount()

Q_SCRIPTABLE int Ekos::Capture::getJobImageCount ( int id)
inline

DBUS interface function.

Parameters
idjob number. Job IDs start from 0 to N-1.
Returns
Returns the total number of images to capture in the job.

Definition at line 288 of file capture.h.

◆ getJobImageProgress()

Q_SCRIPTABLE int Ekos::Capture::getJobImageProgress ( int id)
inline

DBUS interface function.

Parameters
idjob number. Job IDs start from 0 to N-1.
Returns
Returns The number of images completed capture in the job.

Definition at line 279 of file capture.h.

◆ getJobPlaceholderFormat()

Q_SCRIPTABLE QString Ekos::Capture::getJobPlaceholderFormat ( )
inline

DBUS interface function.

Parameters
idjob number. Job IDs start from 0 to N-1.
Returns
Returns the placeholder format of the job.

Definition at line 333 of file capture.h.

◆ getJobPreviewFileName()

Q_SCRIPTABLE QString Ekos::Capture::getJobPreviewFileName ( )
inline

DBUS interface function.

Returns
Returns the Preview Filename of the job.

Definition at line 341 of file capture.h.

◆ getJobState()

Q_SCRIPTABLE QString Ekos::Capture::getJobState ( int id)
inline

DBUS interface function.

Parameters
idjob number. Job IDs start from 0 to N-1.
Returns
Returns the job state (Idle, In Progress, Error, Aborted, Complete)

Definition at line 261 of file capture.h.

◆ getLogText()

Q_SCRIPTABLE QString Ekos::Capture::getLogText ( )
inline

DBUS interface function.

Single text string holding all log lines for the capture module.

Definition at line 379 of file capture.h.

◆ getObserverName()

Q_SCRIPTABLE QString Ekos::Capture::getObserverName ( )
inline

Definition at line 597 of file capture.h.

◆ getOverallRemainingTime()

Q_SCRIPTABLE int Ekos::Capture::getOverallRemainingTime ( )
inline

DBUS interface function.

Returns
Returns overall time left in seconds until all jobs are estimated to be complete

Definition at line 252 of file capture.h.

◆ getPendingJobCount()

Q_SCRIPTABLE int Ekos::Capture::getPendingJobCount ( )
inline

DBUS interface function.

Returns
Returns the number of pending uncompleted jobs in the sequence queue.

Definition at line 228 of file capture.h.

◆ getProgressPercentage()

Q_SCRIPTABLE double Ekos::Capture::getProgressPercentage ( )
inline

DBUS interface function.

Returns
Returns the percentage of completed captures in all active jobs

Definition at line 204 of file capture.h.

◆ getSequenceQueueStatus()

Q_SCRIPTABLE QString Ekos::Capture::getSequenceQueueStatus ( )
inline

DBUS interface function.

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 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".

Definition at line 147 of file capture.h.

◆ hasCoolerControl()

bool Ekos::Capture::hasCoolerControl ( )

DBUS interface function.

Does the CCD has a cooler control (On/Off) ?

Definition at line 565 of file capture.cpp.

◆ ignoreSequenceHistory()

void Ekos::Capture::ignoreSequenceHistory ( )

DBUS interface function.

Jobs will NOT be checked for progress against the file system and will be always assumed as new jobs.

Definition at line 347 of file capture.cpp.

◆ isActiveJobPreview()

Q_SCRIPTABLE bool Ekos::Capture::isActiveJobPreview ( )
inline

DBUS interface function.

Returns
Returns true if an ongoing capture is a preview capture.

Definition at line 212 of file capture.h.

◆ loadSequenceQueue()

bool Ekos::Capture::loadSequenceQueue ( const QString & fileURL,
QString train = "",
bool isLead = true,
QString targetName = "" )

DBUS interface function.

Loads the Ekos Sequence Queue file in the Sequence Queue. Jobs are appended to existing jobs.

Parameters
fileURLfull URL of the filename
trainname of the optical train to be used
leadlead or follower job?
targetNameoverride the target in the sequence queue file (necessary for using the target of the scheduler)

Definition at line 288 of file capture.cpp.

◆ logText()

Q_SCRIPTABLE QStringList Ekos::Capture::logText ( )
inline

DBUS interface function.

List of logging entries for the capture module.

Definition at line 371 of file capture.h.

◆ mainCameraDeviceName()

Q_SCRIPTABLE QString Ekos::Capture::mainCameraDeviceName ( )
inline

Name of the main camera's device.

Definition at line 605 of file capture.h.

◆ prepareGUI()

void Ekos::Capture::prepareGUI ( )

prepareGUI Perform once only GUI prep processing

Definition at line 97 of file capture.cpp.

◆ saveSequenceQueue()

Q_SCRIPTABLE bool Ekos::Capture::saveSequenceQueue ( const QString & path)
inline

DBUS interface function.

Saves the Sequence Queue to the Ekos Sequence Queue file.

Parameters
fileURLfull URL of the filename

Definition at line 165 of file capture.h.

◆ setCapturedFramesMap()

void Ekos::Capture::setCapturedFramesMap ( const QString & signature,
int count,
QString train = "" )

DBUS interface function.

Set count of already completed frames. This is required when we have identical external jobs with identical paths, but we need to continue where we left off. For example, if we have 3 identical jobs, each capturing 5 images. Let's suppose 9 images were captured before. If the count for this signature is set to 1, then we continue to capture frame #2 even though the number of completed images is already larger than required count (5). It is mostly used in conjunction with Ekos Scheduler.

Definition at line 353 of file capture.cpp.

◆ setCoolerControl()

bool Ekos::Capture::setCoolerControl ( bool enable)

DBUS interface function.

Set the CCD cooler ON/OFF

Definition at line 574 of file capture.cpp.

◆ setFilter()

bool Ekos::Capture::setFilter ( const QString & filter)

DBUS interface function.

select the filter name from the available filters in case a filter device is active.

Parameters
filterThe filter name

Definition at line 272 of file capture.cpp.

◆ setInSequenceFocus()

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::setInSequenceFocus ( bool enable,
double HFR )
inline

DBUS interface function.

Enables or disables the in sequence focus and sets Half-Flux-Radius (HFR) limit.

Parameters
enableIf true, enable the in sequence auto focus check, otherwise, disable it.
HFRif 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.

Definition at line 185 of file capture.h.

◆ setMaximumGuidingDeviation()

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::setMaximumGuidingDeviation ( bool enable,
double value )
inline

DBUS interface function.

Enables or disables the maximum guiding deviation and sets its value.

Parameters
enableIf true, enable the guiding deviation check, otherwise, disable it.
valueif 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.

Definition at line 175 of file capture.h.

◆ status()

Q_SCRIPTABLE CaptureState Ekos::Capture::status ( )
inline

DBUS interface function.

Status of the capture module

Definition at line 387 of file capture.h.

Variable Documentation

◆ m_OpsDslrSettings

OpsDslrSettings* Ekos::Capture::m_OpsDslrSettings { nullptr }

Definition at line 300 of file capture.h.

◆ m_OpsMiscSettings

OpsMiscSettings* Ekos::Capture::m_OpsMiscSettings { nullptr }

Definition at line 299 of file capture.h.

Public Slots

◆ abort

void Ekos::Capture::abort ( QString train = "")
slot

DBUS interface function.

Aborts all jobs and mark current state as ABORTED. It simply calls stop(CAPTURE_ABORTED)

Definition at line 414 of file capture.cpp.

◆ getTargetName

QString Ekos::Capture::getTargetName ( )
slot

Definition at line 589 of file capture.cpp.

◆ pause

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::pause ( )
inlineslot

DBUS interface function.

pause Pauses the Sequence Queue progress AFTER the current capture is complete.

Definition at line 543 of file capture.h.

◆ restartCamera

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::restartCamera ( const QString & name)
inlineslot

DBus interface function.

restartCamera Restarts the INDI driver associated with a camera. Remote and Local drivers are supported.

Parameters
nameName of camera to restart. If a driver defined multiple cameras, they would be removed and added again after driver restart.

Definition at line 575 of file capture.h.

◆ setObserverName

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::setObserverName ( const QString & value)
inlineslot

DBus interface function.

Set the observer name.

Definition at line 593 of file capture.h.

◆ setTargetName

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::setTargetName ( const QString & newTargetName)
inlineslot

DBus interface function.

Set the name of the target to be captured.

Definition at line 583 of file capture.h.

◆ start

QString Ekos::Capture::start ( QString train = "")
slot

DBUS interface function.

Start the execution of the Capture::SequenceJob list #jobs.

Starting the execution of the Capture::SequenceJob list selects the first job from the list that may be executed and starts to prepare the job (

See also
prepareJob()).

Several factors determine, which of the jobs will be selected:

  • First, the list is searched to find the first job that is marked as idle or aborted.
  • If none is found, it is checked whether ignoring job progress is set. If yes, all jobs are are reset (
    See also
    reset()) and the first one from the list is selected. If no, the user is asked whether the jobs should be reset. If the user declines, starting is aborted.
    Returns
    train name of the camera

Definition at line 391 of file capture.cpp.

◆ stop

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::stop ( CaptureState targetState = CAPTURE_IDLE)
inlineslot

DBUS interface function.

Stops currently running jobs: CAPTURE_IDLE: capture in idle state waiting for further action (e.g. single sequence is complete, next one starting) CAPTURE_COMPLETE: all capture sequences are complete CAPTURE_ABORT: capture aborted either by user interaction or by a technical error CAPTURE_SUSPEND: capture suspended and waiting to be restarted

Parameters
targetStatestatus of the job after stop

Definition at line 519 of file capture.h.

◆ suspend

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::suspend ( )
inlineslot

DBUS interface function.

Aborts all jobs and mark current state as SUSPENDED. It simply calls stop(CAPTURE_SUSPENDED) The only difference between SUSPENDED and ABORTED it that capture module can automatically resume a suspended state on its own without external trigger once the right conditions are met. When whatever reason caused the module to go into suspended state ceases to exist, the capture module automatically resumes. On the other hand, ABORTED state must be started via an external programmatic or user trigger (e.g. click the start button again).

Definition at line 536 of file capture.h.

◆ toggleSequence

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::toggleSequence ( )
inlineslot

DBUS interface function.

toggleSequence Toggle sequence state depending on its current state.

  1. If paused, then resume sequence.
  2. If idle or completed, then start sequence.
  3. Otherwise, abort current sequence.

Definition at line 554 of file capture.h.

◆ toggleVideo

Q_SCRIPTABLE Q_NOREPLY void Ekos::Capture::toggleVideo ( bool enabled)
inlineslot

DBUS interface function.

Toggle video streaming if supported by the device.

Parameters
enabledSet to true to start video streaming, false to stop it if active.

Definition at line 564 of file capture.h.

This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Dec 20 2024 11:53:01 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.