--- a +++ b/Scripted/MusculoskeletalAnalysis/Resources/UI/MusculoskeletalAnalysis.ui @@ -0,0 +1,463 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>MusculoskeletalAnalysis</class> + <widget class="qMRMLWidget" name="MusculoskeletalAnalysis"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>765</width> + <height>636</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="ctkCollapsibleButton" name="inputsCollapsibleButton"> + <property name="toolTip"> + <string notr="true"/> + </property> + <property name="text"> + <string>Inputs</string> + </property> + <layout class="QFormLayout" name="formLayout_2"> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Input Volume:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="qMRMLNodeComboBox" name="inputSelector"> + <property name="toolTip"> + <string notr="true">Select the image to analyze.</string> + </property> + <property name="nodeTypes"> + <stringlist notr="true"> + <string>vtkMRMLScalarVolumeNode</string> + </stringlist> + </property> + <property name="showChildNodeTypes"> + <bool>false</bool> + </property> + <property name="addEnabled"> + <bool>false</bool> + </property> + <property name="removeEnabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_5"> + <property name="text"> + <string>Analysis Segment:</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="qMRMLSegmentSelectorWidget" name="segmentSelector"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="toolTip"> + <string notr="true">Select the area to be analyzed.</string> + </property> + <property name="noneEnabled"> + <bool>false</bool> + </property> + <property name="editEnabled"> + <bool>false</bool> + </property> + <property name="segmentationNodeSelectorVisible"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="6" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Analysis:</string> + </property> + </widget> + </item> + <item row="6" column="1"> + <widget class="QComboBox" name="analysisSelector"> + <property name="toolTip"> + <string notr="true">Select the analysis to perform.</string> + </property> + <item> + <property name="text"> + <string>Cortical Bone</string> + </property> + </item> + <item> + <property name="text"> + <string>Cancellous Bone</string> + </property> + </item> + <item> + <property name="text"> + <string>Bone Density</string> + </property> + </item> + <item> + <property name="text"> + <string>Intervertebral Disc</string> + </property> + </item> + </widget> + </item> + <item row="5" column="0" colspan="2"> + <widget class="qMRMLVolumeThresholdWidget" name="thresholdSelector"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="toolTip"> + <string notr="true">Select the threshold for bone.</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="ctkCollapsibleButton" name="advancedCollapsibleButton"> + <property name="text"> + <string>Advanced</string> + </property> + <property name="checked"> + <bool>false</bool> + </property> + <property name="collapsed"> + <bool>true</bool> + </property> + <layout class="QFormLayout" name="formLayout_3"> + <item row="1" column="1"> + <widget class="QCheckBox" name="AlternateDICOMCheckBox"> + <property name="toolTip"> + <string notr="true">Select this if the image node is not an original DICOM image.</string> + </property> + <property name="text"> + <string>Use another node for DICOM tags</string> + </property> + <attribute name="buttonGroup"> + <string notr="true">DICOMOptions</string> + </attribute> + </widget> + </item> + <item row="2" column="1"> + <widget class="qMRMLNodeComboBox" name="DICOMSelector"> + <property name="toolTip"> + <string notr="true">Select the original DICOM node.</string> + </property> + <property name="nodeTypes"> + <stringlist notr="true"> + <string>vtkMRMLScalarVolumeNode</string> + </stringlist> + </property> + <property name="hideChildNodeTypes"> + <stringlist notr="true"/> + </property> + <property name="addEnabled"> + <bool>false</bool> + </property> + <property name="removeEnabled"> + <bool>false</bool> + </property> + <property name="interactionNodeSingletonTag"> + <string notr="true">Singleton</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QCheckBox" name="ManualDICOMCheckBox"> + <property name="text"> + <string>Enter DICOM tags manually</string> + </property> + <attribute name="buttonGroup"> + <string notr="true">DICOMOptions</string> + </attribute> + </widget> + </item> + <item row="4" column="1"> + <layout class="QFormLayout" name="DICOMForm"> + <item row="0" column="0"> + <widget class="QLabel" name="voxelSizeLabel"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Voxel Size:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="voxelSizeLineEdit"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="scalingLabel"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>µ-Scaling</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="scalingLineEdit"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="densitySlopeLabel"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Density Slope:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLineEdit" name="densitySlopeLineEdit"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="densityInterceptLabel"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Density Intercept:</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QLineEdit" name="densityInterceptLineEdit"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="rescaleSlopeLabel"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Rescale Slope:</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QLineEdit" name="rescaleSlopeLineEdit"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="5" column="1"> + <widget class="QLineEdit" name="rescaleInterceptLineEdit"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="rescaleInterceptLabel"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Rescale Intercept:</string> + </property> + </widget> + </item> + </layout> + </item> + <item row="0" column="1"> + <widget class="QCheckBox" name="DefaultDICOMCheckbox"> + <property name="text"> + <string>Use Input Volume for DICOM tags</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + <attribute name="buttonGroup"> + <string notr="true">DICOMOptions</string> + </attribute> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="ctkCollapsibleButton" name="outputsCollapsibleButton"> + <property name="text"> + <string>Outputs</string> + </property> + <property name="collapsed"> + <bool>false</bool> + </property> + <layout class="QFormLayout" name="formLayout_4"> + <item row="7" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Output Directory:</string> + </property> + </widget> + </item> + <item row="7" column="1"> + <widget class="ctkPathLineEdit" name="outputDirectorySelector"> + <property name="toolTip"> + <string notr="true">Select the directory to put the output files in.</string> + </property> + <property name="filters"> + <set>ctkPathLineEdit::Dirs|ctkPathLineEdit::Drives|ctkPathLineEdit::Executable|ctkPathLineEdit::NoDot|ctkPathLineEdit::NoDotDot|ctkPathLineEdit::Readable</set> + </property> + <property name="options"> + <set>ctkPathLineEdit::ShowDirsOnly</set> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QProgressBar" name="AnalysisProgress"> + <property name="maximum"> + <number>100</number> + </property> + <property name="value"> + <number>0</number> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="applyButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="toolTip"> + <string notr="true">Perform the selected analysis.</string> + </property> + <property name="text"> + <string>Apply</string> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>qMRMLNodeComboBox</class> + <extends>QWidget</extends> + <header>qMRMLNodeComboBox.h</header> + </customwidget> + <customwidget> + <class>qMRMLVolumeThresholdWidget</class> + <extends>QWidget</extends> + <header>qMRMLVolumeThresholdWidget.h</header> + </customwidget> + <customwidget> + <class>qMRMLWidget</class> + <extends>QWidget</extends> + <header>qMRMLWidget.h</header> + <container>1</container> + </customwidget> + <customwidget> + <class>qMRMLSegmentSelectorWidget</class> + <extends>qMRMLWidget</extends> + <header>qMRMLSegmentSelectorWidget.h</header> + </customwidget> + <customwidget> + <class>ctkCollapsibleButton</class> + <extends>QWidget</extends> + <header>ctkCollapsibleButton.h</header> + <container>1</container> + </customwidget> + <customwidget> + <class>ctkPathLineEdit</class> + <extends>QWidget</extends> + <header>ctkPathLineEdit.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections> + <connection> + <sender>MusculoskeletalAnalysis</sender> + <signal>mrmlSceneChanged(vtkMRMLScene*)</signal> + <receiver>inputSelector</receiver> + <slot>setMRMLScene(vtkMRMLScene*)</slot> + <hints> + <hint type="sourcelabel"> + <x>122</x> + <y>132</y> + </hint> + <hint type="destinationlabel"> + <x>337</x> + <y>60</y> + </hint> + </hints> + </connection> + <connection> + <sender>MusculoskeletalAnalysis</sender> + <signal>mrmlSceneChanged(vtkMRMLScene*)</signal> + <receiver>segmentSelector</receiver> + <slot>setMRMLScene(vtkMRMLScene*)</slot> + <hints> + <hint type="sourcelabel"> + <x>226</x> + <y>484</y> + </hint> + <hint type="destinationlabel"> + <x>341</x> + <y>126</y> + </hint> + </hints> + </connection> + <connection> + <sender>MusculoskeletalAnalysis</sender> + <signal>mrmlSceneChanged(vtkMRMLScene*)</signal> + <receiver>DICOMSelector</receiver> + <slot>setMRMLScene(vtkMRMLScene*)</slot> + <hints> + <hint type="sourcelabel"> + <x>170</x> + <y>521</y> + </hint> + <hint type="destinationlabel"> + <x>117</x> + <y>297</y> + </hint> + </hints> + </connection> + </connections> + <buttongroups> + <buttongroup name="DICOMOptions"/> + </buttongroups> +</ui>