37 #include <QVBoxLayout>
38 #include "boost/bind.hpp"
66 mUsReconstructionService(usReconstructionService)
68 this->setObjectName(
"org_custusx_acquisition_widgets_acquisition");
69 this->setWindowTitle(
"US Acquisition");
70 this->setToolTip(
"Record and reconstruct US data");
87 QHBoxLayout* timerLayout =
new QHBoxLayout;
88 mLayout->addLayout(timerLayout);
91 timerLayout->addStretch();
92 timerLayout->addWidget(mDisplayTimerWidget);
93 timerLayout->addStretch();
95 QGridLayout* editsLayout =
new QGridLayout;
96 editsLayout->setColumnStretch(0,0);
97 editsLayout->setColumnStretch(1,1);
104 QIcon(
":/icons/open_icon_library/system-run-5.png"),
105 "Details",
"Show Details",
106 SLOT(toggleDetailsSlot()),
109 QToolButton* optionsButton =
new QToolButton();
110 optionsButton->setDefaultAction(optionsAction);
111 editsLayout->addWidget(optionsButton, 0, 2);
113 mOptionsWidget = this->createOptionsWidget();
114 mOptionsWidget->setVisible(
settings()->value(
"acquisition/UsAcqShowDetails").toBool());
117 mLayout->addWidget(mOptionsWidget);
120 mLayout->addWidget(mTimedAlgorithmProgressBar);
127 void USAcqusitionWidget::toggleDetailsSlot()
129 mOptionsWidget->setVisible(!mOptionsWidget->isVisible());
130 settings()->
setValue(
"acquisition/UsAcqShowDetails", mOptionsWidget->isVisible());
133 QWidget* USAcqusitionWidget::createOptionsWidget()
135 QWidget* retval =
new QWidget(
this);
136 QGridLayout* layout =
new QGridLayout(retval);
137 layout->setMargin(0);
139 SoundSpeedConverterWidget* soundSpeedWidget =
new SoundSpeedConverterWidget(mServices->getToolManager(),
this);
141 ProbeConfigWidget* probeWidget =
new ProbeConfigWidget(mServices,
this);
142 probeWidget->getActiveProbeConfigWidget()->setVisible(
false);
148 layout->addWidget(this->wrapGroupBox(probeWidget,
"Probe",
"Probe Definition"), line++, 0);
149 layout->addWidget(this->wrapGroupBox(soundSpeedWidget,
"Sound Speed",
"Sound Speed"), line++, 0);
150 layout->addWidget(temporalCalibrationWidget, line++, 0);
155 QWidget* USAcqusitionWidget::wrapGroupBox(QWidget* input, QString name, QString tip)
157 QGroupBox* retval =
new QGroupBox(name);
158 retval->setToolTip(tip);
159 QVBoxLayout* layout =
new QVBoxLayout(retval);
160 layout->addWidget(input);
161 layout->addStretch();
162 layout->setMargin(layout->margin()/2);
166 QWidget* USAcqusitionWidget::wrapVerticalStretch(QWidget* input)
168 QWidget* retval =
new QWidget(
this);
169 QVBoxLayout* layout =
new QVBoxLayout(retval);
170 layout->addWidget(input);
171 layout->addStretch();
172 layout->setMargin(0);
173 layout->setSpacing(0);
177 void USAcqusitionWidget::acquisitionDataReadySlot()
179 if (
settings()->value(
"Automation/autoReconstruct").toBool())
181 mUsReconstructionService->startReconstruction();
185 void USAcqusitionWidget::acquisitionStateChangedSlot()
200 void USAcqusitionWidget::recordStarted()
202 mDisplayTimerWidget->
start();
204 void USAcqusitionWidget::recordStopped()
206 mDisplayTimerWidget->
stop();
208 void USAcqusitionWidget::recordCancelled()
210 mDisplayTimerWidget->
stop();
213 void USAcqusitionWidget::reconstructAboutToStartSlot()
215 std::set<cx::TimedAlgorithmPtr> threads = mUsReconstructionService->getThreadedReconstruction();
216 mTimedAlgorithmProgressBar->
attach(threads);
219 void USAcqusitionWidget::reconstructStartedSlot()
224 void USAcqusitionWidget::reconstructFinishedSlot()
226 std::set<cx::TimedAlgorithmPtr> threads = mUsReconstructionService->getThreadedReconstruction();
227 mTimedAlgorithmProgressBar->
detach(threads);
boost::shared_ptr< class UsReconstructionService > UsReconstructionServicePtr
void acquisitionStopped()
boost::shared_ptr< class AcquisitionService > AcquisitionServicePtr
boost::shared_ptr< class VisServices > VisServicesPtr
void reconstructFinished()
void saveDataCompleted(QString mhdFilename)
emitted when data has been saved to file
static DoublePropertyBasePtr New(TrackingServicePtr trackingService)
static StringPropertyActiveProbeConfigurationPtr New(TrackingServicePtr trackingService)
Show progress for a TimedBaseAlgorithm.
void detach(TimedAlgorithmPtr algorithm)
void setValue(const QString &key, const QVariant &value)
void reconstructStarted()
Settings * settings()
Shortcut for accessing the settings instance.
void attach(TimedAlgorithmPtr algorithm)
cxLogicManager_EXPORT AcquisitionServicePtr acquisitionService()
void reconstructAboutToStart()
virtual void newDataOnDisk(QString mhdFilename)=0
void acquisitionDataReady()
emitted when data is acquired and sent to the reconstruction module