├── BatchProcessing ├── BatchStructureSetConversion.py ├── CMakeLists.txt └── _readme.txt ├── Beams ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerBeamsModuleLogic.cxx │ ├── vtkSlicerBeamsModuleLogic.h │ ├── vtkSlicerMLCPositionLogic.cxx │ └── vtkSlicerMLCPositionLogic.h ├── MRML │ ├── CMakeLists.txt │ ├── vtkMRMLRTBeamNode.cxx │ ├── vtkMRMLRTBeamNode.h │ ├── vtkMRMLRTIonBeamNode.cxx │ ├── vtkMRMLRTIonBeamNode.h │ ├── vtkMRMLRTPlanNode.cxx │ └── vtkMRMLRTPlanNode.h ├── Resources │ ├── Icons │ │ └── Beams.png │ ├── UI │ │ └── qSlicerBeamsModule.ui │ └── qSlicerBeamsModule.qrc ├── SubjectHierarchyPlugins │ ├── CMakeLists.txt │ ├── Resources │ │ ├── Icons │ │ │ ├── Beam.png │ │ │ ├── Isocenter.png │ │ │ ├── Plan.png │ │ │ ├── VisibleOff.png │ │ │ └── VisibleOn.png │ │ └── qSlicerBeamsSubjectHierarchyPlugins.qrc │ ├── qSlicerSubjectHierarchyRTBeamPlugin.cxx │ ├── qSlicerSubjectHierarchyRTBeamPlugin.h │ ├── qSlicerSubjectHierarchyRTPlanPlugin.cxx │ └── qSlicerSubjectHierarchyRTPlanPlugin.h ├── Testing │ ├── CMakeLists.txt │ └── Cxx │ │ ├── CMakeLists.txt │ │ └── vtkSlicerBeamsModuleLogicTest1.cxx ├── Widgets │ ├── CMakeLists.txt │ ├── DesignerPlugins │ │ ├── CMakeLists.txt │ │ ├── qMRMLBeamParametersTabWidgetPlugin.cxx │ │ ├── qMRMLBeamParametersTabWidgetPlugin.h │ │ ├── qMRMLBeamsTableViewPlugin.cxx │ │ ├── qMRMLBeamsTableViewPlugin.h │ │ ├── qSlicerBeamsModuleWidgetsAbstractPlugin.cxx │ │ ├── qSlicerBeamsModuleWidgetsAbstractPlugin.h │ │ ├── qSlicerBeamsModuleWidgetsPlugin.cxx │ │ └── qSlicerBeamsModuleWidgetsPlugin.h │ ├── Resources │ │ └── UI │ │ │ ├── qMRMLBeamParametersTabWidget.ui │ │ │ └── qMRMLBeamsTableView.ui │ ├── qMRMLBeamParametersTabWidget.cxx │ ├── qMRMLBeamParametersTabWidget.h │ ├── qMRMLBeamsTableView.cxx │ └── qMRMLBeamsTableView.h ├── qSlicerBeamsModule.cxx ├── qSlicerBeamsModule.h ├── qSlicerBeamsModuleWidget.cxx └── qSlicerBeamsModuleWidget.h ├── CMakeLists.txt ├── CTestConfig.cmake ├── DicomRtImportExport ├── CMakeLists.txt ├── ConversionRules │ ├── CMakeLists.txt │ ├── vtkPlanarContourToClosedSurfaceConversionRule.cxx │ ├── vtkPlanarContourToClosedSurfaceConversionRule.h │ ├── vtkPlanarContourToRibbonModelConversionRule.cxx │ ├── vtkPlanarContourToRibbonModelConversionRule.h │ ├── vtkRibbonModelToBinaryLabelmapConversionRule.cxx │ └── vtkRibbonModelToBinaryLabelmapConversionRule.h ├── DicomRtImportExportPlugin.py ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerDicomRtImportExportModuleLogic.cxx │ ├── vtkSlicerDicomRtImportExportModuleLogic.h │ ├── vtkSlicerDicomRtReader.cxx │ ├── vtkSlicerDicomRtReader.h │ ├── vtkSlicerDicomRtWriter.cxx │ └── vtkSlicerDicomRtWriter.h ├── Resources │ └── UI │ │ └── qSlicerDicomRtImportExportModule.ui ├── SubjectHierarchyPlugins │ ├── CMakeLists.txt │ ├── Resources │ │ ├── Icons │ │ │ ├── DoseVolume.png │ │ │ ├── PlanarImage.png │ │ │ ├── VisibleOff.png │ │ │ └── VisibleOn.png │ │ └── qSlicerDicomRtImportExportSubjectHierarchyPlugins.qrc │ ├── qSlicerSubjectHierarchyRtDoseVolumePlugin.cxx │ ├── qSlicerSubjectHierarchyRtDoseVolumePlugin.h │ ├── qSlicerSubjectHierarchyRtImagePlugin.cxx │ └── qSlicerSubjectHierarchyRtImagePlugin.h ├── Testing │ ├── CMakeLists.txt │ └── Python │ │ ├── CMakeLists.txt │ │ └── DicomRtImportTest.py ├── qSlicerDicomRtImportExportModule.cxx ├── qSlicerDicomRtImportExportModule.h ├── qSlicerDicomRtImportExportModuleWidget.cxx └── qSlicerDicomRtImportExportModuleWidget.h ├── DicomSroImportExport ├── CMakeLists.txt ├── DicomSroImportExportPlugin.py ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerDicomSroImportExportModuleLogic.cxx │ ├── vtkSlicerDicomSroImportExportModuleLogic.h │ ├── vtkSlicerDicomSroReader.cxx │ └── vtkSlicerDicomSroReader.h ├── Resources │ ├── Icons │ │ └── DicomSroImportExport.png │ ├── UI │ │ └── qSlicerDicomSroImportExportModule.ui │ └── qSlicerDicomSroImportExportModule.qrc ├── Testing │ ├── CMakeLists.txt │ └── Cxx │ │ └── CMakeLists.txt ├── qSlicerDicomSroImportExportModule.cxx ├── qSlicerDicomSroImportExportModule.h ├── qSlicerDicomSroImportExportModuleWidget.cxx └── qSlicerDicomSroImportExportModuleWidget.h ├── Docs ├── CMakeLists.txt └── user_guide │ └── modules │ └── drr.md ├── DoseAccumulation ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkMRMLDoseAccumulationNode.cxx │ ├── vtkMRMLDoseAccumulationNode.h │ ├── vtkSlicerDoseAccumulationModuleLogic.cxx │ └── vtkSlicerDoseAccumulationModuleLogic.h ├── Resources │ ├── Icons │ │ └── DoseAccumulation.png │ ├── UI │ │ └── qSlicerDoseAccumulationModule.ui │ └── qSlicerDoseAccumulationModule.qrc ├── Testing │ ├── CMakeLists.txt │ └── Cxx │ │ ├── CMakeLists.txt │ │ └── vtkSlicerDoseAccumulationModuleLogicTest1.cxx ├── qSlicerDoseAccumulationModule.cxx ├── qSlicerDoseAccumulationModule.h ├── qSlicerDoseAccumulationModuleWidget.cxx └── qSlicerDoseAccumulationModuleWidget.h ├── DoseComparison ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkMRMLDoseComparisonNode.cxx │ ├── vtkMRMLDoseComparisonNode.h │ ├── vtkSlicerDoseComparisonModuleLogic.cxx │ └── vtkSlicerDoseComparisonModuleLogic.h ├── Resources │ ├── Gamma_ColorTable.ctbl │ ├── Icons │ │ └── DoseComparison.png │ ├── UI │ │ └── qSlicerDoseComparisonModule.ui │ └── qSlicerDoseComparisonModule.qrc ├── SubjectHierarchyPlugins │ ├── CMakeLists.txt │ ├── Resources │ │ ├── Icons │ │ │ └── Gamma.png │ │ └── qSlicerDoseComparisonSubjectHierarchyPlugins.qrc │ ├── qSlicerSubjectHierarchyGammaPlugin.cxx │ └── qSlicerSubjectHierarchyGammaPlugin.h ├── Testing │ ├── CMakeLists.txt │ └── Cxx │ │ ├── CMakeLists.txt │ │ └── vtkSlicerDoseComparisonModuleLogicTest1.cxx ├── qSlicerDoseComparisonModule.cxx ├── qSlicerDoseComparisonModule.h ├── qSlicerDoseComparisonModuleWidget.cxx └── qSlicerDoseComparisonModuleWidget.h ├── DoseVolumeHistogram ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerDoseVolumeHistogramComparisonLogic.cxx │ ├── vtkSlicerDoseVolumeHistogramComparisonLogic.h │ ├── vtkSlicerDoseVolumeHistogramModuleLogic.cxx │ └── vtkSlicerDoseVolumeHistogramModuleLogic.h ├── MRML │ ├── CMakeLists.txt │ ├── vtkMRMLDoseVolumeHistogramNode.cxx │ └── vtkMRMLDoseVolumeHistogramNode.h ├── Resources │ ├── Icons │ │ ├── DoseVolumeHistogram.png │ │ ├── LayoutFourUpQuantitativeView.png │ │ └── LayoutOneUpQuantitativeView.png │ ├── UI │ │ └── qSlicerDoseVolumeHistogramModule.ui │ └── qSlicerDoseVolumeHistogramModule.qrc ├── SubjectHierarchyPlugins │ ├── CMakeLists.txt │ ├── Resources │ │ ├── Icons │ │ │ └── DVH.png │ │ └── qSlicerDoseVolumeHistogramSubjectHierarchyPlugins.qrc │ ├── qSlicerSubjectHierarchyDoseVolumeHistogramPlugin.cxx │ └── qSlicerSubjectHierarchyDoseVolumeHistogramPlugin.h ├── Testing │ ├── CMakeLists.txt │ └── Cxx │ │ ├── CMakeLists.txt │ │ └── vtkSlicerDoseVolumeHistogramModuleLogicTest1.cxx ├── qSlicerDoseVolumeHistogramModule.cxx ├── qSlicerDoseVolumeHistogramModule.h ├── qSlicerDoseVolumeHistogramModuleWidget.cxx └── qSlicerDoseVolumeHistogramModuleWidget.h ├── DosxyzNrc3dDoseFileReader ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerDosxyzNrc3dDoseFileReaderLogic.cxx │ └── vtkSlicerDosxyzNrc3dDoseFileReaderLogic.h ├── Resources │ └── UI │ │ ├── qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget.ui │ │ └── qSlicerDosxyzNrc3dDoseFileReaderPluginWidget.ui ├── qSlicerDosxyzNrc3dDoseFileReaderModule.cxx ├── qSlicerDosxyzNrc3dDoseFileReaderModule.h ├── qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget.cxx ├── qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget.h ├── qSlicerDosxyzNrc3dDoseFileReaderPlugin.cxx ├── qSlicerDosxyzNrc3dDoseFileReaderPlugin.h ├── qSlicerDosxyzNrc3dDoseFileReaderPluginWidget.cxx └── qSlicerDosxyzNrc3dDoseFileReaderPluginWidget.h ├── DrrImageComputation ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerDrrImageComputationLogic.cxx │ └── vtkSlicerDrrImageComputationLogic.h ├── MRML │ ├── CMakeLists.txt │ ├── vtkMRMLDrrImageComputationNode.cxx │ └── vtkMRMLDrrImageComputationNode.h ├── Resources │ ├── Icons │ │ └── DrrImageComputation.png │ ├── UI │ │ ├── qSlicerDrrImageComputationModuleWidget.ui │ │ └── qSlicerDrrImageComputationPlastimatchParametersWidget.ui │ └── qSlicerDrrImageComputationModule.qrc ├── Testing │ ├── CMakeLists.txt │ ├── Cxx │ │ ├── CMakeLists.txt │ │ └── vtkMRMLDrrImageComputationNodeTest1.cxx │ └── Python │ │ ├── CMakeLists.txt │ │ └── DrrImageComputationTest.py ├── Widgets │ ├── CMakeLists.txt │ ├── qSlicerDrrImageComputationPlastimatchParametersWidget.cxx │ └── qSlicerDrrImageComputationPlastimatchParametersWidget.h ├── qSlicerDrrImageComputationModule.cxx ├── qSlicerDrrImageComputationModule.h ├── qSlicerDrrImageComputationModuleWidget.cxx └── qSlicerDrrImageComputationModuleWidget.h ├── DvhComparison ├── CMakeLists.txt ├── DvhComparison.py └── Resources │ └── Icons │ └── DvhComparison.png ├── ExternalBeamPlanning ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerExternalBeamPlanningModuleLogic.cxx │ └── vtkSlicerExternalBeamPlanningModuleLogic.h ├── Resources │ ├── Icons │ │ ├── Add.png │ │ ├── ExternalBeamPlanning.png │ │ └── Remove.png │ ├── UI │ │ └── qSlicerExternalBeamPlanningModule.ui │ └── qSlicerExternalBeamPlanningModule.qrc ├── Widgets │ ├── CMakeLists.txt │ ├── Python │ │ ├── AbstractScriptedDoseEngine.py │ │ ├── CMakeLists.txt │ │ ├── DoseEngines.__init__.py.in │ │ ├── EGSnrcUtil.py │ │ ├── MockPythonDoseEngine.py │ │ ├── OrthovoltageDoseEngine.py │ │ └── OrthovoltageDoseEngineUtil.py │ ├── qSlicerAbstractDoseEngine.cxx │ ├── qSlicerAbstractDoseEngine.h │ ├── qSlicerDoseEngineLogic.cxx │ ├── qSlicerDoseEngineLogic.h │ ├── qSlicerDoseEnginePluginHandler.cxx │ ├── qSlicerDoseEnginePluginHandler.h │ ├── qSlicerMockDoseEngine.cxx │ ├── qSlicerMockDoseEngine.h │ ├── qSlicerScriptedDoseEngine.cxx │ └── qSlicerScriptedDoseEngine.h ├── qSlicerExternalBeamPlanningModule.cxx ├── qSlicerExternalBeamPlanningModule.h ├── qSlicerExternalBeamPlanningModuleWidget.cxx └── qSlicerExternalBeamPlanningModuleWidget.h ├── Isodose ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerIsodoseModuleLogic.cxx │ └── vtkSlicerIsodoseModuleLogic.h ├── MRML │ ├── CMakeLists.txt │ ├── vtkMRMLIsodoseNode.cxx │ └── vtkMRMLIsodoseNode.h ├── Resources │ ├── Icons │ │ └── Isodose.png │ ├── Isodose_ColorTable.ctbl │ ├── UI │ │ └── qSlicerIsodoseModule.ui │ └── qSlicerIsodoseModule.qrc ├── SubjectHierarchyPlugins │ ├── CMakeLists.txt │ ├── Resources │ │ ├── Icons │ │ │ └── IsodoseLines.png │ │ └── qSlicerIsodoseSubjectHierarchyPlugins.qrc │ ├── qSlicerSubjectHierarchyIsodosePlugin.cxx │ └── qSlicerSubjectHierarchyIsodosePlugin.h ├── Testing │ ├── CMakeLists.txt │ └── Cxx │ │ ├── CMakeLists.txt │ │ └── vtkSlicerIsodoseModuleLogicTest1.cxx ├── qSlicerIsodoseModule.cxx ├── qSlicerIsodoseModule.h ├── qSlicerIsodoseModuleWidget.cxx └── qSlicerIsodoseModuleWidget.h ├── PinnacleDvfReader ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerPinnacleDvfReader.cxx │ ├── vtkSlicerPinnacleDvfReader.h │ ├── vtkSlicerPinnacleDvfReaderLogic.cxx │ └── vtkSlicerPinnacleDvfReaderLogic.h ├── Resources │ └── UI │ │ ├── qSlicerPinnacleDvfReaderOptionsWidget.ui │ │ └── qSlicerPinnacleDvfReaderPluginWidget.ui ├── qSlicerPinnacleDvfReaderModule.cxx ├── qSlicerPinnacleDvfReaderModule.h ├── qSlicerPinnacleDvfReaderOptionsWidget.cxx ├── qSlicerPinnacleDvfReaderOptionsWidget.h ├── qSlicerPinnacleDvfReaderPlugin.cxx ├── qSlicerPinnacleDvfReaderPlugin.h ├── qSlicerPinnacleDvfReaderPluginWidget.cxx └── qSlicerPinnacleDvfReaderPluginWidget.h ├── PlanarImage ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkMRMLPlanarImageNode.cxx │ ├── vtkMRMLPlanarImageNode.h │ ├── vtkSlicerPlanarImageModuleLogic.cxx │ └── vtkSlicerPlanarImageModuleLogic.h ├── Resources │ └── UI │ │ └── qSlicerPlanarImageModule.ui ├── qSlicerPlanarImageModule.cxx ├── qSlicerPlanarImageModule.h ├── qSlicerPlanarImageModuleWidget.cxx └── qSlicerPlanarImageModuleWidget.h ├── PlastimatchPy ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkPlmpyDicomSroExport.cxx │ ├── vtkPlmpyDicomSroExport.h │ ├── vtkPlmpyMismatchError.cxx │ ├── vtkPlmpyMismatchError.h │ ├── vtkPlmpyRegistration.cxx │ ├── vtkPlmpyRegistration.h │ ├── vtkPlmpyVectorFieldAnalysis.cxx │ └── vtkPlmpyVectorFieldAnalysis.h ├── Resources │ └── UI │ │ └── qSlicerPlastimatchPyModuleWidget.ui ├── qSlicerPlastimatchPyModule.cxx ├── qSlicerPlastimatchPyModule.h ├── qSlicerPlastimatchPyModuleWidget.cxx └── qSlicerPlastimatchPyModuleWidget.h ├── PlmBspline ├── CMakeLists.txt ├── plastimatch_slicer_bspline.cxx └── plastimatch_slicer_bspline.xml ├── PlmCommon ├── CMakeLists.txt ├── PlmCommon.cxx ├── PlmCommon.h ├── vtkPlmCommonConfigure.h.in └── vtkPlmCommonWin32Header.h ├── PlmDrr ├── CMakeLists.txt ├── Data │ ├── Baseline │ │ └── plastimatch_slicer_drrTest.nrrd.sha256 │ └── Input │ │ ├── CTHeadAxial.nhdr.md5 │ │ └── CTHeadAxial.raw.gz.md5 ├── Testing │ ├── CMakeLists.txt │ └── Cxx │ │ ├── CMakeLists.txt │ │ └── plastimatch_slicer_drrTest.cxx ├── plastimatch_slicer_drr.cxx └── plastimatch_slicer_drr.xml ├── PlmLandwarp ├── CMakeLists.txt ├── plastimatch_slicer_landwarp.cxx └── plastimatch_slicer_landwarp.xml ├── PlmMismatchError ├── CMakeLists.txt └── PlmMismatchError.py ├── PlmProtonDoseEngine ├── CMakeLists.txt ├── DoseEngines │ ├── CMakeLists.txt │ ├── qSlicerPlmProtonDoseEngine.cxx │ └── qSlicerPlmProtonDoseEngine.h ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerPlmProtonDoseEngineLogic.cxx │ └── vtkSlicerPlmProtonDoseEngineLogic.h ├── Resources │ └── UI │ │ └── qSlicerPlmProtonDoseEngineModuleWidget.ui ├── Testing │ ├── CMakeLists.txt │ └── Python │ │ ├── CMakeLists.txt │ │ └── PlmProtonDoseEngineTest.py ├── qSlicerPlmProtonDoseEngineModule.cxx ├── qSlicerPlmProtonDoseEngineModule.h ├── qSlicerPlmProtonDoseEngineModuleWidget.cxx └── qSlicerPlmProtonDoseEngineModuleWidget.h ├── PlmRegister ├── CMakeLists.txt ├── PlmRegister.py ├── Resources │ └── Icons │ │ └── PlmRegister.png └── Testing │ ├── CMakeLists.txt │ └── Python │ └── CMakeLists.txt ├── PlmSynth ├── CMakeLists.txt ├── plastimatch_slicer_synth.cxx └── plastimatch_slicer_synth.xml ├── PlmThreshbox ├── CMakeLists.txt ├── plastimatch_slicer_threshbox.cxx └── plastimatch_slicer_threshbox.xml ├── PlmVectorFieldAnalysis ├── CMakeLists.txt └── PlmVectorFieldAnalysis.py ├── RoomsEyeView ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkMRMLRoomsEyeViewNode.cxx │ ├── vtkMRMLRoomsEyeViewNode.h │ ├── vtkSlicerRoomsEyeViewModuleLogic.cxx │ └── vtkSlicerRoomsEyeViewModuleLogic.h ├── Resources │ ├── Icons │ │ └── RoomsEyeView.png │ ├── UI │ │ └── qSlicerRoomsEyeViewModule.ui │ └── qSlicerRoomsEyeViewModule.qrc ├── Testing │ ├── CMakeLists.txt │ └── Cxx │ │ ├── CMakeLists.txt │ │ └── vtkSlicerRoomsEyeViewLogicTest1.cxx ├── TreatmentMachineModels │ ├── AdditionalTreatmentModels │ │ ├── ApplicatorHolder.stl │ │ ├── CMakeLists.txt │ │ └── ElectronApplicator.stl │ ├── CMakeLists.txt │ ├── SiemensArtiste │ │ ├── CMakeLists.txt │ │ ├── Collimator.stl │ │ ├── FlatPanel.stl │ │ ├── Gantry.stl │ │ ├── PatientSupport.stl │ │ ├── SiemensArtiste.json │ │ └── TableTop.stl │ ├── SlicerMacroConfigureTreatmentMachineComponentModels.cmake │ └── VarianTrueBeamSTx │ │ ├── CMakeLists.txt │ │ ├── Collimator.stl │ │ ├── Gantry.stl │ │ ├── ImagingPanelLeft.stl │ │ ├── ImagingPanelRight.stl │ │ ├── LinacBody.stl │ │ ├── PatientSupport.stl │ │ ├── TableTop.stl │ │ └── VarianTrueBeamSTx.json ├── qSlicerRoomsEyeViewModule.cxx ├── qSlicerRoomsEyeViewModule.h ├── qSlicerRoomsEyeViewModuleWidget.cxx └── qSlicerRoomsEyeViewModuleWidget.h ├── SegmentComparison ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkMRMLSegmentComparisonNode.cxx │ ├── vtkMRMLSegmentComparisonNode.h │ ├── vtkPolyDataDistanceHistogramFilter.cxx │ ├── vtkPolyDataDistanceHistogramFilter.h │ ├── vtkSlicerSegmentComparisonModuleLogic.cxx │ └── vtkSlicerSegmentComparisonModuleLogic.h ├── Resources │ ├── Icons │ │ └── SegmentComparison.png │ ├── UI │ │ └── qSlicerSegmentComparisonModule.ui │ └── qSlicerSegmentComparisonModule.qrc ├── Testing │ ├── CMakeLists.txt │ └── Cxx │ │ ├── CMakeLists.txt │ │ ├── vtkPolyDataDistanceHistogramFilterTest.cxx │ │ └── vtkSlicerSegmentComparisonModuleLogicTest1.cxx ├── qSlicerSegmentComparisonModule.cxx ├── qSlicerSegmentComparisonModule.h ├── qSlicerSegmentComparisonModuleWidget.cxx └── qSlicerSegmentComparisonModuleWidget.h ├── SlicerRtCommon ├── CMakeLists.txt ├── vtkFractionalImageAccumulate.cxx ├── vtkFractionalImageAccumulate.h ├── vtkLabelmapToModelFilter.cxx ├── vtkLabelmapToModelFilter.h ├── vtkPolyDataToLabelmapFilter.cxx ├── vtkPolyDataToLabelmapFilter.h ├── vtkSlicerAutoWindowLevelLogic.cxx ├── vtkSlicerAutoWindowLevelLogic.h ├── vtkSlicerDicomReaderBase.cxx ├── vtkSlicerDicomReaderBase.h ├── vtkSlicerDicomReaderBase.txx ├── vtkSlicerRtCommon.cxx ├── vtkSlicerRtCommon.h ├── vtkSlicerRtCommon.txx ├── vtkSlicerRtCommonConfigure.h.in └── vtkSlicerRtCommonWin32Header.h ├── SuperBuild.cmake ├── SuperBuild ├── External_Plastimatch.cmake └── External_vtkIECTransformLogic.cmake ├── Testing ├── CMakeLists.txt ├── Data │ ├── EclipseEnt_Dose.nrrd │ ├── EclipseEnt_Dose_Day2.nrrd │ ├── EclipseEnt_DvhMetrics_DoseSurfaceHistogram_Inside_SlicerRT.csv │ ├── EclipseEnt_DvhMetrics_DoseSurfaceHistogram_Outside_SlicerRT.csv │ ├── EclipseEnt_DvhTable_CERR.csv │ ├── EclipseEnt_DvhTable_DoseSurfaceHistogram_Inside_SlicerRT.csv │ ├── EclipseEnt_DvhTable_DoseSurfaceHistogram_Outside_SlicerRT.csv │ ├── EclipseEnt_DvhTable_Eclipse.csv │ ├── EclipseEnt_Structures.seg.vtm │ ├── EclipseEnt_Structures.seg │ │ ├── EclipseEnt_Structures.seg_0.vtp │ │ ├── EclipseEnt_Structures.seg_1.vtp │ │ ├── EclipseEnt_Structures.seg_10.vtp │ │ ├── EclipseEnt_Structures.seg_11.vtp │ │ ├── EclipseEnt_Structures.seg_12.vtp │ │ ├── EclipseEnt_Structures.seg_13.vtp │ │ ├── EclipseEnt_Structures.seg_14.vtp │ │ ├── EclipseEnt_Structures.seg_15.vtp │ │ ├── EclipseEnt_Structures.seg_2.vtp │ │ ├── EclipseEnt_Structures.seg_3.vtp │ │ ├── EclipseEnt_Structures.seg_4.vtp │ │ ├── EclipseEnt_Structures.seg_5.vtp │ │ ├── EclipseEnt_Structures.seg_6.vtp │ │ ├── EclipseEnt_Structures.seg_7.vtp │ │ ├── EclipseEnt_Structures.seg_8.vtp │ │ └── EclipseEnt_Structures.seg_9.vtp │ ├── EclipseEnt_Structures_ColorTable.ctbl │ ├── EclipseProstate_Bladder.seg.vtm │ ├── EclipseProstate_Bladder_Intersect_PTV.seg.nrrd │ ├── EclipseProstate_Bladder_Intersect_PTV_ApplyTransform.seg.nrrd │ ├── EclipseProstate_Bladder_Subtract_PTV.seg.nrrd │ ├── EclipseProstate_Bladder_Union_PTV.seg.nrrd │ ├── EclipseProstate_Dose.nrrd │ ├── EclipseProstate_DvhMetrics_DoseSurfaceHistogram_Inside_SlicerRT.csv │ ├── EclipseProstate_DvhMetrics_DoseSurfaceHistogram_Outside_SlicerRT.csv │ ├── EclipseProstate_DvhMetrics_SlicerRT.csv │ ├── EclipseProstate_DvhTable_CERR.csv │ ├── EclipseProstate_DvhTable_DoseSurfaceHistogram_Inside_SlicerRT.csv │ ├── EclipseProstate_DvhTable_DoseSurfaceHistogram_Outside_SlicerRT.csv │ ├── EclipseProstate_DvhTable_Eclipse.csv │ ├── EclipseProstate_DvhTable_SlicerRT.csv │ ├── EclipseProstate_Expanded_5_5_5_Bladder.seg.nrrd │ ├── EclipseProstate_Expanded_5_5_5_Rectum.seg.nrrd │ ├── EclipseProstate_Isodose_Baseline.vtk │ ├── EclipseProstate_PTV.seg.vtm │ ├── EclipseProstate_Rectum.seg.vtm │ ├── EclipseProstate_Shrunk_5_5_5_Bladder.seg.nrrd │ ├── EclipseProstate_Structures.seg.vtm │ ├── EclipseProstate_Structures.seg │ │ ├── EclipseProstate_Structures.seg_0.vtp │ │ ├── EclipseProstate_Structures.seg_1.vtp │ │ ├── EclipseProstate_Structures.seg_2.vtp │ │ ├── EclipseProstate_Structures.seg_3.vtp │ │ ├── EclipseProstate_Structures.seg_4.vtp │ │ └── EclipseProstate_Structures.seg_5.vtp │ ├── EclipseProstate_Structures_ColorTable.ctbl │ ├── GammaVolume_EclipseEnt_Day1Day2_Baseline.nrrd │ ├── PolyDataDistancesHistogramGroundTruth.csv │ ├── PolyDataDistancesRawGroundTruth.tgz │ ├── PolyDataDistancesRawGroundTruthWindows.tgz │ ├── Scenes │ │ ├── EclipseEnt_DoseComparison_Scene.mrml │ │ ├── EclipseEnt_Dvh_Scene.mrml │ │ ├── EclipseProstate_DoseAccumulation_Scene.mrml │ │ ├── EclipseProstate_Dvh_Scene.mrml │ │ ├── EclipseProstate_Isodose_Scene.mrml │ │ └── TinyPatient_ExternalBeamPlanning_Scene.mrml │ ├── TestDvhMetrics_EclipseEnt_DoseSurfaceHistogram_Inside_SlicerRT.csv │ ├── TestDvhTable_EclipseEnt_DoseSurfaceHistogram_Inside_SlicerRT.csv │ ├── TinyPatientCT.nrrd │ ├── TinyPatientDose.nrrd │ ├── TinyPatientStructureSet.seg.vtm │ └── TinyPatientStructureSet.seg │ │ ├── TinyPatientStructureSet.seg_0.vtp │ │ └── TinyPatientStructureSet.seg_1.vtp └── Python │ ├── CMakeLists.txt │ └── IGRTWorkflow_SelfTest.py ├── VffFileReader ├── CMakeLists.txt ├── Logic │ ├── CMakeLists.txt │ ├── vtkSlicerVffFileReaderLogic.cxx │ └── vtkSlicerVffFileReaderLogic.h ├── Resources │ └── UI │ │ ├── qSlicerVffFileReaderOptionsWidget.ui │ │ └── qSlicerVffFileReaderPluginWidget.ui ├── qSlicerVffFileReaderModule.cxx ├── qSlicerVffFileReaderModule.h ├── qSlicerVffFileReaderOptionsWidget.cxx ├── qSlicerVffFileReaderOptionsWidget.h ├── qSlicerVffFileReaderPlugin.cxx ├── qSlicerVffFileReaderPlugin.h ├── qSlicerVffFileReaderPluginWidget.cxx └── qSlicerVffFileReaderPluginWidget.h └── readme.txt /BatchProcessing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(EXTENSION_TEST_PYTHON_SCRIPTS 3 | BatchStructureSetConversion.py 4 | ) 5 | 6 | set(EXTENSION_TEST_PYTHON_RESOURCES 7 | ) 8 | 9 | ctkMacroCompilePythonScript( 10 | TARGET_NAME BatchStructureSetConversion 11 | SCRIPTS "${EXTENSION_TEST_PYTHON_SCRIPTS}" 12 | RESOURCES "${EXTENSION_TEST_PYTHON_RESOURCES}" 13 | DESTINATION_DIR ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 14 | INSTALL_DIR ${Slicer_INSTALL_QTSCRIPTEDMODULES_LIB_DIR} 15 | NO_INSTALL_SUBDIR 16 | ) 17 | 18 | #----------------------------------------------------------------------------- 19 | if(CMAKE_CONFIGURATION_TYPES) 20 | set(MODULE_BUILD_DIR) 21 | foreach(config ${CMAKE_CONFIGURATION_TYPES}) 22 | list(APPEND MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}/${config}") 23 | endforeach() 24 | else() 25 | set(MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}") 26 | endif() 27 | 28 | slicer_add_python_unittest( 29 | SCRIPT BatchStructureSetConversion.py 30 | SLICER_ARGS --no-main-window 31 | --additional-module-paths 32 | ${MODULE_BUILD_DIR} 33 | ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 34 | ) 35 | -------------------------------------------------------------------------------- /BatchProcessing/_readme.txt: -------------------------------------------------------------------------------- 1 | BatchStructureSetConversion 2 | Purpose: 3 | Convert all DICOM RTSS structures to labelmap and save them to disk 4 | Usage: 5 | [path/]Slicer.exe --no-main-window --python-script [path/]BatchStructureSetConversion.py --input-folder input/folder/path --output-folder output/folder/path 6 | (Optionally use -i and -o instead of the long argument names) 7 | Additional arguments: 8 | --ref-dicom-folder (-r): Folder containing reference anatomy DICOM image series, if stored outside the input study 9 | --use-ref-image (-u): Use anatomy image as reference when converting structure set to labelmap 10 | --exist-db (-x): Process an existing database instead of importing data in a new one (in this case --input-folder is a database and not a folder containing DICOM data) 11 | --export-images (-m): Export all image data alongside the labelmaps to NRRD 12 | --export-surfaces (-s): Export surface mesh representation of segments 13 | --show-python-console (-c): display an interactive Python console for troubleshooting, it displays all messages and prevents the application from exiting when the processing is completed. 14 | 15 | Notes: 16 | * The CT (or other anatomical) volume of the study needs to be present in the input folder so that the converter can use it as a reference, unless --ref-dicom-folder is specified 17 | * Windows users need to be careful to use slash characters in the path of the python script. It may be needed to replace '\' in the command window auto-completed path names with '/' for the paths arguments of the script, because the Slicer launcher can only interpret this path format. 18 | * On Windows, output messages are not visible in the console, specify -c option to show a console window where the messages are displayed. 19 | -------------------------------------------------------------------------------- /Beams/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | find_package(vtkIECTransformLogic REQUIRED) 4 | 5 | set(KIT ${PROJECT_NAME}) 6 | 7 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 8 | 9 | set(${KIT}_INCLUDE_DIRECTORIES 10 | ${SlicerRtCommon_INCLUDE_DIRS} 11 | ${vtkSlicerBeamsModuleMRML_INCLUDE_DIRS} 12 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 13 | ${vtkIECTransformLogic_INCLUDE_DIRS} 14 | ) 15 | 16 | set(${KIT}_SRCS 17 | vtkSlicer${MODULE_NAME}ModuleLogic.cxx 18 | vtkSlicer${MODULE_NAME}ModuleLogic.h 19 | vtkSlicerMLCPositionLogic.cxx 20 | vtkSlicerMLCPositionLogic.h 21 | ) 22 | 23 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${vtkSlicerBeamsModuleMRML_INCLUDE_DIRS} ${vtkIECTransformLogic_INCLUDE_DIRS} CACHE INTERNAL "" FORCE) 24 | 25 | set(${KIT}_TARGET_LIBRARIES 26 | vtkSlicer${MODULE_NAME}ModuleMRML 27 | vtkSlicerRtCommon 28 | vtkSlicerMarkupsModuleMRML 29 | vtkSlicerSubjectHierarchyModuleLogic 30 | ${ITK_LIBRARIES} 31 | ${VTK_LIBRARIES} 32 | vtkIECTransformLogic 33 | ) 34 | 35 | #----------------------------------------------------------------------------- 36 | SlicerMacroBuildModuleLogic( 37 | NAME ${KIT} 38 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 39 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 40 | SRCS ${${KIT}_SRCS} 41 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 42 | ) 43 | 44 | -------------------------------------------------------------------------------- /Beams/MRML/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleMRML) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_MODULE_MRML_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${Slicer_Base_INCLUDE_DIRS} 10 | ${MRMLCore_INCLUDE_DIRS} 11 | ${vtkSlicerSegmentationsModuleLogic_INCLUDE_DIRS} 12 | ) 13 | 14 | # -------------------------------------------------------------------------- 15 | # Sources 16 | 17 | set(${KIT}_SRCS 18 | vtkMRMLRTPlanNode.cxx 19 | vtkMRMLRTPlanNode.h 20 | vtkMRMLRTBeamNode.cxx 21 | vtkMRMLRTBeamNode.h 22 | vtkMRMLRTIonBeamNode.cxx 23 | vtkMRMLRTIonBeamNode.h 24 | ) 25 | 26 | SET (${KIT}_INCLUDE_DIRS 27 | ${CMAKE_CURRENT_SOURCE_DIR} 28 | ${CMAKE_CURRENT_BINARY_DIR} 29 | ${vtkSlicerSegmentationsModuleLogic_INCLUDE_DIRS} 30 | ${Slicer_Base_INCLUDE_DIRS} 31 | ${MRMLCore_INCLUDE_DIRS} 32 | CACHE INTERNAL "" FORCE) 33 | 34 | # -------------------------------------------------------------------------- 35 | # Build the library 36 | 37 | set(${KIT}_TARGET_LIBRARIES 38 | vtkSlicerRtCommon 39 | vtkSegmentationCore 40 | vtkSlicerSegmentationsModuleMRML 41 | vtkSlicerSegmentationsModuleLogic 42 | MRMLCore 43 | vtkSlicerMarkupsModuleMRML 44 | ) 45 | 46 | SlicerMacroBuildModuleMRML( 47 | NAME ${KIT} 48 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 49 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 50 | SRCS ${${KIT}_SRCS} 51 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 52 | ) 53 | 54 | # Set linker flags, needed for OpenMP 55 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 56 | set_target_properties (${KIT} 57 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 58 | endif () 59 | -------------------------------------------------------------------------------- /Beams/Resources/Icons/Beams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Beams/Resources/Icons/Beams.png -------------------------------------------------------------------------------- /Beams/Resources/qSlicerBeamsModule.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/Beams.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /Beams/SubjectHierarchyPlugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(qSlicer${MODULE_NAME}SubjectHierarchyPlugins) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "Q_SLICER_${MODULE_NAME_UPPER}_SUBJECT_HIERARCHY_PLUGINS_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${vtkSlicerBeamsModuleMRML_INCLUDE_DIRS} 10 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 11 | ${qSlicerSubjectHierarchyModuleWidgets_INCLUDE_DIRS} 12 | ${Slicer_Libs_INCLUDE_DIRS} 13 | ${Slicer_Base_INCLUDE_DIRS} 14 | ${MRMLCore_INCLUDE_DIRS} 15 | ${MRMLLogic_INCLUDE_DIRS} 16 | ${qMRMLWidgets_INCLUDE_DIRS} 17 | ${MRMLCLI_INCLUDE_DIRS} 18 | ) 19 | 20 | set(${KIT}_SRCS 21 | qSlicerSubjectHierarchyRTPlanPlugin.cxx 22 | qSlicerSubjectHierarchyRTPlanPlugin.h 23 | qSlicerSubjectHierarchyRTBeamPlugin.cxx 24 | qSlicerSubjectHierarchyRTBeamPlugin.h 25 | ) 26 | 27 | set(${KIT}_MOC_SRCS 28 | qSlicerSubjectHierarchyRTPlanPlugin.h 29 | qSlicerSubjectHierarchyRTBeamPlugin.h 30 | ) 31 | 32 | set(${KIT}_UI_SRCS 33 | ) 34 | 35 | set(${KIT}_RESOURCES 36 | Resources/${KIT}.qrc 37 | ) 38 | 39 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "" FORCE) 40 | 41 | #----------------------------------------------------------------------------- 42 | set(${KIT}_TARGET_LIBRARIES 43 | vtkSlicerSubjectHierarchyModuleLogic 44 | qSlicerSubjectHierarchyModuleWidgets 45 | vtkSlicerBeamsModuleMRML 46 | MRMLCore 47 | MRMLLogic 48 | MRMLCLI 49 | qMRMLWidgets 50 | qSlicerBaseQTGUI 51 | ${QT_LIBRARIES} 52 | ) 53 | 54 | #----------------------------------------------------------------------------- 55 | SlicerMacroBuildModuleQtLibrary( 56 | NAME ${KIT} 57 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 58 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 59 | SRCS ${${KIT}_SRCS} 60 | MOC_SRCS ${${KIT}_MOC_SRCS} 61 | UI_SRCS ${${KIT}_UI_SRCS} 62 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 63 | RESOURCES ${${KIT}_RESOURCES} 64 | WRAP_PYTHONQT 65 | ) 66 | -------------------------------------------------------------------------------- /Beams/SubjectHierarchyPlugins/Resources/Icons/Beam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Beams/SubjectHierarchyPlugins/Resources/Icons/Beam.png -------------------------------------------------------------------------------- /Beams/SubjectHierarchyPlugins/Resources/Icons/Isocenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Beams/SubjectHierarchyPlugins/Resources/Icons/Isocenter.png -------------------------------------------------------------------------------- /Beams/SubjectHierarchyPlugins/Resources/Icons/Plan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Beams/SubjectHierarchyPlugins/Resources/Icons/Plan.png -------------------------------------------------------------------------------- /Beams/SubjectHierarchyPlugins/Resources/Icons/VisibleOff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Beams/SubjectHierarchyPlugins/Resources/Icons/VisibleOff.png -------------------------------------------------------------------------------- /Beams/SubjectHierarchyPlugins/Resources/Icons/VisibleOn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Beams/SubjectHierarchyPlugins/Resources/Icons/VisibleOn.png -------------------------------------------------------------------------------- /Beams/SubjectHierarchyPlugins/Resources/qSlicerBeamsSubjectHierarchyPlugins.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/Beam.png 4 | Icons/Isocenter.png 5 | Icons/Plan.png 6 | Icons/VisibleOff.png 7 | Icons/VisibleOn.png 8 | 9 | 10 | -------------------------------------------------------------------------------- /Beams/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Cxx) 2 | -------------------------------------------------------------------------------- /Beams/Testing/Cxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KIT qSlicer${MODULE_NAME}Module) 2 | 3 | set(KIT_TEST_SRCS 4 | vtkSlicerBeamsModuleLogicTest1.cxx 5 | ) 6 | 7 | include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) 8 | 9 | #----------------------------------------------------------------------------- 10 | slicerMacroConfigureModuleCxxTestDriver( 11 | NAME ${KIT} 12 | SOURCES ${KIT_TEST_SRCS} 13 | WITH_VTK_DEBUG_LEAKS_CHECK 14 | WITH_VTK_ERROR_OUTPUT_CHECK 15 | ) 16 | 17 | simple_test(vtkSlicerBeamsModuleLogicTest1) -------------------------------------------------------------------------------- /Beams/Widgets/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(qSlicer${MODULE_NAME}ModuleWidgets) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "Q_SLICER_MODULE_${MODULE_NAME_UPPER}_WIDGETS_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${vtkSlicerBeamsModuleLogic_INCLUDE_DIRS} 9 | ) 10 | 11 | set(${KIT}_SRCS 12 | qMRMLBeamParametersTabWidget.cxx 13 | qMRMLBeamParametersTabWidget.h 14 | qMRMLBeamsTableView.cxx 15 | qMRMLBeamsTableView.h 16 | ) 17 | 18 | set(${KIT}_MOC_SRCS 19 | qMRMLBeamParametersTabWidget.h 20 | qMRMLBeamsTableView.h 21 | ) 22 | 23 | set(${KIT}_UI_SRCS 24 | Resources/UI/qMRMLBeamParametersTabWidget.ui 25 | Resources/UI/qMRMLBeamsTableView.ui 26 | ) 27 | 28 | set(${KIT}_RESOURCES 29 | #Resources/${KIT}.qrc 30 | ) 31 | 32 | set(${KIT}_TARGET_LIBRARIES 33 | vtkSlicerBeamsModuleMRML 34 | vtkSlicerBeamsModuleLogic 35 | ) 36 | 37 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${vtkSlicerBeamsModuleLogic_INCLUDE_DIRS} CACHE INTERNAL "" FORCE) 38 | 39 | #----------------------------------------------------------------------------- 40 | SlicerMacroBuildModuleWidgets( 41 | NAME ${KIT} 42 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 43 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 44 | SRCS ${${KIT}_SRCS} 45 | MOC_SRCS ${${KIT}_MOC_SRCS} 46 | UI_SRCS ${${KIT}_UI_SRCS} 47 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 48 | RESOURCES ${${KIT}_RESOURCES} 49 | WRAP_PYTHONQT 50 | ) 51 | 52 | #----------------------------------------------------------------------------- 53 | if(BUILD_TESTING) 54 | #add_subdirectory(Testing) 55 | endif() 56 | 57 | #----------------------------------------------------------------------------- 58 | add_subdirectory(DesignerPlugins) 59 | -------------------------------------------------------------------------------- /Beams/Widgets/DesignerPlugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KIT ${PROJECT_NAME}Plugins) 2 | 3 | set(${KIT}_EXPORT "Q_SLICER_MODULE_${MODULE_NAME_UPPER}_WIDGETS_PLUGINS_EXPORT") 4 | 5 | set(${KIT}_SRCS 6 | qSlicerBeamsModuleWidgetsAbstractPlugin.cxx 7 | qSlicerBeamsModuleWidgetsAbstractPlugin.h 8 | qSlicerBeamsModuleWidgetsPlugin.cxx 9 | qSlicerBeamsModuleWidgetsPlugin.h 10 | qMRMLBeamParametersTabWidgetPlugin.cxx 11 | qMRMLBeamParametersTabWidgetPlugin.h 12 | qMRMLBeamsTableViewPlugin.cxx 13 | qMRMLBeamsTableViewPlugin.h 14 | ) 15 | 16 | set(${KIT}_MOC_SRCS 17 | qSlicerBeamsModuleWidgetsPlugin.h 18 | qMRMLBeamParametersTabWidgetPlugin.h 19 | qMRMLBeamsTableViewPlugin.h 20 | ) 21 | 22 | set(${KIT}_TARGET_LIBRARIES 23 | qSlicerBeamsModuleWidgets 24 | ) 25 | 26 | #----------------------------------------------------------------------------- 27 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${Slicer_DIR}/bin) 28 | 29 | ctkMacroBuildQtDesignerPlugin( 30 | NAME ${KIT} 31 | EXPORT_DIRECTIVE ${${KIT}_EXPORT} 32 | SRCS ${${KIT}_SRCS} 33 | MOC_SRCS ${${KIT}_MOC_SRCS} 34 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 35 | ) 36 | -------------------------------------------------------------------------------- /Beams/Widgets/DesignerPlugins/qMRMLBeamParametersTabWidgetPlugin.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Csaba Pinter, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | 19 | ==============================================================================*/ 20 | 21 | #ifndef __qMRMLBeamParametersTabWidgetPlugin_h 22 | #define __qMRMLBeamParametersTabWidgetPlugin_h 23 | 24 | #include "qSlicerBeamsModuleWidgetsAbstractPlugin.h" 25 | 26 | class Q_SLICER_MODULE_BEAMS_WIDGETS_PLUGINS_EXPORT qMRMLBeamParametersTabWidgetPlugin 27 | : public QObject 28 | , public qSlicerBeamsModuleWidgetsAbstractPlugin 29 | { 30 | Q_OBJECT 31 | 32 | public: 33 | qMRMLBeamParametersTabWidgetPlugin(QObject* parent = nullptr); 34 | 35 | QWidget *createWidget(QWidget* parent); 36 | QString domXml() const; 37 | QString includeFile() const; 38 | bool isContainer() const; 39 | QString name() const; 40 | }; 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /Beams/Widgets/DesignerPlugins/qMRMLBeamsTableViewPlugin.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Csaba Pinter, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | 19 | ==============================================================================*/ 20 | 21 | #ifndef __qMRMLBeamsTableViewPlugin_h 22 | #define __qMRMLBeamsTableViewPlugin_h 23 | 24 | #include "qSlicerBeamsModuleWidgetsAbstractPlugin.h" 25 | 26 | class Q_SLICER_MODULE_BEAMS_WIDGETS_PLUGINS_EXPORT qMRMLBeamsTableViewPlugin 27 | : public QObject 28 | , public qSlicerBeamsModuleWidgetsAbstractPlugin 29 | { 30 | Q_OBJECT 31 | 32 | public: 33 | qMRMLBeamsTableViewPlugin(QObject* parent = nullptr); 34 | 35 | QWidget *createWidget(QWidget* parent); 36 | QString domXml() const; 37 | QString includeFile() const; 38 | bool isContainer() const; 39 | QString name() const; 40 | }; 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /Beams/Widgets/DesignerPlugins/qSlicerBeamsModuleWidgetsAbstractPlugin.cxx: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Csaba Pinter, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | 19 | ==============================================================================*/ 20 | 21 | #include "qSlicerBeamsModuleWidgetsAbstractPlugin.h" 22 | 23 | //----------------------------------------------------------------------------- 24 | qSlicerBeamsModuleWidgetsAbstractPlugin::qSlicerBeamsModuleWidgetsAbstractPlugin() = default; 25 | 26 | //----------------------------------------------------------------------------- 27 | QString qSlicerBeamsModuleWidgetsAbstractPlugin::group() const 28 | { 29 | return "Slicer [Beams Widgets]"; 30 | } 31 | 32 | //----------------------------------------------------------------------------- 33 | QIcon qSlicerBeamsModuleWidgetsAbstractPlugin::icon() const 34 | { 35 | return QIcon(); 36 | } 37 | 38 | //----------------------------------------------------------------------------- 39 | QString qSlicerBeamsModuleWidgetsAbstractPlugin::toolTip() const 40 | { 41 | return QString(); 42 | } 43 | 44 | //----------------------------------------------------------------------------- 45 | QString qSlicerBeamsModuleWidgetsAbstractPlugin::whatsThis() const 46 | { 47 | return QString(); 48 | } 49 | -------------------------------------------------------------------------------- /Beams/Widgets/DesignerPlugins/qSlicerBeamsModuleWidgetsAbstractPlugin.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Csaba Pinter, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | 19 | ==============================================================================*/\ 20 | 21 | #ifndef __qSlicerBeamsModuleWidgetsAbstractPlugin_h 22 | #define __qSlicerBeamsModuleWidgetsAbstractPlugin_h 23 | 24 | #include 25 | #if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0)) 26 | #include 27 | #else 28 | #include 29 | #endif 30 | 31 | #include "qSlicerBeamsModuleWidgetsPluginsExport.h" 32 | 33 | class Q_SLICER_MODULE_BEAMS_WIDGETS_PLUGINS_EXPORT qSlicerBeamsModuleWidgetsAbstractPlugin 34 | : public QDesignerCustomWidgetInterface 35 | { 36 | #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 37 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDesignerCustomWidgetInterface") 38 | #endif 39 | Q_INTERFACES(QDesignerCustomWidgetInterface); 40 | 41 | public: 42 | 43 | qSlicerBeamsModuleWidgetsAbstractPlugin(); 44 | // Don't reimplement this method. 45 | QString group() const; 46 | // You can reimplement these methods 47 | QIcon icon() const override; 48 | QString toolTip() const override; 49 | QString whatsThis() const override; 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /Beams/Widgets/DesignerPlugins/qSlicerBeamsModuleWidgetsPlugin.cxx: -------------------------------------------------------------------------------- 1 | #include "qSlicerBeamsModuleWidgetsPlugin.h" 2 | 3 | #if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0)) 4 | #include 5 | Q_EXPORT_PLUGIN2(customwidgetplugin, qSlicerBeamsModuleWidgetsPlugin); 6 | #endif 7 | -------------------------------------------------------------------------------- /Beams/Widgets/DesignerPlugins/qSlicerBeamsModuleWidgetsPlugin.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Csaba Pinter, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | 19 | ==============================================================================*/ 20 | 21 | #ifndef __qSlicerBeamsModuleWidgetsPlugin_h 22 | #define __qSlicerBeamsModuleWidgetsPlugin_h 23 | 24 | #include "vtkSlicerConfigure.h" // For Slicer_HAVE_QT5 25 | 26 | // Qt includes 27 | #ifdef Slicer_HAVE_QT5 28 | #include 29 | #else 30 | #include 31 | #endif 32 | 33 | // Beams includes 34 | #include "qMRMLBeamParametersTabWidgetPlugin.h" 35 | #include "qMRMLBeamsTableViewPlugin.h" 36 | 37 | // \class Group the plugins in one library 38 | class Q_SLICER_MODULE_BEAMS_WIDGETS_PLUGINS_EXPORT qSlicerBeamsModuleWidgetsPlugin 39 | : public QObject 40 | , public QDesignerCustomWidgetCollectionInterface 41 | { 42 | Q_OBJECT 43 | #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 44 | Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDesignerCustomWidgetInterface") 45 | #endif 46 | Q_INTERFACES(QDesignerCustomWidgetCollectionInterface); 47 | 48 | public: 49 | QList customWidgets() const 50 | { 51 | QList plugins; 52 | plugins << new qMRMLBeamsTableViewPlugin << new qMRMLBeamParametersTabWidgetPlugin; 53 | return plugins; 54 | } 55 | }; 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /CTestConfig.cmake: -------------------------------------------------------------------------------- 1 | set(CTEST_PROJECT_NAME "SlicerRT") 2 | set(CTEST_NIGHTLY_START_TIME "3:00:00 UTC") 3 | 4 | set(CTEST_DROP_METHOD "http") 5 | set(CTEST_DROP_SITE "slicer.cdash.org") 6 | set(CTEST_DROP_LOCATION "/submit.php?project=Slicer4") 7 | set(CTEST_DROP_SITE_CDASH TRUE) 8 | -------------------------------------------------------------------------------- /DicomRtImportExport/ConversionRules/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ConversionRules) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_CONVERSIONRULES_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${vtkSegmentationCore_INCLUDE_DIRS} 10 | ) 11 | 12 | set(${KIT}_SRCS 13 | vtkPlanarContourToClosedSurfaceConversionRule.cxx 14 | vtkPlanarContourToClosedSurfaceConversionRule.h 15 | vtkPlanarContourToRibbonModelConversionRule.cxx 16 | vtkPlanarContourToRibbonModelConversionRule.h 17 | vtkRibbonModelToBinaryLabelmapConversionRule.cxx 18 | vtkRibbonModelToBinaryLabelmapConversionRule.h 19 | ) 20 | 21 | set(${KIT}_TARGET_LIBRARIES 22 | vtkSlicerRtCommon 23 | vtkSegmentationCore 24 | vtkSlicerSegmentationsModuleMRMLDisplayableManager 25 | ) 26 | 27 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${SlicerRtCommon_INCLUDE_DIRS} CACHE INTERNAL "" FORCE) 28 | 29 | #----------------------------------------------------------------------------- 30 | SlicerMacroBuildModuleLogic( 31 | NAME ${KIT} 32 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 33 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 34 | SRCS ${${KIT}_SRCS} 35 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 36 | ) -------------------------------------------------------------------------------- /DicomRtImportExport/ConversionRules/vtkRibbonModelToBinaryLabelmapConversionRule.cxx: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Csaba Pinter, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | 19 | ==============================================================================*/ 20 | 21 | // DicomRtImportExport includes 22 | #include "vtkRibbonModelToBinaryLabelmapConversionRule.h" 23 | 24 | // VTK includes 25 | #include 26 | 27 | //---------------------------------------------------------------------------- 28 | vtkSegmentationConverterRuleNewMacro(vtkRibbonModelToBinaryLabelmapConversionRule); 29 | 30 | //---------------------------------------------------------------------------- 31 | vtkRibbonModelToBinaryLabelmapConversionRule::vtkRibbonModelToBinaryLabelmapConversionRule() = default; 32 | 33 | //---------------------------------------------------------------------------- 34 | vtkRibbonModelToBinaryLabelmapConversionRule::~vtkRibbonModelToBinaryLabelmapConversionRule() = default; 35 | -------------------------------------------------------------------------------- /DicomRtImportExport/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 10 | ${vtkSlicerSegmentationsModuleMRML_INCLUDE_DIRS} 11 | ${vtkSlicerSegmentationsModuleLogic_INCLUDE_DIRS} 12 | ${vtkSlicerSequencesModuleMRML_INCLUDE_DIRS} 13 | ${vtkSlicerSequencesModuleLogic_INCLUDE_DIRS} 14 | ${vtkSlicerDICOMLibModuleLogic_INCLUDE_DIRS} 15 | ${vtkSlicerBeamsModuleLogic_INCLUDE_DIRS} 16 | ${PlmCommon_INCLUDE_DIRS} 17 | ${PLASTIMATCH_INCLUDE_DIRS} 18 | ) 19 | 20 | set(${KIT}_SRCS 21 | vtkSlicerDicomRtImportExportModuleLogic.cxx 22 | vtkSlicerDicomRtImportExportModuleLogic.h 23 | vtkSlicerDicomRtReader.cxx 24 | vtkSlicerDicomRtReader.h 25 | vtkSlicerDicomRtWriter.cxx 26 | vtkSlicerDicomRtWriter.h 27 | ) 28 | 29 | set(${KIT}_TARGET_LIBRARIES 30 | vtkSlicerRtCommon 31 | vtkSlicer${MODULE_NAME}ConversionRules 32 | vtkSlicerSubjectHierarchyModuleLogic 33 | vtkSlicerSegmentationsModuleMRML 34 | vtkSlicerSegmentationsModuleLogic 35 | vtkSlicerSequencesModuleMRML 36 | vtkSlicerSequencesModuleLogic 37 | vtkSlicerIsodoseModuleLogic 38 | ${ITK_LIBRARIES} 39 | ${VTK_LIBRARIES} 40 | vtkSlicerVolumesModuleLogic 41 | vtkSlicerBeamsModuleLogic 42 | vtkSlicerPlanarImageModuleLogic 43 | vtkSlicerMarkupsModuleMRML 44 | vtkSlicerDICOMLibModuleLogic 45 | vtkPlmCommon 46 | ${PLASTIMATCH_LIBRARIES} 47 | ) 48 | 49 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${vtkSlicerDicomRtImportExportConversionRules_INCLUDE_DIRS} CACHE INTERNAL "" FORCE) 50 | 51 | #----------------------------------------------------------------------------- 52 | SlicerMacroBuildModuleLogic( 53 | NAME ${KIT} 54 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 55 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 56 | SRCS ${${KIT}_SRCS} 57 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 58 | ) 59 | 60 | # Set linker flags, needed for OpenMP 61 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 62 | set_target_properties (${KIT} 63 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 64 | endif () 65 | -------------------------------------------------------------------------------- /DicomRtImportExport/Resources/UI/qSlicerDicomRtImportExportModule.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerDicomRtImportExportModule 4 | 5 | 6 | 7 | 0 8 | 0 9 | 525 10 | 319 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | qSlicerWidget 20 | QWidget 21 |
qSlicerWidget.h
22 | 1 23 |
24 |
25 | 26 | 27 |
28 | -------------------------------------------------------------------------------- /DicomRtImportExport/SubjectHierarchyPlugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(qSlicer${MODULE_NAME}SubjectHierarchyPlugins) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "Q_SLICER_${MODULE_NAME_UPPER}_SUBJECT_HIERARCHY_PLUGINS_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${vtkSlicerPlanarImageModuleLogic_INCLUDE_DIRS} 10 | ${vtkSlicerBeamsModuleMRML_INCLUDE_DIRS} 11 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 12 | ${qSlicerSubjectHierarchyModuleWidgets_INCLUDE_DIRS} 13 | ${MRMLCore_INCLUDE_DIRS} 14 | ${MRMLLogic_INCLUDE_DIRS} 15 | ${qMRMLWidgets_INCLUDE_DIRS} 16 | ${MRMLCLI_INCLUDE_DIRS} 17 | ) 18 | 19 | set(${KIT}_SRCS 20 | qSlicerSubjectHierarchyRtImagePlugin.cxx 21 | qSlicerSubjectHierarchyRtImagePlugin.h 22 | qSlicerSubjectHierarchyRtDoseVolumePlugin.cxx 23 | qSlicerSubjectHierarchyRtDoseVolumePlugin.h 24 | ) 25 | 26 | set(${KIT}_MOC_SRCS 27 | qSlicerSubjectHierarchyRtImagePlugin.h 28 | qSlicerSubjectHierarchyRtDoseVolumePlugin.h 29 | ) 30 | 31 | 32 | set(${KIT}_UI_SRCS 33 | ) 34 | 35 | set(${KIT}_RESOURCES 36 | Resources/${KIT}.qrc 37 | ) 38 | 39 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "" FORCE) 40 | 41 | #----------------------------------------------------------------------------- 42 | set(${KIT}_TARGET_LIBRARIES 43 | vtkSlicerRtCommon 44 | vtkSlicerPlanarImageModuleLogic 45 | vtkSlicerBeamsModuleMRML 46 | vtkSlicerSubjectHierarchyModuleLogic 47 | qSlicerSubjectHierarchyModuleWidgets 48 | MRMLCore 49 | MRMLLogic 50 | MRMLCLI 51 | qMRMLWidgets 52 | ${QT_LIBRARIES} 53 | ) 54 | 55 | #----------------------------------------------------------------------------- 56 | SlicerMacroBuildModuleQtLibrary( 57 | NAME ${KIT} 58 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 59 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 60 | SRCS ${${KIT}_SRCS} 61 | MOC_SRCS ${${KIT}_MOC_SRCS} 62 | UI_SRCS ${${KIT}_UI_SRCS} 63 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 64 | RESOURCES ${${KIT}_RESOURCES} 65 | WRAP_PYTHONQT 66 | ) 67 | -------------------------------------------------------------------------------- /DicomRtImportExport/SubjectHierarchyPlugins/Resources/Icons/DoseVolume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DicomRtImportExport/SubjectHierarchyPlugins/Resources/Icons/DoseVolume.png -------------------------------------------------------------------------------- /DicomRtImportExport/SubjectHierarchyPlugins/Resources/Icons/PlanarImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DicomRtImportExport/SubjectHierarchyPlugins/Resources/Icons/PlanarImage.png -------------------------------------------------------------------------------- /DicomRtImportExport/SubjectHierarchyPlugins/Resources/Icons/VisibleOff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DicomRtImportExport/SubjectHierarchyPlugins/Resources/Icons/VisibleOff.png -------------------------------------------------------------------------------- /DicomRtImportExport/SubjectHierarchyPlugins/Resources/Icons/VisibleOn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DicomRtImportExport/SubjectHierarchyPlugins/Resources/Icons/VisibleOn.png -------------------------------------------------------------------------------- /DicomRtImportExport/SubjectHierarchyPlugins/Resources/qSlicerDicomRtImportExportSubjectHierarchyPlugins.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/DoseVolume.png 4 | Icons/PlanarImage.png 5 | Icons/VisibleOff.png 6 | Icons/VisibleOn.png 7 | 8 | 9 | -------------------------------------------------------------------------------- /DicomRtImportExport/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(Slicer_USE_PYTHONQT) 2 | add_subdirectory(Python) 3 | endif() 4 | -------------------------------------------------------------------------------- /DicomRtImportExport/Testing/Python/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_TEST_PYTHON_SCRIPTS 3 | DicomRtImportTest.py 4 | ) 5 | 6 | set(MODULE_TEST_PYTHON_RESOURCES 7 | ) 8 | 9 | #----------------------------------------------------------------------------- 10 | set(KIT_UNITTEST_SCRIPTS) 11 | SlicerMacroConfigureGenericPythonModuleTests("${MODULE_NAME}" KIT_UNITTEST_SCRIPTS) 12 | 13 | #----------------------------------------------------------------------------- 14 | # Make sure the generic tests have access to the other modules 15 | if(CMAKE_CONFIGURATION_TYPES) 16 | set(MODULE_BUILD_DIR "") 17 | foreach(config ${CMAKE_CONFIGURATION_TYPES}) 18 | list(APPEND MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}/${config}") 19 | endforeach() 20 | else() 21 | set(MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}") 22 | endif() 23 | 24 | foreach(script_name ${KIT_UNITTEST_SCRIPTS}) 25 | slicer_add_python_unittest( 26 | SCRIPT ${script_name} 27 | SLICER_ARGS --no-main-window 28 | --disable-cli-modules 29 | --additional-module-paths 30 | ${MODULE_BUILD_DIR} 31 | ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 32 | TESTNAME_PREFIX nomainwindow_ 33 | ) 34 | endforeach() 35 | 36 | slicer_add_python_unittest( 37 | SCRIPT DicomRtImportTest.py 38 | SLICER_ARGS --disable-cli-modules 39 | --no-main-window 40 | --additional-module-paths 41 | ${MODULE_BUILD_DIR} 42 | ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 43 | # TESTNAME_PREFIX nomainwindow_ 44 | ) 45 | -------------------------------------------------------------------------------- /DicomRtImportExport/qSlicerDicomRtImportExportModuleWidget.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Radiation Medicine Program, University Health Network, 4 | Princess Margaret Hospital, Toronto, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Kevin Wang, Radiation Medicine Program, 16 | University Health Network and was supported by Cancer Care Ontario (CCO)'s ACRU program 17 | with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | and Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO). 19 | 20 | ==============================================================================*/ 21 | 22 | #ifndef __qSlicerDicomRtImportExportModuleWidget_h 23 | #define __qSlicerDicomRtImportExportModuleWidget_h 24 | 25 | // SlicerQt includes 26 | #include "qSlicerAbstractModuleWidget.h" 27 | 28 | #include "qSlicerDicomRtImportExportModuleExport.h" 29 | 30 | class qSlicerDicomRtImportExportModuleWidgetPrivate; 31 | class vtkMRMLNode; 32 | 33 | /// \ingroup SlicerRt_QtModules_DicomRtImport 34 | class Q_SLICER_QTMODULES_DICOMRTIMPORTEXPORT_EXPORT qSlicerDicomRtImportExportModuleWidget : 35 | public qSlicerAbstractModuleWidget 36 | { 37 | Q_OBJECT 38 | 39 | public: 40 | 41 | typedef qSlicerAbstractModuleWidget Superclass; 42 | qSlicerDicomRtImportExportModuleWidget(QWidget *parent=nullptr); 43 | ~qSlicerDicomRtImportExportModuleWidget() override; 44 | 45 | protected: 46 | QScopedPointer d_ptr; 47 | 48 | void setup() override; 49 | 50 | private: 51 | Q_DECLARE_PRIVATE(qSlicerDicomRtImportExportModuleWidget); 52 | Q_DISABLE_COPY(qSlicerDicomRtImportExportModuleWidget); 53 | }; 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /DicomSroImportExport/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_MODULE_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${vtkSlicerDicomRtImportExportModuleLogic_INCLUDE_DIRS} 10 | ) 11 | 12 | set(${KIT}_SRCS 13 | vtkSlicer${MODULE_NAME}ModuleLogic.cxx 14 | vtkSlicer${MODULE_NAME}ModuleLogic.h 15 | vtkSlicerDicomSroReader.cxx 16 | vtkSlicerDicomSroReader.h 17 | ) 18 | 19 | set(${KIT}_TARGET_LIBRARIES 20 | ${VTK_LIBRARIES} 21 | vtkSlicerRtCommon 22 | vtkSlicerDicomRtImportExportModuleLogic 23 | ) 24 | 25 | #----------------------------------------------------------------------------- 26 | SlicerMacroBuildModuleLogic( 27 | NAME ${KIT} 28 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 29 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 30 | SRCS ${${KIT}_SRCS} 31 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 32 | ) 33 | -------------------------------------------------------------------------------- /DicomSroImportExport/Resources/Icons/DicomSroImportExport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DicomSroImportExport/Resources/Icons/DicomSroImportExport.png -------------------------------------------------------------------------------- /DicomSroImportExport/Resources/UI/qSlicerDicomSroImportExportModule.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerDicomSroImportExportModule 4 | 5 | 6 | 7 | 0 8 | 0 9 | 525 10 | 319 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | 20 | Display 21 | 22 | 23 | 24 | 25 | 26 | Load DICOM Spatial Registration 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | ctkCollapsibleButton 38 | QWidget 39 |
ctkCollapsibleButton.h
40 | 1 41 |
42 | 43 | qSlicerWidget 44 | QWidget 45 |
qSlicerWidget.h
46 | 1 47 |
48 |
49 | 50 | 51 |
52 | -------------------------------------------------------------------------------- /DicomSroImportExport/Resources/qSlicerDicomSroImportExportModule.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/DicomSroImportExport.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /DicomSroImportExport/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Cxx) 2 | -------------------------------------------------------------------------------- /DicomSroImportExport/Testing/Cxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KIT qSlicer${MODULE_NAME}Module) 2 | 3 | set(KIT_TEST_SRCS) 4 | set(KIT_TEST_NAMES) 5 | set(KIT_TEST_NAMES_CXX) 6 | SlicerMacroConfigureGenericCxxModuleTests(${MODULE_NAME} KIT_TEST_SRCS KIT_TEST_NAMES KIT_TEST_NAMES_CXX) 7 | 8 | set(CMAKE_TESTDRIVER_BEFORE_TESTMAIN "DEBUG_LEAKS_ENABLE_EXIT_ERROR();" ) 9 | create_test_sourcelist(Tests ${KIT}CxxTests.cxx 10 | ${KIT_TEST_NAMES_CXX} 11 | EXTRA_INCLUDE vtkMRMLDebugLeaksMacro.h 12 | ) 13 | 14 | list(REMOVE_ITEM Tests ${KIT_TEST_NAMES_CXX}) 15 | list(APPEND Tests ${KIT_TEST_SRCS}) 16 | 17 | ctk_add_executable_utf8(${KIT}CxxTests ${Tests}) 18 | target_link_libraries(${KIT}CxxTests ${KIT}) 19 | 20 | foreach(testname ${KIT_TEST_NAMES}) 21 | SIMPLE_TEST( ${testname} ) 22 | endforeach() 23 | -------------------------------------------------------------------------------- /DicomSroImportExport/qSlicerDicomSroImportExportModuleWidget.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Radiation Medicine Program, University Health Network, 4 | Princess Margaret Hospital, Toronto, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Kevin Wang, Princess Margaret Cancer Centre 16 | and was supported by Cancer Care Ontario (CCO)'s ACRU program 17 | with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | and Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO). 19 | 20 | ==============================================================================*/ 21 | 22 | #ifndef __qSlicerDicomSroImportExportModuleWidget_h 23 | #define __qSlicerDicomSroImportExportModuleWidget_h 24 | 25 | // SlicerQt includes 26 | #include "qSlicerAbstractModuleWidget.h" 27 | 28 | #include "qSlicerDicomSroImportExportModuleExport.h" 29 | 30 | class qSlicerDicomSroImportExportModuleWidgetPrivate; 31 | class vtkMRMLNode; 32 | 33 | /// \ingroup SlicerRt_DicomSroImportExport 34 | class Q_SLICER_QTMODULES_DICOMSROIMPORTEXPORT_EXPORT qSlicerDicomSroImportExportModuleWidget : 35 | public qSlicerAbstractModuleWidget 36 | { 37 | Q_OBJECT 38 | 39 | public: 40 | 41 | typedef qSlicerAbstractModuleWidget Superclass; 42 | qSlicerDicomSroImportExportModuleWidget(QWidget *parent=nullptr); 43 | ~qSlicerDicomSroImportExportModuleWidget() override; 44 | 45 | public slots: 46 | void LoadDicomSro(); 47 | 48 | protected: 49 | QScopedPointer d_ptr; 50 | 51 | void setup() override; 52 | 53 | private: 54 | Q_DECLARE_PRIVATE(qSlicerDicomSroImportExportModuleWidget); 55 | Q_DISABLE_COPY(qSlicerDicomSroImportExportModuleWidget); 56 | }; 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /DoseAccumulation/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME "DoseAccumulation") 3 | set(MODULE_TITLE "Dose Accumulation") 4 | 5 | string(TOUPPER ${MODULE_NAME} MODULE_NAME_UPPER) 6 | 7 | #----------------------------------------------------------------------------- 8 | add_subdirectory(Logic) 9 | 10 | #----------------------------------------------------------------------------- 11 | set(MODULE_EXPORT_DIRECTIVE "Q_SLICER_QTMODULES_${MODULE_NAME_UPPER}_EXPORT") 12 | 13 | set(MODULE_INCLUDE_DIRECTORIES 14 | ${CMAKE_CURRENT_SOURCE_DIR}/Logic 15 | ${CMAKE_CURRENT_BINARY_DIR}/Logic 16 | ${SlicerRtCommon_INCLUDE_DIRS} 17 | ${vtkSlicerSubjectHierarchyModuleMRML_INCLUDE_DIRS} 18 | ) 19 | 20 | set(MODULE_SRCS 21 | qSlicer${MODULE_NAME}Module.cxx 22 | qSlicer${MODULE_NAME}Module.h 23 | qSlicer${MODULE_NAME}ModuleWidget.cxx 24 | qSlicer${MODULE_NAME}ModuleWidget.h 25 | ) 26 | 27 | set(MODULE_MOC_SRCS 28 | qSlicer${MODULE_NAME}Module.h 29 | qSlicer${MODULE_NAME}ModuleWidget.h 30 | ) 31 | 32 | set(MODULE_UI_SRCS 33 | Resources/UI/qSlicer${MODULE_NAME}Module.ui 34 | ) 35 | 36 | set(MODULE_TARGET_LIBRARIES 37 | vtkSlicer${MODULE_NAME}ModuleLogic 38 | ) 39 | 40 | set(MODULE_RESOURCES 41 | Resources/qSlicer${MODULE_NAME}Module.qrc 42 | ) 43 | 44 | #----------------------------------------------------------------------------- 45 | slicerMacroBuildLoadableModule( 46 | NAME ${MODULE_NAME} 47 | TITLE ${MODULE_TITLE} 48 | EXPORT_DIRECTIVE ${MODULE_EXPORT_DIRECTIVE} 49 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 50 | SRCS ${MODULE_SRCS} 51 | MOC_SRCS ${MODULE_MOC_SRCS} 52 | UI_SRCS ${MODULE_UI_SRCS} 53 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 54 | RESOURCES ${MODULE_RESOURCES} 55 | WITH_GENERIC_TESTS 56 | ) 57 | 58 | #----------------------------------------------------------------------------- 59 | if(BUILD_TESTING) 60 | add_subdirectory(Testing) 61 | endif() 62 | -------------------------------------------------------------------------------- /DoseAccumulation/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${vtkSlicerIsodoseModuleLogic_INCLUDE_DIRS} 10 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 11 | ) 12 | 13 | set(${KIT}_SRCS 14 | vtkSlicer${MODULE_NAME}ModuleLogic.cxx 15 | vtkSlicer${MODULE_NAME}ModuleLogic.h 16 | vtkMRML${MODULE_NAME}Node.h 17 | vtkMRML${MODULE_NAME}Node.cxx 18 | ) 19 | 20 | set(${KIT}_TARGET_LIBRARIES 21 | vtkSlicerRtCommon 22 | vtkSlicerIsodoseModuleLogic 23 | vtkSlicerSubjectHierarchyModuleLogic 24 | vtkSlicerVolumesModuleLogic 25 | ${ITK_LIBRARIES} 26 | ) 27 | 28 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${Slicer_Base_INCLUDE_DIRS} CACHE INTERNAL "" FORCE) 29 | 30 | #----------------------------------------------------------------------------- 31 | SlicerMacroBuildModuleLogic( 32 | NAME ${KIT} 33 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 34 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 35 | SRCS ${${KIT}_SRCS} 36 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 37 | ) 38 | 39 | -------------------------------------------------------------------------------- /DoseAccumulation/Resources/Icons/DoseAccumulation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DoseAccumulation/Resources/Icons/DoseAccumulation.png -------------------------------------------------------------------------------- /DoseAccumulation/Resources/qSlicerDoseAccumulationModule.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/DoseAccumulation.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /DoseAccumulation/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Cxx) 2 | -------------------------------------------------------------------------------- /DoseAccumulation/Testing/Cxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KIT qSlicer${MODULE_NAME}Module) 2 | 3 | set(KIT_TEST_SRCS 4 | vtkSlicerDoseAccumulationModuleLogicTest1.cxx 5 | ) 6 | 7 | slicerMacroConfigureModuleCxxTestDriver( 8 | NAME ${KIT} 9 | SOURCES ${KIT_TEST_SRCS} 10 | TARGET_LIBRARIES vtkSlicerDoseAccumulationModuleLogic 11 | WITH_VTK_DEBUG_LEAKS_CHECK 12 | ) 13 | 14 | #----------------------------------------------------------------------------- 15 | set(TEMP "${CMAKE_BINARY_DIR}/Testing/Temporary") 16 | 17 | macro(TEST_WITH_DATA TestName TestExecutableName 18 | TestSceneFile TemporarySceneFile DoseDifferenceCriterion) 19 | add_test( 20 | NAME ${TestName} 21 | COMMAND ${Slicer_LAUNCH_COMMAND} $ ${TestExecutableName} ${ARGN} 22 | -TestSceneFile ${TestSceneFile} 23 | -TemporarySceneFile ${TemporarySceneFile} 24 | -DoseDifferenceCriterion ${DoseDifferenceCriterion} 25 | ) 26 | endmacro() 27 | 28 | #----------------------------------------------------------------------------- 29 | TEST_WITH_DATA( 30 | vtkSliceDoseAccumulationModuleLogicTest_EclipseProstate 31 | vtkSlicerDoseAccumulationModuleLogicTest1 32 | ${CMAKE_CURRENT_SOURCE_DIR}/../../../Testing/Data/Scenes/EclipseProstate_DoseAccumulation_Scene.mrml 33 | ${TEMP}/TestScene_DoseAccumulation_EclipseProstate.mrml 34 | 1.0 35 | ) 36 | set_tests_properties(vtkSliceDoseAccumulationModuleLogicTest_EclipseProstate PROPERTIES FAIL_REGULAR_EXPRESSION "Error;ERROR;Warning;WARNING" ) 37 | 38 | #ADD_TEST(vtkSlicerDoseAccumulationModuleCompareToBaselineTest 39 | # ${CMAKE_COMMAND} -E compare_files 40 | # ${CMAKE_CURRENT_SOURCE_DIR}/../../Data/EclipseProstate/Dose.nrrd 41 | # ${TEMP}/AccumulatedDose.nrrd 42 | # ) 43 | -------------------------------------------------------------------------------- /DoseComparison/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${PlmCommon_INCLUDE_DIRS} 9 | ${SlicerRtCommon_INCLUDE_DIRS} 10 | ${vtkSlicerSegmentationsModuleMRML_INCLUDE_DIRS} 11 | ${vtkSlicerSegmentationsModuleLogic_INCLUDE_DIRS} 12 | ${PLASTIMATCH_INCLUDE_DIRS} 13 | ) 14 | 15 | set(${KIT}_SRCS 16 | vtkSlicer${MODULE_NAME}ModuleLogic.cxx 17 | vtkSlicer${MODULE_NAME}ModuleLogic.h 18 | vtkMRML${MODULE_NAME}Node.cxx 19 | vtkMRML${MODULE_NAME}Node.h 20 | ) 21 | 22 | set(${KIT}_TARGET_LIBRARIES 23 | vtkPlmCommon 24 | vtkSlicerRtCommon 25 | vtkSlicerSegmentationsModuleMRML 26 | vtkSlicerSegmentationsModuleLogic 27 | MRMLCore 28 | ${PLASTIMATCH_LIBRARIES} 29 | ) 30 | 31 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${Slicer_Base_INCLUDE_DIRS} CACHE INTERNAL "" FORCE) 32 | 33 | #----------------------------------------------------------------------------- 34 | SlicerMacroBuildModuleLogic( 35 | NAME ${KIT} 36 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 37 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 38 | SRCS ${${KIT}_SRCS} 39 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 40 | ) 41 | 42 | #----------------------------------------------------------------------------- 43 | configure_file( 44 | ${CMAKE_CURRENT_SOURCE_DIR}/../Resources/Gamma_ColorTable.ctbl 45 | ${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_SHARE_DIR}/${MODULE_NAME}/Gamma_ColorTable.ctbl 46 | COPYONLY) 47 | 48 | install( 49 | FILES ${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_SHARE_DIR}/${MODULE_NAME}/Gamma_ColorTable.ctbl 50 | DESTINATION ${Slicer_INSTALL_QTLOADABLEMODULES_SHARE_DIR}/${MODULE_NAME} COMPONENT Runtime) 51 | -------------------------------------------------------------------------------- /DoseComparison/Resources/Icons/DoseComparison.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DoseComparison/Resources/Icons/DoseComparison.png -------------------------------------------------------------------------------- /DoseComparison/Resources/qSlicerDoseComparisonModule.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/DoseComparison.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /DoseComparison/SubjectHierarchyPlugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(qSlicer${MODULE_NAME}SubjectHierarchyPlugins) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "Q_SLICER_${MODULE_NAME_UPPER}_SUBJECT_HIERARCHY_PLUGINS_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${vtkSlicerDoseComparisonModuleLogic_INCLUDE_DIRS} 9 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 10 | ${qSlicerSubjectHierarchyModuleWidgets_INCLUDE_DIRS} 11 | ${Slicer_Libs_INCLUDE_DIRS} 12 | ${MRMLCore_INCLUDE_DIRS} 13 | ${MRMLLogic_INCLUDE_DIRS} 14 | ${qMRMLWidgets_INCLUDE_DIRS} 15 | ${MRMLCLI_INCLUDE_DIRS} 16 | ) 17 | 18 | set(${KIT}_SRCS 19 | qSlicerSubjectHierarchyGammaPlugin.cxx 20 | qSlicerSubjectHierarchyGammaPlugin.h 21 | ) 22 | 23 | set(${KIT}_MOC_SRCS 24 | qSlicerSubjectHierarchyGammaPlugin.h 25 | ) 26 | 27 | set(${KIT}_UI_SRCS 28 | ) 29 | 30 | set(${KIT}_RESOURCES 31 | Resources/${KIT}.qrc 32 | ) 33 | 34 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "" FORCE) 35 | 36 | #----------------------------------------------------------------------------- 37 | set(${KIT}_TARGET_LIBRARIES 38 | vtkSlicerDoseComparisonModuleLogic 39 | vtkSlicerSubjectHierarchyModuleLogic 40 | qSlicerSubjectHierarchyModuleWidgets 41 | MRMLCore 42 | MRMLLogic 43 | MRMLCLI 44 | qMRMLWidgets 45 | qSlicerBaseQTGUI 46 | ${QT_LIBRARIES} 47 | ) 48 | 49 | #----------------------------------------------------------------------------- 50 | SlicerMacroBuildModuleQtLibrary( 51 | NAME ${KIT} 52 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 53 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 54 | SRCS ${${KIT}_SRCS} 55 | MOC_SRCS ${${KIT}_MOC_SRCS} 56 | UI_SRCS ${${KIT}_UI_SRCS} 57 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 58 | RESOURCES ${${KIT}_RESOURCES} 59 | WRAP_PYTHONQT 60 | ) -------------------------------------------------------------------------------- /DoseComparison/SubjectHierarchyPlugins/Resources/Icons/Gamma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DoseComparison/SubjectHierarchyPlugins/Resources/Icons/Gamma.png -------------------------------------------------------------------------------- /DoseComparison/SubjectHierarchyPlugins/Resources/qSlicerDoseComparisonSubjectHierarchyPlugins.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/Gamma.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /DoseComparison/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Cxx) 2 | -------------------------------------------------------------------------------- /DoseComparison/Testing/Cxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KIT qSlicer${MODULE_NAME}Module) 2 | 3 | set(KIT_TEST_SRCS 4 | vtkSlicerDoseComparisonModuleLogicTest1.cxx 5 | ) 6 | 7 | slicerMacroConfigureModuleCxxTestDriver( 8 | NAME ${KIT} 9 | SOURCES ${KIT_TEST_SRCS} 10 | TARGET_LIBRARIES vtkSlicerDoseComparisonModuleLogic vtkSlicerSubjectHierarchyModuleLogic 11 | WITH_VTK_DEBUG_LEAKS_CHECK 12 | ) 13 | 14 | #----------------------------------------------------------------------------- 15 | set(TEMP "${CMAKE_BINARY_DIR}/Testing/Temporary") 16 | 17 | macro(TEST_WITH_DATA TestName TestExecutableName 18 | TestSceneFile TemporarySceneFile) 19 | add_test( 20 | NAME ${TestName} 21 | COMMAND ${Slicer_LAUNCH_COMMAND} $ ${TestExecutableName} ${ARGN} 22 | -TestSceneFile ${TestSceneFile} 23 | -TemporarySceneFile ${TemporarySceneFile} 24 | ) 25 | endmacro() 26 | 27 | #----------------------------------------------------------------------------- 28 | TEST_WITH_DATA( 29 | vtkSlicerDoseComparisonModuleLogicTest_EclipseEnt 30 | vtkSlicerDoseComparisonModuleLogicTest1 31 | ${CMAKE_CURRENT_SOURCE_DIR}/../../../Testing/Data/Scenes/EclipseEnt_DoseComparison_Scene.mrml 32 | ${TEMP}/TestScene_DoseComparison_EclipseEnt.mrml 33 | ) 34 | set_tests_properties(vtkSlicerDoseComparisonModuleLogicTest_EclipseEnt PROPERTIES FAIL_REGULAR_EXPRESSION "Error;ERROR;Warning;WARNING" ) 35 | -------------------------------------------------------------------------------- /DoseVolumeHistogram/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME "DoseVolumeHistogram") 3 | set(MODULE_TITLE "Dose Volume Histogram") 4 | 5 | string(TOUPPER ${MODULE_NAME} MODULE_NAME_UPPER) 6 | 7 | #----------------------------------------------------------------------------- 8 | add_subdirectory(MRML) 9 | add_subdirectory(Logic) 10 | add_subdirectory(SubjectHierarchyPlugins) 11 | 12 | #----------------------------------------------------------------------------- 13 | set(MODULE_EXPORT_DIRECTIVE "Q_SLICER_QTMODULES_${MODULE_NAME_UPPER}_EXPORT") 14 | 15 | set(MODULE_INCLUDE_DIRECTORIES 16 | ${SlicerRtCommon_INCLUDE_DIRS} 17 | ${vtkSlicerSegmentationsModuleMRML_INCLUDE_DIRS} 18 | ${qSlicerSegmentationsModuleWidgets_INCLUDE_DIRS} 19 | ${CMAKE_CURRENT_SOURCE_DIR}/SubjectHierarchyPlugins 20 | ${CMAKE_CURRENT_BINARY_DIR}/SubjectHierarchyPlugins 21 | ${qSlicerSubjectHierarchyModuleWidgets_INCLUDE_DIRS} 22 | ) 23 | 24 | set(MODULE_SRCS 25 | qSlicer${MODULE_NAME}Module.cxx 26 | qSlicer${MODULE_NAME}Module.h 27 | qSlicer${MODULE_NAME}ModuleWidget.cxx 28 | qSlicer${MODULE_NAME}ModuleWidget.h 29 | ) 30 | 31 | set(MODULE_MOC_SRCS 32 | qSlicer${MODULE_NAME}Module.h 33 | qSlicer${MODULE_NAME}ModuleWidget.h 34 | ) 35 | 36 | set(MODULE_UI_SRCS 37 | Resources/UI/qSlicer${MODULE_NAME}Module.ui 38 | ) 39 | 40 | set(MODULE_TARGET_LIBRARIES 41 | vtkSlicerRtCommon 42 | vtkSlicer${MODULE_NAME}ModuleLogic 43 | vtkSlicerSegmentationsModuleMRML 44 | qSlicerSegmentationsModuleWidgets 45 | qSlicer${MODULE_NAME}SubjectHierarchyPlugins 46 | ) 47 | 48 | set(MODULE_RESOURCES 49 | Resources/qSlicer${MODULE_NAME}Module.qrc 50 | ) 51 | 52 | #----------------------------------------------------------------------------- 53 | slicerMacroBuildLoadableModule( 54 | NAME ${MODULE_NAME} 55 | TITLE ${MODULE_TITLE} 56 | EXPORT_DIRECTIVE ${MODULE_EXPORT_DIRECTIVE} 57 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 58 | SRCS ${MODULE_SRCS} 59 | MOC_SRCS ${MODULE_MOC_SRCS} 60 | UI_SRCS ${MODULE_UI_SRCS} 61 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 62 | RESOURCES ${MODULE_RESOURCES} 63 | WITH_GENERIC_TESTS 64 | ) 65 | 66 | #----------------------------------------------------------------------------- 67 | if(BUILD_TESTING) 68 | add_subdirectory(Testing) 69 | endif() 70 | -------------------------------------------------------------------------------- /DoseVolumeHistogram/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 10 | ${vtkSlicerSegmentationsModuleMRML_INCLUDE_DIRS} 11 | ${vtkSlicerSegmentationsModuleLogic_INCLUDE_DIRS} 12 | ) 13 | 14 | set(${KIT}_SRCS 15 | vtkSlicer${MODULE_NAME}ModuleLogic.cxx 16 | vtkSlicer${MODULE_NAME}ModuleLogic.h 17 | vtkSlicerDoseVolumeHistogramComparisonLogic.cxx 18 | vtkSlicerDoseVolumeHistogramComparisonLogic.h 19 | ) 20 | 21 | set(${KIT}_TARGET_LIBRARIES 22 | vtkSlicerRtCommon 23 | vtkSlicerSegmentationsModuleMRML 24 | vtkSlicerSegmentationsModuleLogic 25 | vtkSlicerSubjectHierarchyModuleLogic 26 | vtkSlicer${MODULE_NAME}ModuleMRML 27 | ${ITK_LIBRARIES} 28 | ) 29 | 30 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${Slicer_Base_INCLUDE_DIRS} CACHE INTERNAL "" FORCE) 31 | 32 | #----------------------------------------------------------------------------- 33 | SlicerMacroBuildModuleLogic( 34 | NAME ${KIT} 35 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 36 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 37 | SRCS ${${KIT}_SRCS} 38 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 39 | ) 40 | -------------------------------------------------------------------------------- /DoseVolumeHistogram/MRML/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleMRML) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_MRML_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${vtkSlicerSegmentationsModuleMRML_INCLUDE_DIRS} 9 | ) 10 | 11 | # -------------------------------------------------------------------------- 12 | # Sources 13 | 14 | set(${KIT}_SRCS 15 | vtkMRML${MODULE_NAME}Node.cxx 16 | vtkMRML${MODULE_NAME}Node.h 17 | ) 18 | 19 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${Slicer_Base_INCLUDE_DIRS} CACHE INTERNAL "" FORCE) 20 | 21 | # -------------------------------------------------------------------------- 22 | # Build the library 23 | 24 | set(${KIT}_TARGET_LIBRARIES 25 | vtkSlicerSegmentationsModuleMRML 26 | MRMLCore 27 | ) 28 | 29 | SlicerMacroBuildModuleMRML( 30 | NAME ${KIT} 31 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 32 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 33 | SRCS ${${KIT}_SRCS} 34 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 35 | ) 36 | -------------------------------------------------------------------------------- /DoseVolumeHistogram/Resources/Icons/DoseVolumeHistogram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DoseVolumeHistogram/Resources/Icons/DoseVolumeHistogram.png -------------------------------------------------------------------------------- /DoseVolumeHistogram/Resources/Icons/LayoutFourUpQuantitativeView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DoseVolumeHistogram/Resources/Icons/LayoutFourUpQuantitativeView.png -------------------------------------------------------------------------------- /DoseVolumeHistogram/Resources/Icons/LayoutOneUpQuantitativeView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DoseVolumeHistogram/Resources/Icons/LayoutOneUpQuantitativeView.png -------------------------------------------------------------------------------- /DoseVolumeHistogram/Resources/qSlicerDoseVolumeHistogramModule.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/DoseVolumeHistogram.png 4 | Icons/LayoutFourUpQuantitativeView.png 5 | Icons/LayoutOneUpQuantitativeView.png 6 | 7 | 8 | -------------------------------------------------------------------------------- /DoseVolumeHistogram/SubjectHierarchyPlugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(qSlicer${MODULE_NAME}SubjectHierarchyPlugins) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "Q_SLICER_${MODULE_NAME_UPPER}_SUBJECT_HIERARCHY_PLUGINS_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${vtkSlicerDoseVolumeHistogramModuleMRML_INCLUDE_DIRS} 10 | ${vtkSlicerDoseVolumeHistogramModuleLogic_INCLUDE_DIRS} 11 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 12 | ${qSlicerSubjectHierarchyModuleWidgets_INCLUDE_DIRS} 13 | ${MRMLCore_INCLUDE_DIRS} 14 | ${MRMLLogic_INCLUDE_DIRS} 15 | ${qMRMLWidgets_INCLUDE_DIRS} 16 | ${MRMLCLI_INCLUDE_DIRS} 17 | ) 18 | 19 | set(${KIT}_SRCS 20 | qSlicerSubjectHierarchy${MODULE_NAME}Plugin.cxx 21 | qSlicerSubjectHierarchy${MODULE_NAME}Plugin.h 22 | ) 23 | 24 | set(${KIT}_MOC_SRCS 25 | qSlicerSubjectHierarchy${MODULE_NAME}Plugin.h 26 | ) 27 | 28 | set(${KIT}_UI_SRCS 29 | ) 30 | 31 | set(${KIT}_RESOURCES 32 | Resources/${KIT}.qrc 33 | ) 34 | 35 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "" FORCE) 36 | 37 | #----------------------------------------------------------------------------- 38 | set(${KIT}_TARGET_LIBRARIES 39 | vtkSlicerRtCommon 40 | vtkSlicer${MODULE_NAME}ModuleLogic 41 | vtkSlicerSubjectHierarchyModuleLogic 42 | qSlicerSubjectHierarchyModuleWidgets 43 | MRMLCore 44 | MRMLLogic 45 | MRMLCLI 46 | qMRMLWidgets 47 | ${QT_LIBRARIES} 48 | ) 49 | 50 | #----------------------------------------------------------------------------- 51 | SlicerMacroBuildModuleQtLibrary( 52 | NAME ${KIT} 53 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 54 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 55 | SRCS ${${KIT}_SRCS} 56 | MOC_SRCS ${${KIT}_MOC_SRCS} 57 | UI_SRCS ${${KIT}_UI_SRCS} 58 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 59 | RESOURCES ${${KIT}_RESOURCES} 60 | WRAP_PYTHONQT 61 | ) -------------------------------------------------------------------------------- /DoseVolumeHistogram/SubjectHierarchyPlugins/Resources/Icons/DVH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DoseVolumeHistogram/SubjectHierarchyPlugins/Resources/Icons/DVH.png -------------------------------------------------------------------------------- /DoseVolumeHistogram/SubjectHierarchyPlugins/Resources/qSlicerDoseVolumeHistogramSubjectHierarchyPlugins.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/DVH.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /DoseVolumeHistogram/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Cxx) 2 | -------------------------------------------------------------------------------- /DosxyzNrc3dDoseFileReader/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME DosxyzNrc3dDoseFileReader) 3 | set(MODULE_TITLE "DosxyzNrc3dDose File Reader") 4 | 5 | string(TOUPPER ${MODULE_NAME} MODULE_NAME_UPPER) 6 | 7 | #----------------------------------------------------------------------------- 8 | add_subdirectory(Logic) 9 | 10 | #----------------------------------------------------------------------------- 11 | set(MODULE_EXPORT_DIRECTIVE "Q_SLICER_${MODULE_NAME_UPPER}_EXPORT") 12 | 13 | # Additional includes - Current_{source,binary} and Slicer_{Libs,Base} already included 14 | set(MODULE_INCLUDE_DIRECTORIES 15 | ${SlicerRtCommon_INCLUDE_DIRS} 16 | ${CMAKE_CURRENT_SOURCE_DIR}/Logic 17 | ${CMAKE_CURRENT_BINARY_DIR}/Logic 18 | ) 19 | 20 | set(MODULE_SRCS 21 | qSlicer${MODULE_NAME}Plugin.cxx 22 | qSlicer${MODULE_NAME}Plugin.h 23 | qSlicer${MODULE_NAME}PluginWidget.cxx 24 | qSlicer${MODULE_NAME}PluginWidget.h 25 | qSlicer${MODULE_NAME}Module.cxx 26 | qSlicer${MODULE_NAME}Module.h 27 | qSlicer${MODULE_NAME}OptionsWidget.cxx 28 | qSlicer${MODULE_NAME}OptionsWidget.h 29 | ) 30 | 31 | set(MODULE_MOC_SRCS 32 | qSlicer${MODULE_NAME}Plugin.h 33 | qSlicer${MODULE_NAME}PluginWidget.h 34 | qSlicer${MODULE_NAME}OptionsWidget.h 35 | qSlicer${MODULE_NAME}Module.h 36 | ) 37 | 38 | set(MODULE_UI_SRCS 39 | Resources/UI/qSlicer${MODULE_NAME}PluginWidget.ui 40 | Resources/UI/qSlicer${MODULE_NAME}OptionsWidget.ui 41 | ) 42 | 43 | set(MODULE_TARGET_LIBRARIES 44 | vtkSlicerRtCommon 45 | vtkSlicer${MODULE_NAME}Logic 46 | ) 47 | 48 | #----------------------------------------------------------------------------- 49 | slicerMacroBuildLoadableModule( 50 | NAME ${MODULE_NAME} 51 | TITLE ${MODULE_TITLE} 52 | EXPORT_DIRECTIVE ${MODULE_EXPORT_DIRECTIVE} 53 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 54 | SRCS ${MODULE_SRCS} 55 | MOC_SRCS ${MODULE_MOC_SRCS} 56 | UI_SRCS ${MODULE_UI_SRCS} 57 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 58 | WITH_GENERIC_TESTS 59 | ) 60 | 61 | #----------------------------------------------------------------------------- 62 | #if(BUILD_TESTING) 63 | # add_subdirectory(Testing) 64 | #endif() 65 | -------------------------------------------------------------------------------- /DosxyzNrc3dDoseFileReader/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}Logic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ) 9 | 10 | set(${KIT}_SRCS 11 | vtkSlicer${MODULE_NAME}Logic.cxx 12 | vtkSlicer${MODULE_NAME}Logic.h 13 | ) 14 | 15 | set(${KIT}_TARGET_LIBRARIES 16 | ) 17 | 18 | #----------------------------------------------------------------------------- 19 | SlicerMacroBuildModuleLogic( 20 | NAME ${KIT} 21 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 22 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 23 | SRCS ${${KIT}_SRCS} 24 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 25 | ) 26 | -------------------------------------------------------------------------------- /DosxyzNrc3dDoseFileReader/Resources/UI/qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 552 10 | 27 11 | 12 | 13 | 14 | DosxyzNrc3dDoseFileReader Options 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 22 | 23 | Scaling factor applied on the dose values 24 | 25 | 26 | Scaling factor: 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 1e+18 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | qSlicerWidget 45 | QWidget 46 |
qSlicerWidget.h
47 | 1 48 |
49 |
50 | 51 | 52 |
53 | -------------------------------------------------------------------------------- /DosxyzNrc3dDoseFileReader/Resources/UI/qSlicerDosxyzNrc3dDoseFileReaderPluginWidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerDosxyzNrc3dDoseFileReaderPluginWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 552 10 | 146 11 | 12 | 13 | 14 | Volume Options 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 22 | 23 | 24 | qSlicerWidget 25 | QWidget 26 |
qSlicerWidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /DosxyzNrc3dDoseFileReader/qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Anna Ilina, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario. 18 | 19 | ==============================================================================*/ 20 | 21 | #ifndef __qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget_h 22 | #define __qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget_h 23 | 24 | // CTK includes 25 | #include 26 | 27 | // SlicerQt includes 28 | #include "qSlicerIOOptionsWidget.h" 29 | 30 | // DosxyzNrc3dDoseFileReader includes 31 | #include "qSlicerDosxyzNrc3dDoseFileReaderModuleExport.h" 32 | 33 | class qSlicerDosxyzNrc3dDoseFileReaderOptionsWidgetPrivate; 34 | 35 | /// \ingroup SlicerRt_QtModules_DosxyzNrc3dDoseFileReader 36 | class Q_SLICER_DOSXYZNRC3DDOSEFILEREADER_EXPORT qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget : 37 | public qSlicerIOOptionsWidget 38 | { 39 | Q_OBJECT 40 | public: 41 | typedef qSlicerIOOptionsWidget Superclass; 42 | qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget(QWidget *parent=nullptr); 43 | ~qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget() override; 44 | 45 | protected slots: 46 | void updateProperties(); 47 | 48 | private: 49 | Q_DECLARE_PRIVATE_D(qGetPtrHelper(qSlicerIOOptions::d_ptr), qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget); 50 | Q_DISABLE_COPY(qSlicerDosxyzNrc3dDoseFileReaderOptionsWidget); 51 | }; 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /DosxyzNrc3dDoseFileReader/qSlicerDosxyzNrc3dDoseFileReaderPluginWidget.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Anna Ilina, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario. 18 | 19 | ==============================================================================*/ 20 | 21 | #ifndef __qSlicerDosxyzNrc3dDoseFileReaderPluginWidget_h 22 | #define __qSlicerDosxyzNrc3dDoseFileReaderPluginWidget_h 23 | 24 | // SlicerQt includes 25 | #include "qSlicerAbstractModuleWidget.h" 26 | 27 | // DosxyzNrc3dDoseFileReader includes 28 | #include "qSlicerDosxyzNrc3dDoseFileReaderModuleExport.h" 29 | 30 | class qSlicerDosxyzNrc3dDoseFileReaderPluginWidgetPrivate; 31 | 32 | /// \ingroup SlicerRt_QtModules_DosxyzNrc3dDoseFileReader 33 | class Q_SLICER_DOSXYZNRC3DDOSEFILEREADER_EXPORT qSlicerDosxyzNrc3dDoseFileReaderPluginWidget : 34 | public qSlicerAbstractModuleWidget 35 | { 36 | Q_OBJECT 37 | public: 38 | typedef qSlicerAbstractModuleWidget Superclass; 39 | qSlicerDosxyzNrc3dDoseFileReaderPluginWidget(QWidget *parent=nullptr); 40 | ~qSlicerDosxyzNrc3dDoseFileReaderPluginWidget() override; 41 | 42 | protected: 43 | QScopedPointer d_ptr; 44 | void setup() override; 45 | 46 | private: 47 | Q_DECLARE_PRIVATE(qSlicerDosxyzNrc3dDoseFileReaderPluginWidget); 48 | Q_DISABLE_COPY(qSlicerDosxyzNrc3dDoseFileReaderPluginWidget); 49 | }; 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /DrrImageComputation/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | find_package(vtkIECTransformLogic REQUIRED) 4 | 5 | set(KIT ${PROJECT_NAME}) 6 | 7 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_MODULE_LOGIC_EXPORT") 8 | 9 | set(${KIT}_INCLUDE_DIRECTORIES 10 | ${SlicerRtCommon_INCLUDE_DIRS} 11 | ${vtkIECTransformLogic_INCLUDE_DIRS} 12 | ${vtkSlicer${MODULE_NAME}ModuleMRML_INCLUDE_DIRS} 13 | ) 14 | 15 | set(${KIT}_SRCS 16 | vtkSlicer${MODULE_NAME}Logic.cxx 17 | vtkSlicer${MODULE_NAME}Logic.h 18 | ) 19 | 20 | set(${KIT}_TARGET_LIBRARIES 21 | ${ITK_LIBRARIES} 22 | ${PLASTIMATCH_LIBRARIES} 23 | vtkIECTransformLogic 24 | vtkSlicer${MODULE_NAME}ModuleMRML 25 | vtkSlicerBeamsModuleLogic 26 | vtkSlicerPlanarImageModuleLogic 27 | vtkSlicerRoomsEyeViewModuleLogic 28 | vtkSlicerMarkupsModuleMRML 29 | vtkSlicerRtCommon 30 | vtkPlmCommon 31 | ) 32 | 33 | #----------------------------------------------------------------------------- 34 | SlicerMacroBuildModuleLogic( 35 | NAME ${KIT} 36 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 37 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 38 | SRCS ${${KIT}_SRCS} 39 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 40 | ) 41 | -------------------------------------------------------------------------------- /DrrImageComputation/MRML/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleMRML) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_MODULE_MRML_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${Slicer_Base_INCLUDE_DIRS} 10 | ${MRMLCore_INCLUDE_DIRS} 11 | ${vtkSlicerPlanarImageModuleLogic_INCLUDE_DIRS} 12 | ) 13 | 14 | # -------------------------------------------------------------------------- 15 | # Sources 16 | 17 | set(${KIT}_SRCS 18 | vtkMRML${MODULE_NAME}Node.cxx 19 | vtkMRML${MODULE_NAME}Node.h 20 | ) 21 | 22 | SET (${KIT}_INCLUDE_DIRS 23 | ${CMAKE_CURRENT_SOURCE_DIR} 24 | ${CMAKE_CURRENT_BINARY_DIR} 25 | ${Slicer_Base_INCLUDE_DIRS} 26 | ${MRMLCore_INCLUDE_DIRS} 27 | CACHE INTERNAL "" FORCE) 28 | 29 | # -------------------------------------------------------------------------- 30 | # Build the library 31 | 32 | set(${KIT}_TARGET_LIBRARIES 33 | vtkSlicerRtCommon 34 | vtkSlicerBeamsModuleMRML 35 | MRMLCore 36 | vtkSlicerMarkupsModuleMRML 37 | vtkSlicerPlanarImageModuleLogic 38 | ) 39 | 40 | SlicerMacroBuildModuleMRML( 41 | NAME ${KIT} 42 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 43 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 44 | SRCS ${${KIT}_SRCS} 45 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 46 | ) 47 | 48 | # Set linker flags, needed for OpenMP 49 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 50 | set_target_properties (${KIT} 51 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 52 | endif () 53 | -------------------------------------------------------------------------------- /DrrImageComputation/Resources/Icons/DrrImageComputation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DrrImageComputation/Resources/Icons/DrrImageComputation.png -------------------------------------------------------------------------------- /DrrImageComputation/Resources/qSlicerDrrImageComputationModule.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/DrrImageComputation.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /DrrImageComputation/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Cxx) 2 | add_subdirectory(Python) 3 | -------------------------------------------------------------------------------- /DrrImageComputation/Testing/Cxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KIT qSlicer${MODULE_NAME}Module) 2 | 3 | #----------------------------------------------------------------------------- 4 | set(KIT_TEST_SRCS 5 | vtkMRMLDrrImageComputationNodeTest1.cxx 6 | ) 7 | 8 | #----------------------------------------------------------------------------- 9 | slicerMacroConfigureModuleCxxTestDriver( 10 | NAME ${KIT} 11 | SOURCES ${KIT_TEST_SRCS} 12 | WITH_VTK_DEBUG_LEAKS_CHECK 13 | WITH_VTK_ERROR_OUTPUT_CHECK 14 | ) 15 | 16 | #----------------------------------------------------------------------------- 17 | simple_test(vtkMRMLDrrImageComputationNodeTest1) 18 | -------------------------------------------------------------------------------- /DrrImageComputation/Testing/Cxx/vtkMRMLDrrImageComputationNodeTest1.cxx: -------------------------------------------------------------------------------- 1 | /*=auto========================================================================= 2 | 3 | Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) 4 | All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Program: 3D Slicer 10 | 11 | =========================================================================auto=*/ 12 | 13 | // MRML includes 14 | #include "vtkMRMLCoreTestingMacros.h" 15 | #include "vtkMRMLDrrImageComputationNode.h" 16 | 17 | int vtkMRMLDrrImageComputationNodeTest1(int , char * [] ) 18 | { 19 | vtkNew< vtkMRMLDrrImageComputationNode > node1; 20 | 21 | EXERCISE_ALL_BASIC_MRML_METHODS(node1.GetPointer()); 22 | 23 | TEST_SET_GET_INT(node1.GetPointer(), ImageWindowFlag, 1); 24 | TEST_SET_GET_INT(node1.GetPointer(), ExponentialMappingFlag, 0); 25 | TEST_SET_GET_DOUBLE(node1.GetPointer(), IsocenterImagerDistance, 300.0); 26 | 27 | return EXIT_SUCCESS; 28 | } 29 | -------------------------------------------------------------------------------- /DrrImageComputation/Testing/Python/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_TEST_PYTHON_SCRIPTS 3 | DrrImageComputationTest.py 4 | ) 5 | 6 | set(MODULE_TEST_PYTHON_RESOURCES 7 | ) 8 | 9 | #----------------------------------------------------------------------------- 10 | set(KIT_UNITTEST_SCRIPTS) 11 | SlicerMacroConfigureGenericPythonModuleTests("${MODULE_NAME}" KIT_UNITTEST_SCRIPTS) 12 | 13 | #----------------------------------------------------------------------------- 14 | # Make sure the generic tests have access to the other modules 15 | if(CMAKE_CONFIGURATION_TYPES) 16 | set(MODULE_BUILD_DIR "") 17 | foreach(config ${CMAKE_CONFIGURATION_TYPES}) 18 | list(APPEND MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}/${config}") 19 | list(APPEND MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}/${config}") 20 | endforeach() 21 | else() 22 | set(MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}") 23 | endif() 24 | 25 | foreach(script_name ${KIT_UNITTEST_SCRIPTS}) 26 | slicer_add_python_unittest( 27 | SCRIPT ${script_name} 28 | SLICER_ARGS --no-main-window 29 | --additional-module-paths 30 | ${MODULE_BUILD_DIR} 31 | ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 32 | TESTNAME_PREFIX nomainwindow_ 33 | ) 34 | endforeach() 35 | 36 | slicer_add_python_unittest( 37 | SCRIPT DrrImageComputationTest.py 38 | SLICER_ARGS --no-main-window 39 | --additional-module-paths 40 | ${MODULE_BUILD_DIR} 41 | ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 42 | # TESTNAME_PREFIX nomainwindow_ 43 | ) 44 | -------------------------------------------------------------------------------- /DrrImageComputation/Widgets/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(qSlicer${MODULE_NAME}ModuleWidgets) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "Q_SLICER_MODULE_${MODULE_NAME_UPPER}_WIDGETS_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${vtkSlicer${MODULE_NAME}ModuleMRML_INCLUDE_DIRS} 9 | ) 10 | 11 | set(${KIT}_SRCS 12 | qSlicer${MODULE_NAME}PlastimatchParametersWidget.cxx 13 | qSlicer${MODULE_NAME}PlastimatchParametersWidget.h 14 | ) 15 | 16 | set(${KIT}_MOC_SRCS 17 | qSlicer${MODULE_NAME}PlastimatchParametersWidget.h 18 | ) 19 | 20 | set(${KIT}_UI_SRCS 21 | ../Resources/UI/qSlicer${MODULE_NAME}PlastimatchParametersWidget.ui 22 | ) 23 | 24 | set(${KIT}_RESOURCES 25 | ../Resources/qSlicer${MODULE_NAME}Module.qrc 26 | ) 27 | 28 | set(${KIT}_TARGET_LIBRARIES 29 | vtkSlicer${MODULE_NAME}ModuleLogic 30 | vtkSlicer${MODULE_NAME}ModuleMRML 31 | ) 32 | 33 | #----------------------------------------------------------------------------- 34 | SlicerMacroBuildModuleWidgets( 35 | NAME ${KIT} 36 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 37 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 38 | SRCS ${${KIT}_SRCS} 39 | MOC_SRCS ${${KIT}_MOC_SRCS} 40 | UI_SRCS ${${KIT}_UI_SRCS} 41 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 42 | RESOURCES ${${KIT}_RESOURCES} 43 | WRAP_PYTHONQT 44 | ) 45 | -------------------------------------------------------------------------------- /DvhComparison/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME DvhComparison) 3 | 4 | #----------------------------------------------------------------------------- 5 | set(MODULE_PYTHON_SCRIPTS 6 | ${MODULE_NAME}.py 7 | ) 8 | 9 | set(MODULE_PYTHON_RESOURCES 10 | Resources/Icons/${MODULE_NAME}.png 11 | ) 12 | 13 | #----------------------------------------------------------------------------- 14 | slicerMacroBuildScriptedModule( 15 | NAME ${MODULE_NAME} 16 | SCRIPTS ${MODULE_PYTHON_SCRIPTS} 17 | RESOURCES ${MODULE_PYTHON_RESOURCES} 18 | ) 19 | 20 | #----------------------------------------------------------------------------- 21 | if(CMAKE_CONFIGURATION_TYPES) 22 | set(MODULE_BUILD_DIR "") 23 | foreach(config ${CMAKE_CONFIGURATION_TYPES}) 24 | list(APPEND MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}/${config}") 25 | endforeach() 26 | else() 27 | set(MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}") 28 | endif() 29 | 30 | # Register the unittest subclass in the main script as a ctest. 31 | # Note that the test will also be available at runtime. 32 | slicer_add_python_unittest( 33 | SCRIPT ${MODULE_NAME}.py 34 | # TODO: slicer_add_python_unittest should take care of adding the additional module paths 35 | SLICER_ARGS 36 | --disable-cli-modules 37 | --additional-module-paths ${MODULE_BUILD_DIR} ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 38 | ) 39 | -------------------------------------------------------------------------------- /DvhComparison/Resources/Icons/DvhComparison.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/DvhComparison/Resources/Icons/DvhComparison.png -------------------------------------------------------------------------------- /ExternalBeamPlanning/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_MODULE_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${PlmCommon_INCLUDE_DIRS} 9 | ${SlicerRtCommon_INCLUDE_DIRS} 10 | ) 11 | 12 | set(${KIT}_SRCS 13 | vtkSlicer${MODULE_NAME}ModuleLogic.cxx 14 | vtkSlicer${MODULE_NAME}ModuleLogic.h 15 | ) 16 | 17 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "" FORCE) 18 | 19 | set(${KIT}_TARGET_LIBRARIES 20 | vtkPlmCommon 21 | vtkSlicerRtCommon 22 | vtkSlicerMarkupsModuleMRML 23 | vtkSlicerBeamsModuleMRML 24 | vtkSlicerBeamsModuleLogic 25 | ) 26 | 27 | #----------------------------------------------------------------------------- 28 | SlicerMacroBuildModuleLogic( 29 | NAME ${KIT} 30 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 31 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 32 | SRCS ${${KIT}_SRCS} 33 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 34 | ) 35 | 36 | # Set linker flags, needed for OpenMP 37 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 38 | set_target_properties (${KIT} 39 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 40 | endif () 41 | -------------------------------------------------------------------------------- /ExternalBeamPlanning/Resources/Icons/Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/ExternalBeamPlanning/Resources/Icons/Add.png -------------------------------------------------------------------------------- /ExternalBeamPlanning/Resources/Icons/ExternalBeamPlanning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/ExternalBeamPlanning/Resources/Icons/ExternalBeamPlanning.png -------------------------------------------------------------------------------- /ExternalBeamPlanning/Resources/Icons/Remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/ExternalBeamPlanning/Resources/Icons/Remove.png -------------------------------------------------------------------------------- /ExternalBeamPlanning/Resources/qSlicerExternalBeamPlanningModule.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/ExternalBeamPlanning.png 4 | Icons/Add.png 5 | Icons/Remove.png 6 | 7 | 8 | -------------------------------------------------------------------------------- /ExternalBeamPlanning/Widgets/Python/AbstractScriptedDoseEngine.py: -------------------------------------------------------------------------------- 1 | import os 2 | import vtk, qt, ctk, slicer, logging 3 | 4 | # 5 | # Abstract class of python scripted dose engines 6 | # 7 | 8 | class AbstractScriptedDoseEngine(): 9 | """ Abstract scripted dose engines implemented in python 10 | 11 | USAGE: 12 | 1. Instantiation and registration 13 | Instantiate dose engine adaptor class from 14 | module (e.g. from setup function), and set python source: 15 | > import qSlicerExternalBeamPlanningModuleWidgetsPythonQt as engines 16 | > scriptedEngine = engines.qSlicerScriptedDoseEngine(None) 17 | > scriptedEngine.setPythonSource(MyEngine.filePath) 18 | > scriptedEngine.self().register() 19 | If engine name is added to slicer.modules.doseenginenames 20 | list then the above instantiation and registration steps are not necessary, 21 | as the ExternalBeamPlanning module do all these. 22 | 23 | 2. Call host C++ implementation using 24 | > self.scriptedEngine.functionName() 25 | 26 | 2.a. Most frequently used such methods are: 27 | Parameter get/set: parameter, integerParameter, doubleParameter, setParameter 28 | Add beam parameters: addBeamParameterSpinBox, addBeamParameterSlider, addBeamParameterComboBox, addBeamParameterCheckBox 29 | 30 | 2.b. Always call API functions (the ones that are defined in the adaptor 31 | class qSlicerScriptedDoseEngine) using the adaptor accessor: 32 | > self.scriptedEngine.addResultDose() 33 | 34 | An example for a generic engine is the MockPythonDoseEngine 35 | 36 | """ 37 | 38 | def __init__(self, scriptedEngine): 39 | self.scriptedEngine = scriptedEngine 40 | 41 | def register(self): 42 | import qSlicerExternalBeamPlanningModuleWidgetsPythonQt 43 | #TODO: For some reason the instance() function cannot be called as a class function although it's static 44 | handler = qSlicerExternalBeamPlanningModuleWidgetsPythonQt.qSlicerDoseEnginePluginHandler() 45 | engineHandlerSingleton = handler.instance() 46 | engineHandlerSingleton.registerDoseEngine(self.scriptedEngine) 47 | -------------------------------------------------------------------------------- /ExternalBeamPlanning/Widgets/Python/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | configure_file( 3 | ${CMAKE_CURRENT_SOURCE_DIR}/DoseEngines.__init__.py.in 4 | ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR}/DoseEngines/__init__.py 5 | ) 6 | 7 | #----------------------------------------------------------------------------- 8 | set(DoseEngines_PYTHON_SCRIPTS 9 | AbstractScriptedDoseEngine 10 | MockPythonDoseEngine 11 | EGSnrcUtil 12 | OrthovoltageDoseEngineUtil 13 | OrthovoltageDoseEngine 14 | ) 15 | 16 | set(DoseEngines_PYTHON_RESOURCES 17 | ) 18 | 19 | ctkMacroCompilePythonScript( 20 | TARGET_NAME DoseEngines 21 | SCRIPTS "${DoseEngines_PYTHON_SCRIPTS}" 22 | RESOURCES "${DoseEngines_PYTHON_RESOURCES}" 23 | DESTINATION_DIR ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR}/DoseEngines 24 | INSTALL_DIR ${Slicer_INSTALL_QTSCRIPTEDMODULES_LIB_DIR}/DoseEngines 25 | ) 26 | -------------------------------------------------------------------------------- /ExternalBeamPlanning/Widgets/Python/DoseEngines.__init__.py.in: -------------------------------------------------------------------------------- 1 | from .AbstractScriptedDoseEngine import * 2 | 3 | # Add engine name to the list of scripted dose engines. 4 | # ExternalBeamPlanning module will instantiate the engine class and register 5 | # in the engine handler. 6 | try: 7 | slicer.modules.doseenginenames 8 | except AttributeError: 9 | slicer.modules.doseenginenames=[] 10 | 11 | import importlib 12 | import traceback 13 | engineNames = [ 14 | "MockPythonDoseEngine", 15 | "OrthovoltageDoseEngine" 16 | ] 17 | for engineName in engineNames: 18 | try: 19 | m=importlib.import_module("DoseEngines."+engineName) 20 | slicer.modules.doseenginenames.extend([engineName]) 21 | except Exception as e: 22 | print('ERROR: ' + traceback.format_exc()) 23 | -------------------------------------------------------------------------------- /ExternalBeamPlanning/Widgets/Python/MockPythonDoseEngine.py: -------------------------------------------------------------------------------- 1 | import os 2 | import vtk, qt, ctk, slicer 3 | import logging 4 | from DoseEngines import * 5 | 6 | class MockPythonDoseEngine(AbstractScriptedDoseEngine): 7 | """ Mock python dose engine to test python interface for External Beam Planning 8 | """ 9 | 10 | def __init__(self, scriptedEngine): 11 | scriptedEngine.name = 'Mock python' 12 | AbstractScriptedDoseEngine.__init__(self, scriptedEngine) 13 | 14 | def defineBeamParameters(self): 15 | self.scriptedEngine.addBeamParameterSpinBox( 16 | "Mock python dose", "NoiseRange", "Noise range (% of Rx):", "Range of noise added to the prescription dose (+- half of the percentage of the Rx dose)", 17 | 0.0, 99.99, 10.0, 1.0, 2 ) 18 | 19 | def calculateDoseUsingEngine(self, beamNode, resultDoseVolumeNode): 20 | import qSlicerExternalBeamPlanningModuleWidgetsPythonQt as engines 21 | mockEngine = engines.qSlicerMockDoseEngine() 22 | 23 | # Set parameter for C++ mock engine so that it is used with this beam node 24 | mockEngine.setParameter( beamNode, "NoiseRange", self.scriptedEngine.doubleParameter(beamNode, "NoiseRange") ) 25 | 26 | # Call C++ mock engine to calculate mock dose 27 | return mockEngine.calculateDoseUsingEngine(beamNode, resultDoseVolumeNode) 28 | -------------------------------------------------------------------------------- /Isodose/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 10 | ${vtkSlicerColorsModuleLogic_INCLUDE_DIRS} 11 | ${vtkSlicerIsodoseModuleMRML_INCLUDE_DIRS} 12 | ) 13 | 14 | set(${KIT}_SRCS 15 | vtkSlicer${MODULE_NAME}ModuleLogic.cxx 16 | vtkSlicer${MODULE_NAME}ModuleLogic.h 17 | ) 18 | 19 | set(${KIT}_TARGET_LIBRARIES 20 | vtkSlicerRtCommon 21 | vtkSlicerSubjectHierarchyModuleLogic 22 | vtkSlicerColorsModuleLogic 23 | vtkSlicer${MODULE_NAME}ModuleMRML 24 | MRMLCore 25 | ${ITK_LIBRARIES} 26 | ${VTK_LIBRARIES} 27 | ) 28 | 29 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${Slicer_Base_INCLUDE_DIRS} CACHE INTERNAL "" FORCE) 30 | 31 | #----------------------------------------------------------------------------- 32 | SlicerMacroBuildModuleLogic( 33 | NAME ${KIT} 34 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 35 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 36 | SRCS ${${KIT}_SRCS} 37 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 38 | ) 39 | 40 | #----------------------------------------------------------------------------- 41 | configure_file( 42 | ${CMAKE_CURRENT_SOURCE_DIR}/../Resources/Isodose_ColorTable.ctbl 43 | ${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_SHARE_DIR}/${MODULE_NAME}/Isodose_ColorTable.ctbl 44 | COPYONLY) 45 | 46 | install( 47 | FILES ${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_SHARE_DIR}/${MODULE_NAME}/Isodose_ColorTable.ctbl 48 | DESTINATION ${Slicer_INSTALL_QTLOADABLEMODULES_SHARE_DIR}/${MODULE_NAME} COMPONENT Runtime) 49 | -------------------------------------------------------------------------------- /Isodose/MRML/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleMRML) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_MODULE_MRML_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${MRML_INCLUDE_DIRS} 9 | ) 10 | 11 | # -------------------------------------------------------------------------- 12 | # Sources 13 | 14 | set(${KIT}_SRCS 15 | vtkMRMLIsodoseNode.cxx 16 | vtkMRMLIsodoseNode.h 17 | ) 18 | 19 | SET (${KIT}_INCLUDE_DIRS 20 | ${CMAKE_CURRENT_SOURCE_DIR} 21 | ${CMAKE_CURRENT_BINARY_DIR} 22 | ${Slicer_Base_INCLUDE_DIRS} 23 | ${MRMLCore_INCLUDE_DIRS} 24 | CACHE INTERNAL "" FORCE) 25 | 26 | # -------------------------------------------------------------------------- 27 | # Build the library 28 | 29 | set(${KIT}_TARGET_LIBRARIES 30 | ${MRML_LIBRARIES} 31 | ) 32 | 33 | SlicerMacroBuildModuleMRML( 34 | NAME ${KIT} 35 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 36 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 37 | SRCS ${${KIT}_SRCS} 38 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 39 | ) 40 | 41 | # Set linker flags, needed for OpenMP 42 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 43 | set_target_properties (${KIT} 44 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 45 | endif () 46 | -------------------------------------------------------------------------------- /Isodose/Resources/Icons/Isodose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Isodose/Resources/Icons/Isodose.png -------------------------------------------------------------------------------- /Isodose/Resources/Isodose_ColorTable.ctbl: -------------------------------------------------------------------------------- 1 | # Color table file Isodose_ColorTable.ctbl 2 | # 6 values 3 | 0 5 0 255 0 255 4 | 1 10 128 255 0 255 5 | 2 15 255 255 0 255 6 | 3 20 255 168 0 255 7 | 4 25 255 84 0 255 8 | 5 30 255 0 0 255 9 | -------------------------------------------------------------------------------- /Isodose/Resources/qSlicerIsodoseModule.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/Isodose.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /Isodose/SubjectHierarchyPlugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(qSlicer${MODULE_NAME}SubjectHierarchyPlugins) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "Q_SLICER_${MODULE_NAME_UPPER}_SUBJECT_HIERARCHY_PLUGINS_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ${vtkSlicerIsodoseModuleMRML_INCLUDE_DIRS} 10 | ${vtkSlicerIsodoseModuleLogic_INCLUDE_DIRS} 11 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 12 | ${qSlicerSubjectHierarchyModuleWidgets_INCLUDE_DIRS} 13 | ${MRMLCore_INCLUDE_DIRS} 14 | ${MRMLLogic_INCLUDE_DIRS} 15 | ${qMRMLWidgets_INCLUDE_DIRS} 16 | ${MRMLCLI_INCLUDE_DIRS} 17 | ${Slicer_Libs_INCLUDE_DIRS} 18 | ) 19 | 20 | set(${KIT}_SRCS 21 | qSlicerSubjectHierarchy${MODULE_NAME}Plugin.cxx 22 | qSlicerSubjectHierarchy${MODULE_NAME}Plugin.h 23 | ) 24 | 25 | set(${KIT}_MOC_SRCS 26 | qSlicerSubjectHierarchy${MODULE_NAME}Plugin.h 27 | ) 28 | 29 | set(${KIT}_UI_SRCS 30 | ) 31 | 32 | set(${KIT}_RESOURCES 33 | Resources/${KIT}.qrc 34 | ) 35 | 36 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "" FORCE) 37 | 38 | #----------------------------------------------------------------------------- 39 | set(${KIT}_TARGET_LIBRARIES 40 | vtkSlicerIsodoseModuleMRML 41 | vtkSlicerIsodoseModuleLogic 42 | vtkSlicerSubjectHierarchyModuleLogic 43 | qSlicerSubjectHierarchyModuleWidgets 44 | MRMLCore 45 | MRMLLogic 46 | MRMLCLI 47 | qMRMLWidgets 48 | ${QT_LIBRARIES} 49 | ) 50 | 51 | #----------------------------------------------------------------------------- 52 | SlicerMacroBuildModuleQtLibrary( 53 | NAME ${KIT} 54 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 55 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 56 | SRCS ${${KIT}_SRCS} 57 | MOC_SRCS ${${KIT}_MOC_SRCS} 58 | UI_SRCS ${${KIT}_UI_SRCS} 59 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 60 | RESOURCES ${${KIT}_RESOURCES} 61 | WRAP_PYTHONQT 62 | ) 63 | -------------------------------------------------------------------------------- /Isodose/SubjectHierarchyPlugins/Resources/Icons/IsodoseLines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Isodose/SubjectHierarchyPlugins/Resources/Icons/IsodoseLines.png -------------------------------------------------------------------------------- /Isodose/SubjectHierarchyPlugins/Resources/qSlicerIsodoseSubjectHierarchyPlugins.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/IsodoseLines.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /Isodose/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Cxx) 2 | -------------------------------------------------------------------------------- /Isodose/Testing/Cxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KIT qSlicer${MODULE_NAME}Module) 2 | 3 | set(KIT_TEST_SRCS 4 | vtkSlicerIsodoseModuleLogicTest1.cxx 5 | ) 6 | 7 | slicerMacroConfigureModuleCxxTestDriver( 8 | NAME ${KIT} 9 | SOURCES ${KIT_TEST_SRCS} 10 | TARGET_LIBRARIES vtkSlicerIsodoseModuleLogic 11 | WITH_VTK_DEBUG_LEAKS_CHECK 12 | ) 13 | 14 | #----------------------------------------------------------------------------- 15 | set(TEMP "${CMAKE_BINARY_DIR}/Testing/Temporary") 16 | 17 | macro(TEST_WITH_DATA TestName TestExecutableName 18 | TestSceneFile TemporarySceneFile 19 | BaselineIsodoseSurfaceFile VolumeDifferenceToleranceCc) 20 | add_test( 21 | NAME ${TestName} 22 | COMMAND ${Slicer_LAUNCH_COMMAND} $ ${TestExecutableName} ${ARGN} 23 | -TestSceneFile ${TestSceneFile} 24 | -TemporarySceneFile ${TemporarySceneFile} 25 | -BaselineIsodoseSurfaceFile ${BaselineIsodoseSurfaceFile} 26 | -VolumeDifferenceToleranceCc ${VolumeDifferenceToleranceCc} 27 | ) 28 | endmacro() 29 | 30 | #----------------------------------------------------------------------------- 31 | TEST_WITH_DATA( 32 | vtkSlicerIsodoseModuleLogicTest_EclipseProstate 33 | vtkSlicerIsodoseModuleLogicTest1 34 | ${CMAKE_CURRENT_SOURCE_DIR}/../../../Testing/Data/Scenes/EclipseProstate_Isodose_Scene.mrml 35 | ${TEMP}/TestScene_Isodose_EclipseProstate.mrml 36 | ${CMAKE_CURRENT_SOURCE_DIR}/../../../Testing/Data/EclipseProstate_Isodose_Baseline.vtk 37 | 1.0 38 | ) 39 | set_tests_properties(vtkSlicerIsodoseModuleLogicTest_EclipseProstate PROPERTIES FAIL_REGULAR_EXPRESSION "Error;ERROR;Warning;WARNING" ) 40 | -------------------------------------------------------------------------------- /PinnacleDvfReader/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME PinnacleDvfReader) 3 | set(MODULE_TITLE "Pinnacle Deformation Vector Field Reader") 4 | 5 | string(TOUPPER ${MODULE_NAME} MODULE_NAME_UPPER) 6 | 7 | #----------------------------------------------------------------------------- 8 | add_subdirectory(Logic) 9 | 10 | #----------------------------------------------------------------------------- 11 | set(MODULE_EXPORT_DIRECTIVE "Q_SLICER_${MODULE_NAME_UPPER}_EXPORT") 12 | 13 | # Additional includes - Current_{source,binary} and Slicer_{Libs,Base} already included 14 | set(MODULE_INCLUDE_DIRECTORIES 15 | ${CMAKE_CURRENT_SOURCE_DIR}/Logic 16 | ${CMAKE_CURRENT_BINARY_DIR}/Logic 17 | ) 18 | 19 | set(MODULE_SRCS 20 | qSlicer${MODULE_NAME}Plugin.cxx 21 | qSlicer${MODULE_NAME}Plugin.h 22 | qSlicer${MODULE_NAME}PluginWidget.cxx 23 | qSlicer${MODULE_NAME}PluginWidget.h 24 | qSlicer${MODULE_NAME}OptionsWidget.cxx 25 | qSlicer${MODULE_NAME}OptionsWidget.h 26 | qSlicer${MODULE_NAME}Module.cxx 27 | qSlicer${MODULE_NAME}Module.h 28 | ) 29 | 30 | set(MODULE_MOC_SRCS 31 | qSlicer${MODULE_NAME}Plugin.h 32 | qSlicer${MODULE_NAME}PluginWidget.h 33 | qSlicer${MODULE_NAME}OptionsWidget.h 34 | qSlicer${MODULE_NAME}Module.h 35 | ) 36 | 37 | set(MODULE_UI_SRCS 38 | Resources/UI/qSlicer${MODULE_NAME}PluginWidget.ui 39 | Resources/UI/qSlicer${MODULE_NAME}OptionsWidget.ui 40 | ) 41 | 42 | set(MODULE_TARGET_LIBRARIES 43 | vtkSlicer${MODULE_NAME}Logic 44 | ) 45 | 46 | #----------------------------------------------------------------------------- 47 | slicerMacroBuildLoadableModule( 48 | NAME ${MODULE_NAME} 49 | TITLE ${MODULE_TITLE} 50 | EXPORT_DIRECTIVE ${MODULE_EXPORT_DIRECTIVE} 51 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 52 | SRCS ${MODULE_SRCS} 53 | MOC_SRCS ${MODULE_MOC_SRCS} 54 | UI_SRCS ${MODULE_UI_SRCS} 55 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 56 | WITH_GENERIC_TESTS 57 | ) 58 | 59 | #----------------------------------------------------------------------------- 60 | #if(BUILD_TESTING) 61 | # add_subdirectory(Testing) 62 | #endif() 63 | -------------------------------------------------------------------------------- /PinnacleDvfReader/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}Logic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ) 9 | 10 | set(${KIT}_SRCS 11 | vtkSlicer${MODULE_NAME}Logic.cxx 12 | vtkSlicer${MODULE_NAME}Logic.h 13 | vtkSlicer${MODULE_NAME}.cxx 14 | vtkSlicer${MODULE_NAME}.h ) 15 | 16 | set(${KIT}_TARGET_LIBRARIES 17 | ) 18 | 19 | #----------------------------------------------------------------------------- 20 | SlicerMacroBuildModuleLogic( 21 | NAME ${KIT} 22 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 23 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 24 | SRCS ${${KIT}_SRCS} 25 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 26 | ) 27 | -------------------------------------------------------------------------------- /PinnacleDvfReader/Logic/vtkSlicerPinnacleDvfReaderLogic.h: -------------------------------------------------------------------------------- 1 | /*========================================================================== 2 | 3 | Copyright (c) Radiation Medicine Program, University Health Network, 4 | Princess Margaret Hospital, Toronto, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Kevin Wang, Princess Margaret Cancer Centre 16 | and was supported by Cancer Care Ontario (CCO)'s ACRU program 17 | with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | and Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO). 19 | 20 | ==========================================================================*/ 21 | 22 | #ifndef __vtkSlicerPinnacleDvfReaderLogic_h 23 | #define __vtkSlicerPinnacleDvfReaderLogic_h 24 | 25 | // Slicer includes 26 | #include "vtkSlicerModuleLogic.h" 27 | 28 | // STD includes 29 | #include 30 | 31 | // PinnacleDvfReader includes 32 | #include "vtkSlicerPinnacleDvfReaderLogicExport.h" 33 | 34 | /// \ingroup SlicerRt_QtModules_PinnacleDvfReader 35 | class VTK_SLICER_PINNACLEDVFREADER_LOGIC_EXPORT vtkSlicerPinnacleDvfReaderLogic : 36 | public vtkSlicerModuleLogic 37 | { 38 | public: 39 | static vtkSlicerPinnacleDvfReaderLogic *New(); 40 | vtkTypeMacro(vtkSlicerPinnacleDvfReaderLogic, vtkSlicerModuleLogic); 41 | void PrintSelf(ostream& os, vtkIndent indent); 42 | 43 | /// Load DVF from file 44 | /// \param filename Path and filename of the DVF file 45 | /// \param 46 | void LoadPinnacleDvf(char *filename, double gridOriginX, double gridOriginY, double gridOriginZ); 47 | 48 | protected: 49 | vtkSlicerPinnacleDvfReaderLogic(); 50 | ~vtkSlicerPinnacleDvfReaderLogic() override; 51 | 52 | private: 53 | vtkSlicerPinnacleDvfReaderLogic(const vtkSlicerPinnacleDvfReaderLogic&) = delete; 54 | void operator=(const vtkSlicerPinnacleDvfReaderLogic&) = delete; 55 | }; 56 | 57 | #endif -------------------------------------------------------------------------------- /PinnacleDvfReader/Resources/UI/qSlicerPinnacleDvfReaderOptionsWidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerPinnacleDvfReaderOptionsWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 552 10 | 27 11 | 12 | 13 | 14 | Volume Options 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 22 | 23 | Grid Origin (XYZ): 24 | 25 | 26 | 27 | 28 | 29 | 30 | 0 31 | 32 | 33 | 34 | 35 | 36 | 37 | 0 38 | 39 | 40 | 41 | 42 | 43 | 44 | 0 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | qSlicerWidget 53 | QWidget 54 |
qSlicerWidget.h
55 | 1 56 |
57 |
58 | 59 | 60 |
61 | -------------------------------------------------------------------------------- /PinnacleDvfReader/Resources/UI/qSlicerPinnacleDvfReaderPluginWidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerPinnacleDvfReaderPluginWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 552 10 | 146 11 | 12 | 13 | 14 | Volume Options 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 22 | 23 | 24 | qSlicerWidget 25 | QWidget 26 |
qSlicerWidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /PinnacleDvfReader/qSlicerPinnacleDvfReaderOptionsWidget.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Radiation Medicine Program, University Health Network, 4 | Princess Margaret Hospital, Toronto, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Kevin Wang, Radiation Medicine Program, 16 | University Health Network and was supported by Cancer Care Ontario (CCO)'s ACRU program 17 | with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | and Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO). 19 | 20 | ==============================================================================*/ 21 | 22 | #ifndef __qSlicerPinnacleDvfReaderOptionsWidget_h 23 | #define __qSlicerPinnacleDvfReaderOptionsWidget_h 24 | 25 | // CTK includes 26 | #include 27 | 28 | // SlicerQt includes 29 | #include "qSlicerIOOptionsWidget.h" 30 | 31 | // PinnacleDvfReader includes 32 | #include "qSlicerPinnacleDvfReaderModuleExport.h" 33 | 34 | class qSlicerPinnacleDvfReaderOptionsWidgetPrivate; 35 | 36 | /// \ingroup SlicerRt_QtModules_PinnacleDvfReader 37 | class Q_SLICER_PINNACLEDVFREADER_EXPORT qSlicerPinnacleDvfReaderOptionsWidget : 38 | public qSlicerIOOptionsWidget 39 | { 40 | Q_OBJECT 41 | public: 42 | typedef qSlicerIOOptionsWidget Superclass; 43 | qSlicerPinnacleDvfReaderOptionsWidget(QWidget *parent=nullptr); 44 | ~qSlicerPinnacleDvfReaderOptionsWidget() override; 45 | 46 | 47 | protected slots: 48 | void updateProperties(); 49 | 50 | private: 51 | Q_DECLARE_PRIVATE_D(qGetPtrHelper(qSlicerIOOptions::d_ptr), qSlicerPinnacleDvfReaderOptionsWidget); 52 | //Q_DECLARE_PRIVATE(qSlicerPinnacleDvfReaderOptionsWidget); 53 | Q_DISABLE_COPY(qSlicerPinnacleDvfReaderOptionsWidget); 54 | }; 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /PinnacleDvfReader/qSlicerPinnacleDvfReaderPluginWidget.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Radiation Medicine Program, University Health Network, 4 | Princess Margaret Hospital, Toronto, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Kevin Wang, Princess Margaret Cancer Centre 16 | and was supported by Cancer Care Ontario (CCO)'s ACRU program 17 | with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | and Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO). 19 | 20 | ==============================================================================*/ 21 | 22 | #ifndef __qSlicerPinnacleDvfReaderPluginWidget_h 23 | #define __qSlicerPinnacleDvfReaderPluginWidget_h 24 | 25 | // SlicerQt includes 26 | #include "qSlicerAbstractModuleWidget.h" 27 | 28 | // PinnacleDvfReader includes 29 | #include "qSlicerPinnacleDvfReaderModuleExport.h" 30 | 31 | class qSlicerPinnacleDvfReaderPluginWidgetPrivate; 32 | 33 | /// \ingroup SlicerRt_QtModules_PinnacleDvfReader 34 | class Q_SLICER_PINNACLEDVFREADER_EXPORT qSlicerPinnacleDvfReaderPluginWidget : 35 | public qSlicerAbstractModuleWidget 36 | { 37 | Q_OBJECT 38 | public: 39 | typedef qSlicerAbstractModuleWidget Superclass; 40 | qSlicerPinnacleDvfReaderPluginWidget(QWidget *parent=nullptr); 41 | ~qSlicerPinnacleDvfReaderPluginWidget() override; 42 | 43 | protected: 44 | QScopedPointer d_ptr; 45 | void setup() override; 46 | 47 | private: 48 | Q_DECLARE_PRIVATE(qSlicerPinnacleDvfReaderPluginWidget); 49 | Q_DISABLE_COPY(qSlicerPinnacleDvfReaderPluginWidget); 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /PlanarImage/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME "PlanarImage") 3 | set(MODULE_TITLE "Planar Image") 4 | 5 | string(TOUPPER ${MODULE_NAME} MODULE_NAME_UPPER) 6 | 7 | #----------------------------------------------------------------------------- 8 | add_subdirectory(Logic) 9 | 10 | #----------------------------------------------------------------------------- 11 | set(MODULE_EXPORT_DIRECTIVE "Q_SLICER_QTMODULES_${MODULE_NAME_UPPER}_EXPORT") 12 | 13 | set(MODULE_INCLUDE_DIRECTORIES 14 | ${CMAKE_CURRENT_SOURCE_DIR}/Logic 15 | ${CMAKE_CURRENT_BINARY_DIR}/Logic 16 | ${SlicerRtCommon_INCLUDE_DIRS} 17 | ) 18 | 19 | set(MODULE_SRCS 20 | qSlicer${MODULE_NAME}Module.cxx 21 | qSlicer${MODULE_NAME}Module.h 22 | qSlicer${MODULE_NAME}ModuleWidget.cxx 23 | qSlicer${MODULE_NAME}ModuleWidget.h 24 | ) 25 | 26 | set(MODULE_MOC_SRCS 27 | qSlicer${MODULE_NAME}Module.h 28 | qSlicer${MODULE_NAME}ModuleWidget.h 29 | ) 30 | 31 | set(MODULE_UI_SRCS 32 | Resources/UI/qSlicer${MODULE_NAME}Module.ui 33 | ) 34 | 35 | set(MODULE_TARGET_LIBRARIES 36 | vtkSlicer${MODULE_NAME}ModuleLogic 37 | ) 38 | 39 | #----------------------------------------------------------------------------- 40 | slicerMacroBuildLoadableModule( 41 | NAME ${MODULE_NAME} 42 | TITLE ${MODULE_TITLE} 43 | EXPORT_DIRECTIVE ${MODULE_EXPORT_DIRECTIVE} 44 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 45 | SRCS ${MODULE_SRCS} 46 | MOC_SRCS ${MODULE_MOC_SRCS} 47 | UI_SRCS ${MODULE_UI_SRCS} 48 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 49 | WITH_GENERIC_TESTS 50 | ) 51 | 52 | #----------------------------------------------------------------------------- 53 | #if(BUILD_TESTING) 54 | # add_subdirectory(Testing) 55 | #endif() 56 | -------------------------------------------------------------------------------- /PlanarImage/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${SlicerRtCommon_INCLUDE_DIRS} 9 | ) 10 | 11 | set(${KIT}_SRCS 12 | vtkSlicer${MODULE_NAME}ModuleLogic.cxx 13 | vtkSlicer${MODULE_NAME}ModuleLogic.h 14 | vtkMRML${MODULE_NAME}Node.cxx 15 | vtkMRML${MODULE_NAME}Node.h 16 | ) 17 | 18 | SET (${KIT}_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${Slicer_Base_INCLUDE_DIRS} CACHE INTERNAL "" FORCE) 19 | 20 | #----------------------------------------------------------------------------- 21 | set(${KIT}_TARGET_LIBRARIES 22 | vtkSlicerRtCommon 23 | ) 24 | 25 | #----------------------------------------------------------------------------- 26 | SlicerMacroBuildModuleLogic( 27 | NAME ${KIT} 28 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 29 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 30 | SRCS ${${KIT}_SRCS} 31 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 32 | ) 33 | -------------------------------------------------------------------------------- /PlanarImage/Resources/UI/qSlicerPlanarImageModule.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerPlanarImageModule 4 | 5 | 6 | 7 | 0 8 | 0 9 | 320 10 | 261 11 | 12 | 13 | 14 | Planar Image Visualizer 15 | 16 | 17 | 18 | 4 19 | 20 | 21 | 4 22 | 23 | 24 | 25 | 26 | 27 | qSlicerWidget 28 | QWidget 29 |
qSlicerWidget.h
30 | 1 31 |
32 |
33 | 34 | 35 |
36 | -------------------------------------------------------------------------------- /PlanarImage/qSlicerPlanarImageModuleWidget.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Csaba Pinter, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care 18 | 19 | ==============================================================================*/ 20 | 21 | #ifndef __qSlicerPlanarImageModuleWidget_h 22 | #define __qSlicerPlanarImageModuleWidget_h 23 | 24 | // SlicerQt includes 25 | #include "qSlicerAbstractModuleWidget.h" 26 | 27 | #include "qSlicerPlanarImageModuleExport.h" 28 | 29 | class qSlicerPlanarImageModuleWidgetPrivate; 30 | class vtkMRMLNode; 31 | 32 | /// \ingroup SlicerRt_QtModules_PlanarImage 33 | class Q_SLICER_QTMODULES_PLANARIMAGE_EXPORT qSlicerPlanarImageModuleWidget : 34 | public qSlicerAbstractModuleWidget 35 | { 36 | Q_OBJECT 37 | QVTK_OBJECT 38 | 39 | public: 40 | typedef qSlicerAbstractModuleWidget Superclass; 41 | qSlicerPlanarImageModuleWidget(QWidget *parent=nullptr); 42 | ~qSlicerPlanarImageModuleWidget() override; 43 | 44 | public slots: 45 | 46 | protected: 47 | QScopedPointer d_ptr; 48 | 49 | void setup() override; 50 | 51 | private: 52 | Q_DECLARE_PRIVATE(qSlicerPlanarImageModuleWidget); 53 | Q_DISABLE_COPY(qSlicerPlanarImageModuleWidget); 54 | }; 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /PlastimatchPy/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME PlastimatchPy) 3 | set(MODULE_TITLE ${MODULE_NAME}) 4 | 5 | string(TOUPPER ${MODULE_NAME} MODULE_NAME_UPPER) 6 | 7 | #----------------------------------------------------------------------------- 8 | find_package(Plastimatch QUIET PATHS ${Plastimatch_DIR} NO_DEFAULT_PATH) 9 | if(NOT Plastimatch_FOUND) 10 | message("Plastimatch library is not found. DoseComparison module will not be built.") 11 | return() 12 | endif() 13 | 14 | #----------------------------------------------------------------------------- 15 | add_subdirectory(Logic) 16 | 17 | #----------------------------------------------------------------------------- 18 | set(MODULE_EXPORT_DIRECTIVE "Q_SLICER_QTMODULES_${MODULE_NAME_UPPER}_EXPORT") 19 | 20 | # Current_{source,binary} and Slicer_{Libs,Base} already included 21 | set(MODULE_INCLUDE_DIRECTORIES 22 | ${CMAKE_CURRENT_SOURCE_DIR}/Logic 23 | ${CMAKE_CURRENT_BINARY_DIR}/Logic 24 | ${PLASTIMATCH_INCLUDE_DIRS} 25 | ${Plastimatch_DIR} 26 | ) 27 | 28 | set(MODULE_SRCS 29 | qSlicer${MODULE_NAME}Module.cxx 30 | qSlicer${MODULE_NAME}Module.h 31 | qSlicer${MODULE_NAME}ModuleWidget.cxx 32 | qSlicer${MODULE_NAME}ModuleWidget.h 33 | ) 34 | 35 | set(MODULE_MOC_SRCS 36 | qSlicer${MODULE_NAME}Module.h 37 | qSlicer${MODULE_NAME}ModuleWidget.h 38 | ) 39 | 40 | set(MODULE_UI_SRCS 41 | Resources/UI/qSlicer${MODULE_NAME}ModuleWidget.ui 42 | ) 43 | 44 | set(MODULE_TARGET_LIBRARIES 45 | vtkSlicer${MODULE_NAME}ModuleLogic 46 | ) 47 | 48 | #----------------------------------------------------------------------------- 49 | slicerMacroBuildLoadableModule( 50 | NAME ${MODULE_NAME} 51 | TITLE ${MODULE_TITLE} 52 | EXPORT_DIRECTIVE ${MODULE_EXPORT_DIRECTIVE} 53 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 54 | SRCS ${MODULE_SRCS} 55 | MOC_SRCS ${MODULE_MOC_SRCS} 56 | UI_SRCS ${MODULE_UI_SRCS} 57 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 58 | WITH_GENERIC_TESTS 59 | ) 60 | 61 | #----------------------------------------------------------------------------- 62 | #if(BUILD_TESTING) 63 | # add_subdirectory(Testing) 64 | #endif() 65 | -------------------------------------------------------------------------------- /PlastimatchPy/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_MODULE_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${PlmCommon_INCLUDE_DIRS} 9 | ${SlicerRtCommon_INCLUDE_DIRS} 10 | ${PLASTIMATCH_INCLUDE_DIRS} 11 | ${vtkITK_INCLUDE_DIRS} 12 | ${vtkAddon_INCLUDE_DIRS} 13 | ) 14 | 15 | set(${KIT}_SRCS 16 | vtkPlmpyRegistration.cxx 17 | vtkPlmpyRegistration.h 18 | vtkPlmpyDicomSroExport.cxx 19 | vtkPlmpyDicomSroExport.h 20 | vtkPlmpyVectorFieldAnalysis.cxx 21 | vtkPlmpyVectorFieldAnalysis.h 22 | ) 23 | 24 | set(${KIT}_TARGET_LIBRARIES 25 | ${ITK_LIBRARIES} 26 | ${PLASTIMATCH_LIBRARIES} 27 | vtkPlmCommon 28 | vtkSlicerTransformsModuleLogic 29 | ) 30 | 31 | #----------------------------------------------------------------------------- 32 | SlicerMacroBuildModuleLogic( 33 | NAME ${KIT} 34 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 35 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 36 | SRCS ${${KIT}_SRCS} 37 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 38 | ) 39 | 40 | # Set linker flags, needed for OpenMP 41 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 42 | set_target_properties (${KIT} 43 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 44 | endif () 45 | 46 | -------------------------------------------------------------------------------- /PlastimatchPy/Resources/UI/qSlicerPlastimatchPyModuleWidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerPlastimatchPyModuleWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 525 10 | 319 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | 20 | Display 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | Qt::Vertical 29 | 30 | 31 | 32 | 0 33 | 0 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | qSlicerWidget 43 | QWidget 44 |
qSlicerWidget.h
45 | 1 46 |
47 | 48 | ctkCollapsibleButton 49 | QWidget 50 |
ctkCollapsibleButton.h
51 | 1 52 |
53 |
54 | 55 | 56 |
57 | -------------------------------------------------------------------------------- /PlastimatchPy/qSlicerPlastimatchPyModuleWidget.h: -------------------------------------------------------------------------------- 1 | /*========================================================================== 2 | 3 | Copyright (c) Massachusetts General Hospital, Boston, MA, USA. All Rights Reserved. 4 | 5 | See COPYRIGHT.txt 6 | or http://www.slicer.org/copyright/copyright.txt for details. 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. 13 | 14 | This file was originally developed by Paolo Zaffino, Universita' degli Studi 15 | "Magna Graecia" di Catanzaro and was supported through the Applied Cancer 16 | Research Unit program of Cancer Care Ontario with funds provided by the 17 | Natural Sciences and Engineering Research Council of Canada. 18 | 19 | ==========================================================================*/ 20 | 21 | #ifndef __qSlicerPlastimatchPyModuleWidget_h 22 | #define __qSlicerPlastimatchPyModuleWidget_h 23 | 24 | // SlicerQt includes 25 | #include "qSlicerAbstractModuleWidget.h" 26 | 27 | #include "qSlicerPlastimatchPyModuleExport.h" 28 | 29 | class qSlicerPlastimatchPyModuleWidgetPrivate; 30 | class vtkMRMLNode; 31 | 32 | /// \ingroup SlicerRt_QtModules_PlastimatchPy 33 | class Q_SLICER_QTMODULES_PLASTIMATCHPY_EXPORT qSlicerPlastimatchPyModuleWidget : 34 | public qSlicerAbstractModuleWidget 35 | { 36 | Q_OBJECT 37 | 38 | public: 39 | 40 | typedef qSlicerAbstractModuleWidget Superclass; 41 | qSlicerPlastimatchPyModuleWidget(QWidget *parent=nullptr); 42 | ~qSlicerPlastimatchPyModuleWidget() override; 43 | 44 | public slots: 45 | 46 | 47 | protected: 48 | QScopedPointer d_ptr; 49 | 50 | void setup() override; 51 | 52 | private: 53 | Q_DECLARE_PRIVATE(qSlicerPlastimatchPyModuleWidget); 54 | Q_DISABLE_COPY(qSlicerPlastimatchPyModuleWidget); 55 | }; 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /PlmBspline/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME plastimatch_slicer_bspline) 3 | 4 | find_package(Plastimatch QUIET PATHS ${Plastimatch_DIR} NO_DEFAULT_PATH) 5 | if(NOT Plastimatch_FOUND) 6 | message("Plastimatch library is not found. The ${MODULE_NAME} module will not be built.") 7 | return() 8 | endif() 9 | 10 | #----------------------------------------------------------------------------- 11 | set(MODULE_INCLUDE_DIRECTORIES 12 | ${Plastimatch_DIR} 13 | ${PLASTIMATCH_INCLUDE_DIRS} 14 | ) 15 | 16 | set(MODULE_SRCS 17 | ) 18 | 19 | set(MODULE_TARGET_LIBRARIES 20 | ${ITK_LIBRARIES} 21 | plmbase 22 | plmutil 23 | plmregister 24 | ) 25 | 26 | #----------------------------------------------------------------------------- 27 | SEMMacroBuildCLI( 28 | NAME ${MODULE_NAME} 29 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 30 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 31 | ADDITIONAL_SRCS ${MODULE_SRCS} 32 | RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_BIN_DIR}" 33 | LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}" 34 | ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}" 35 | #EXECUTABLE_ONLY 36 | ) 37 | 38 | # Set linker flags, needed for OpenMP 39 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 40 | set_target_properties (${MODULE_NAME}Lib 41 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 42 | endif () 43 | 44 | #----------------------------------------------------------------------------- 45 | if(BUILD_TESTING) 46 | #add_subdirectory(Testing) 47 | endif() 48 | -------------------------------------------------------------------------------- /PlmCommon/vtkPlmCommonConfigure.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Here is where system computed values get stored. 3 | * These values should only change when the target compile platform changes. 4 | */ 5 | 6 | #if defined(WIN32) && !defined(vtkPlmCommon_STATIC) 7 | #pragma warning ( disable : 4275 ) 8 | #endif 9 | 10 | #cmakedefine BUILD_SHARED_LIBS 11 | #ifndef BUILD_SHARED_LIBS 12 | #define vtkPlmCommon_STATIC 13 | #endif 14 | -------------------------------------------------------------------------------- /PlmCommon/vtkPlmCommonWin32Header.h: -------------------------------------------------------------------------------- 1 | /*========================================================================== 2 | 3 | Copyright (c) Massachusetts General Hospital, Boston, MA, USA. All Rights Reserved. 4 | 5 | See COPYRIGHT.txt 6 | or http://www.slicer.org/copyright/copyright.txt for details. 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. 13 | 14 | This file was originally developed by Gregory C. Sharp, Massachusetts General Hospital 15 | and was supported through the Applied Cancer Research Unit program of Cancer Care 16 | Ontario with funds provided by the Natural Sciences and Engineering Research Council 17 | of Canada. 18 | 19 | ==========================================================================*/ 20 | 21 | /// vtkMRMLLogicWin32Header - manage Windows system differences 22 | /// 23 | /// The vtkMRMLLogicWin32Header captures some system differences between Unix 24 | /// and Windows operating systems. 25 | 26 | 27 | #ifndef __vtkPlmCommonWin32Header_h 28 | #define __vtkPlmCommonWin32Header_h 29 | 30 | #include 31 | 32 | #if defined(WIN32) && !defined(vtkPlmCommon_STATIC) 33 | #if defined(vtkPlmCommon_EXPORTS) 34 | #define VTK_PLMCOMMON_EXPORT __declspec( dllexport ) 35 | #else 36 | #define VTK_PLMCOMMON_EXPORT __declspec( dllimport ) 37 | #endif 38 | #else 39 | #define VTK_PLMCOMMON_EXPORT 40 | #endif 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /PlmDrr/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | #----------------------------------------------------------------------------- 3 | set(MODULE_NAME plastimatch_slicer_drr) 4 | 5 | #----------------------------------------------------------------------------- 6 | 7 | # Plastimatch 8 | find_package(Plastimatch QUIET PATHS ${Plastimatch_DIR} NO_DEFAULT_PATH) 9 | if(NOT Plastimatch_FOUND) 10 | message("Plastimatch library is not found. The ${MODULE_NAME} module will not be built.") 11 | return() 12 | endif() 13 | 14 | # 15 | # SlicerExecutionModel 16 | # 17 | find_package(SlicerExecutionModel REQUIRED) 18 | include(${SlicerExecutionModel_USE_FILE}) 19 | 20 | # 21 | # ITK 22 | # 23 | set(${PROJECT_NAME}_ITK_COMPONENTS 24 | ITKIOImageBase 25 | ITKImageIntensity 26 | ) 27 | find_package(ITK 4.6 COMPONENTS ${${PROJECT_NAME}_ITK_COMPONENTS} REQUIRED) 28 | set(ITK_NO_IO_FACTORY_REGISTER_MANAGER 1) # See Libs/ITKFactoryRegistration/CMakeLists.txt 29 | include(${ITK_USE_FILE}) 30 | 31 | #----------------------------------------------------------------------------- 32 | set(MODULE_INCLUDE_DIRECTORIES 33 | ${Plastimatch_DIR} 34 | ${PLASTIMATCH_INCLUDE_DIRS} 35 | ) 36 | 37 | set(MODULE_SRCS 38 | ) 39 | 40 | set(MODULE_TARGET_LIBRARIES 41 | ${ITK_LIBRARIES} 42 | ${PLASTIMATCH_LIBRARIES} 43 | ) 44 | 45 | #----------------------------------------------------------------------------- 46 | SEMMacroBuildCLI( 47 | NAME ${MODULE_NAME} 48 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 49 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 50 | ADDITIONAL_SRCS ${MODULE_SRCS} 51 | RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_BIN_DIR}" 52 | LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}" 53 | ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}" 54 | #EXECUTABLE_ONLY 55 | ) 56 | 57 | # Set linker flags, needed for OpenMP 58 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 59 | set_target_properties (${MODULE_NAME}Lib 60 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 61 | endif () 62 | 63 | #----------------------------------------------------------------------------- 64 | if(BUILD_TESTING) 65 | add_subdirectory(Testing) 66 | endif() 67 | -------------------------------------------------------------------------------- /PlmDrr/Data/Baseline/plastimatch_slicer_drrTest.nrrd.sha256: -------------------------------------------------------------------------------- 1 | a2ea6960769aac2f00d6d88d3280a58d0556d3c47fc2563bed625572567377a3 2 | -------------------------------------------------------------------------------- /PlmDrr/Data/Input/CTHeadAxial.nhdr.md5: -------------------------------------------------------------------------------- 1 | 6e5c289c73e14ba7a1b0f8aaf6ed249a -------------------------------------------------------------------------------- /PlmDrr/Data/Input/CTHeadAxial.raw.gz.md5: -------------------------------------------------------------------------------- 1 | 3ebd710c9cf9d75750f4569b8caf6d07 -------------------------------------------------------------------------------- /PlmDrr/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Cxx) 2 | -------------------------------------------------------------------------------- /PlmDrr/Testing/Cxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | #----------------------------------------------------------------------------- 3 | set(BASELINE ${CMAKE_CURRENT_SOURCE_DIR}/../../Data/Baseline) 4 | set(INPUT ${CMAKE_CURRENT_SOURCE_DIR}/../../Data/Input) 5 | set(TEMP "${CMAKE_BINARY_DIR}/Testing/Temporary") 6 | 7 | set(CLP ${MODULE_NAME}) 8 | 9 | if(NOT DEFINED SEM_DATA_MANAGEMENT_TARGET) 10 | set(SEM_DATA_MANAGEMENT_TARGET ${CLP}Data) 11 | endif() 12 | 13 | #----------------------------------------------------------------------------- 14 | ctk_add_executable_utf8(${CLP}Test ${CLP}Test.cxx) 15 | target_link_libraries(${CLP}Test ${CLP}Lib ${SlicerExecutionModel_EXTRA_EXECUTABLE_TARGET_LIBRARIES}) 16 | set_target_properties(${CLP}Test PROPERTIES LABELS ${CLP}) 17 | set_target_properties(${CLP}Test PROPERTIES FOLDER ${${CLP}_TARGETS_FOLDER}) 18 | 19 | #----------------------------------------------------------------------------- 20 | set(testname ${CLP}Test) 21 | ExternalData_add_test(${SEM_DATA_MANAGEMENT_TARGET} NAME ${testname} COMMAND ${SEM_LAUNCH_COMMAND} $ 22 | # --compare DATA{${BASELINE}/${CLP}Test.nrrd} 23 | # ${TEMP}/${CLP}Test.nrrd 24 | ModuleEntryPoint 25 | --help 26 | ) 27 | set_property(TEST ${testname} PROPERTY LABELS ${CLP}) 28 | 29 | #----------------------------------------------------------------------------- 30 | if(${SEM_DATA_MANAGEMENT_TARGET} STREQUAL ${CLP}Data) 31 | ExternalData_add_target(${CLP}Data) 32 | endif() 33 | -------------------------------------------------------------------------------- /PlmDrr/Testing/Cxx/plastimatch_slicer_drrTest.cxx: -------------------------------------------------------------------------------- 1 | #if defined(_MSC_VER) 2 | #pragma warning ( disable : 4786 ) 3 | #endif 4 | 5 | #ifdef __BORLANDC__ 6 | #define ITK_LEAN_AND_MEAN 7 | #endif 8 | 9 | #include "itkTestMain.h" 10 | 11 | // STD includes 12 | #include 13 | 14 | #ifdef WIN32 15 | # define MODULE_IMPORT __declspec(dllimport) 16 | #else 17 | # define MODULE_IMPORT 18 | #endif 19 | 20 | extern "C" MODULE_IMPORT int ModuleEntryPoint(int, char* []); 21 | 22 | void RegisterTests() 23 | { 24 | StringToTestFunctionMap["ModuleEntryPoint"] = ModuleEntryPoint; 25 | } 26 | -------------------------------------------------------------------------------- /PlmLandwarp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME plastimatch_slicer_landwarp) 3 | 4 | find_package(Plastimatch QUIET PATHS ${Plastimatch_DIR} NO_DEFAULT_PATH) 5 | if(NOT Plastimatch_FOUND) 6 | message("Plastimatch library is not found. The ${MODULE_NAME} module will not be built.") 7 | return() 8 | endif() 9 | 10 | #----------------------------------------------------------------------------- 11 | set(MODULE_INCLUDE_DIRECTORIES 12 | ${Plastimatch_DIR} 13 | ${PLASTIMATCH_INCLUDE_DIRS} 14 | ) 15 | 16 | set(MODULE_SRCS 17 | ) 18 | 19 | set(MODULE_TARGET_LIBRARIES 20 | ${ITK_LIBRARIES} 21 | plmbase 22 | plmutil 23 | plmregister 24 | ) 25 | 26 | #----------------------------------------------------------------------------- 27 | SEMMacroBuildCLI( 28 | NAME ${MODULE_NAME} 29 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 30 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 31 | ADDITIONAL_SRCS ${MODULE_SRCS} 32 | RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_BIN_DIR}" 33 | LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}" 34 | ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}" 35 | #EXECUTABLE_ONLY 36 | ) 37 | 38 | #----------------------------------------------------------------------------- 39 | if(BUILD_TESTING) 40 | #add_subdirectory(Testing) 41 | endif() 42 | -------------------------------------------------------------------------------- /PlmMismatchError/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME PlmMismatchError) 3 | 4 | #----------------------------------------------------------------------------- 5 | set(MODULE_PYTHON_SCRIPTS 6 | ${MODULE_NAME}.py 7 | ) 8 | 9 | set(MODULE_PYTHON_RESOURCES 10 | ) 11 | 12 | #----------------------------------------------------------------------------- 13 | slicerMacroBuildScriptedModule( 14 | NAME ${MODULE_NAME} 15 | SCRIPTS ${MODULE_PYTHON_SCRIPTS} 16 | RESOURCES ${MODULE_PYTHON_RESOURCES} 17 | WITH_GENERIC_TESTS 18 | ) 19 | 20 | #----------------------------------------------------------------------------- 21 | if(BUILD_TESTING) 22 | 23 | # Register the unittest subclass in the main script as a ctest. 24 | # Note that the test will also be available at runtime. 25 | slicer_add_python_unittest(SCRIPT ${MODULE_NAME}.py) 26 | 27 | # Additional build-time testing 28 | add_subdirectory(Testing) 29 | endif() 30 | 31 | -------------------------------------------------------------------------------- /PlmProtonDoseEngine/DoseEngines/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(qSlicer${MODULE_NAME}DoseEngines) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "Q_SLICER_${MODULE_NAME_UPPER}_DOSE_ENGINES_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${PlmCommon_INCLUDE_DIRS} 9 | ${SlicerRtCommon_INCLUDE_DIRS} 10 | ${vtkSlicerBeamsModuleLogic_INCLUDE_DIRS} 11 | ${qSlicerExternalBeamPlanningModuleWidgets_INCLUDE_DIRS} 12 | ${vtkSlicerSegmentationsModuleLogic_INCLUDE_DIRS} 13 | ${qSlicerBeamsModuleWidgets_INCLUDE_DIRS} 14 | ${MRMLLogic_INCLUDE_DIRS} 15 | ) 16 | 17 | set(${KIT}_SRCS 18 | qSlicerPlmProtonDoseEngine.cxx 19 | qSlicerPlmProtonDoseEngine.h 20 | ) 21 | 22 | set(${KIT}_UI_SRCS 23 | ) 24 | 25 | set(${KIT}_MOC_SRCS 26 | qSlicerPlmProtonDoseEngine.h 27 | ) 28 | 29 | set(${KIT}_RESOURCES 30 | # Resources/${KIT}.qrc 31 | ) 32 | 33 | set(${KIT}_TARGET_LIBRARIES 34 | vtkPlmCommon 35 | vtkSlicerRtCommon 36 | vtkSlicerBeamsModuleMRML 37 | vtkSlicerBeamsModuleLogic 38 | vtkSlicerSegmentationsModuleMRML 39 | vtkSlicerSegmentationsModuleLogic 40 | qSlicerBeamsModuleWidgets 41 | qSlicerExternalBeamPlanningModuleWidgets 42 | ${PLASTIMATCH_LIBRARIES} 43 | ) 44 | 45 | set(${KIT}_INCLUDE_DIRS 46 | ${CMAKE_CURRENT_SOURCE_DIR} 47 | ${CMAKE_CURRENT_BINARY_DIR} 48 | ${vtkSlicerBeamsModuleLogic_INCLUDE_DIRS} 49 | ${qSlicerExternalBeamPlanningModuleWidgets_INCLUDE_DIRS} 50 | ${vtkSlicerSegmentationsModuleLogic_INCLUDE_DIRS} 51 | CACHE INTERNAL "" FORCE) 52 | 53 | #----------------------------------------------------------------------------- 54 | SlicerMacroBuildModuleQtLibrary( 55 | NAME ${KIT} 56 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 57 | FOLDER "Module-${MODULE_NAME}" 58 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 59 | SRCS ${${KIT}_SRCS} 60 | MOC_SRCS ${${KIT}_MOC_SRCS} 61 | UI_SRCS ${${KIT}_UI_SRCS} 62 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 63 | RESOURCES ${${KIT}_RESOURCES} 64 | WRAP_PYTHONQT 65 | ) 66 | 67 | # Set linker flags, needed for OpenMP 68 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 69 | set_target_properties (${KIT} 70 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 71 | endif () 72 | -------------------------------------------------------------------------------- /PlmProtonDoseEngine/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_MODULE_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ) 9 | 10 | set(${KIT}_SRCS 11 | vtkSlicer${MODULE_NAME}Logic.cxx 12 | vtkSlicer${MODULE_NAME}Logic.h 13 | ) 14 | 15 | set(${KIT}_TARGET_LIBRARIES 16 | ${ITK_LIBRARIES} 17 | ) 18 | 19 | #----------------------------------------------------------------------------- 20 | SlicerMacroBuildModuleLogic( 21 | NAME ${KIT} 22 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 23 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 24 | SRCS ${${KIT}_SRCS} 25 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 26 | ) 27 | -------------------------------------------------------------------------------- /PlmProtonDoseEngine/Resources/UI/qSlicerPlmProtonDoseEngineModuleWidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerPlmProtonDoseEngineModuleWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 231 10 | 102 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | qSlicerWidget 20 | QWidget 21 |
qSlicerWidget.h
22 | 1 23 |
24 |
25 | 26 | 27 |
28 | -------------------------------------------------------------------------------- /PlmProtonDoseEngine/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(Slicer_USE_PYTHONQT) 2 | add_subdirectory(Python) 3 | endif() 4 | -------------------------------------------------------------------------------- /PlmProtonDoseEngine/Testing/Python/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_TEST_PYTHON_SCRIPTS 3 | PlmProtonDoseEngineTest.py 4 | ) 5 | 6 | set(MODULE_TEST_PYTHON_RESOURCES 7 | ) 8 | 9 | #----------------------------------------------------------------------------- 10 | set(KIT_UNITTEST_SCRIPTS) 11 | SlicerMacroConfigureGenericPythonModuleTests("${MODULE_NAME}" KIT_UNITTEST_SCRIPTS) 12 | 13 | #----------------------------------------------------------------------------- 14 | if(CMAKE_CONFIGURATION_TYPES) 15 | set(MODULE_BUILD_DIR "") 16 | foreach(config ${CMAKE_CONFIGURATION_TYPES}) 17 | list(APPEND MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}/${config}") 18 | endforeach() 19 | else() 20 | set(MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}") 21 | endif() 22 | 23 | foreach(script_name ${KIT_UNITTEST_SCRIPTS}) 24 | slicer_add_python_unittest( 25 | SCRIPT ${script_name} 26 | SLICER_ARGS --no-main-window 27 | --disable-cli-modules 28 | --additional-module-paths 29 | ${MODULE_BUILD_DIR} 30 | ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 31 | TESTNAME_PREFIX nomainwindow_ 32 | ) 33 | endforeach() 34 | 35 | slicer_add_python_unittest( 36 | SCRIPT PlmProtonDoseEngineTest.py 37 | SLICER_ARGS --disable-cli-modules 38 | --no-main-window 39 | --additional-module-paths 40 | ${MODULE_BUILD_DIR} 41 | ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 42 | TESTNAME_PREFIX nomainwindow_ 43 | ) 44 | -------------------------------------------------------------------------------- /PlmProtonDoseEngine/qSlicerPlmProtonDoseEngineModuleWidget.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Csaba Pinter, PerkLab, Queen's University 16 | and was supported through CANARIE. 17 | 18 | ==============================================================================*/ 19 | 20 | #ifndef __qSlicerPlmProtonDoseEngineModuleWidget_h 21 | #define __qSlicerPlmProtonDoseEngineModuleWidget_h 22 | 23 | // SlicerQt includes 24 | #include "qSlicerAbstractModuleWidget.h" 25 | 26 | #include "qSlicerPlmProtonDoseEngineModuleExport.h" 27 | 28 | class qSlicerPlmProtonDoseEngineModuleWidgetPrivate; 29 | class vtkMRMLNode; 30 | 31 | /// \ingroup Slicer_QtModules_ExtensionTemplate 32 | class Q_SLICER_QTMODULES_PLMPROTONDOSEENGINE_EXPORT qSlicerPlmProtonDoseEngineModuleWidget : 33 | public qSlicerAbstractModuleWidget 34 | { 35 | Q_OBJECT 36 | 37 | public: 38 | 39 | typedef qSlicerAbstractModuleWidget Superclass; 40 | qSlicerPlmProtonDoseEngineModuleWidget(QWidget *parent=nullptr); 41 | ~qSlicerPlmProtonDoseEngineModuleWidget() override; 42 | 43 | protected: 44 | QScopedPointer d_ptr; 45 | 46 | void setup() override; 47 | 48 | private: 49 | Q_DECLARE_PRIVATE(qSlicerPlmProtonDoseEngineModuleWidget); 50 | Q_DISABLE_COPY(qSlicerPlmProtonDoseEngineModuleWidget); 51 | }; 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /PlmRegister/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME PlmRegister) 3 | 4 | #----------------------------------------------------------------------------- 5 | set(MODULE_PYTHON_SCRIPTS 6 | ${MODULE_NAME}.py 7 | ) 8 | 9 | set(MODULE_PYTHON_RESOURCES 10 | ) 11 | 12 | #----------------------------------------------------------------------------- 13 | slicerMacroBuildScriptedModule( 14 | NAME ${MODULE_NAME} 15 | SCRIPTS ${MODULE_PYTHON_SCRIPTS} 16 | RESOURCES ${MODULE_PYTHON_RESOURCES} 17 | WITH_GENERIC_TESTS 18 | ) 19 | 20 | #----------------------------------------------------------------------------- 21 | if(BUILD_TESTING) 22 | 23 | # Register the unittest subclass in the main script as a ctest. 24 | # Note that the test will also be available at runtime. 25 | slicer_add_python_unittest(SCRIPT ${MODULE_NAME}.py) 26 | 27 | # Additional build-time testing 28 | add_subdirectory(Testing) 29 | endif() 30 | 31 | -------------------------------------------------------------------------------- /PlmRegister/Resources/Icons/PlmRegister.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/PlmRegister/Resources/Icons/PlmRegister.png -------------------------------------------------------------------------------- /PlmRegister/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Python) 2 | -------------------------------------------------------------------------------- /PlmRegister/Testing/Python/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | #slicer_add_python_unittest(SCRIPT ${MODULE_NAME}ModuleTest.py) 3 | -------------------------------------------------------------------------------- /PlmSynth/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME plastimatch_slicer_synth) 3 | 4 | find_package(Plastimatch QUIET PATHS ${Plastimatch_DIR} NO_DEFAULT_PATH) 5 | if(NOT Plastimatch_FOUND) 6 | message("Plastimatch library is not found. The ${MODULE_NAME} module will not be built.") 7 | return() 8 | endif() 9 | 10 | #----------------------------------------------------------------------------- 11 | set(MODULE_INCLUDE_DIRECTORIES 12 | ${Plastimatch_DIR} 13 | ${PLASTIMATCH_INCLUDE_DIRS} 14 | ) 15 | 16 | set(MODULE_SRCS 17 | ) 18 | 19 | set(MODULE_TARGET_LIBRARIES 20 | ${ITK_LIBRARIES} 21 | plmbase 22 | plmutil 23 | ) 24 | 25 | #----------------------------------------------------------------------------- 26 | SEMMacroBuildCLI( 27 | NAME ${MODULE_NAME} 28 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 29 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 30 | ADDITIONAL_SRCS ${MODULE_SRCS} 31 | RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_BIN_DIR}" 32 | LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}" 33 | ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}" 34 | #EXECUTABLE_ONLY 35 | ) 36 | 37 | # Set linker flags, needed for OpenMP 38 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 39 | set_target_properties (${MODULE_NAME}Lib 40 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 41 | endif () 42 | 43 | #----------------------------------------------------------------------------- 44 | if(BUILD_TESTING) 45 | #add_subdirectory(Testing) 46 | endif() 47 | -------------------------------------------------------------------------------- /PlmThreshbox/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME plastimatch_slicer_threshbox) 3 | 4 | find_package(Plastimatch QUIET PATHS ${Plastimatch_DIR} NO_DEFAULT_PATH) 5 | if(NOT Plastimatch_FOUND) 6 | message("Plastimatch library is not found. The ${MODULE_NAME} module will not be built.") 7 | return() 8 | endif() 9 | 10 | #----------------------------------------------------------------------------- 11 | set(MODULE_INCLUDE_DIRECTORIES 12 | ${Plastimatch_DIR} 13 | ${PLASTIMATCH_INCLUDE_DIRS} 14 | ) 15 | 16 | set(MODULE_SRCS 17 | ) 18 | 19 | set(MODULE_TARGET_LIBRARIES 20 | ${ITK_LIBRARIES} 21 | plmbase 22 | plmutil 23 | ) 24 | 25 | #----------------------------------------------------------------------------- 26 | SEMMacroBuildCLI( 27 | NAME ${MODULE_NAME} 28 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 29 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 30 | ADDITIONAL_SRCS ${MODULE_SRCS} 31 | RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_BIN_DIR}" 32 | LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}" 33 | ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${Slicer_CLIMODULES_LIB_DIR}" 34 | #EXECUTABLE_ONLY 35 | ) 36 | 37 | #----------------------------------------------------------------------------- 38 | if(BUILD_TESTING) 39 | #add_subdirectory(Testing) 40 | endif() 41 | -------------------------------------------------------------------------------- /PlmVectorFieldAnalysis/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME PlmVectorFieldAnalysis) 3 | 4 | #----------------------------------------------------------------------------- 5 | set(MODULE_PYTHON_SCRIPTS 6 | ${MODULE_NAME}.py 7 | ) 8 | 9 | set(MODULE_PYTHON_RESOURCES 10 | ) 11 | 12 | #----------------------------------------------------------------------------- 13 | slicerMacroBuildScriptedModule( 14 | NAME ${MODULE_NAME} 15 | SCRIPTS ${MODULE_PYTHON_SCRIPTS} 16 | RESOURCES ${MODULE_PYTHON_RESOURCES} 17 | WITH_GENERIC_TESTS 18 | ) 19 | 20 | #----------------------------------------------------------------------------- 21 | if(BUILD_TESTING) 22 | 23 | # Register the unittest subclass in the main script as a ctest. 24 | # Note that the test will also be available at runtime. 25 | slicer_add_python_unittest(SCRIPT ${MODULE_NAME}.py) 26 | 27 | # Additional build-time testing 28 | #add_subdirectory(Testing) 29 | endif() 30 | 31 | -------------------------------------------------------------------------------- /RoomsEyeView/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | find_package(vtkIECTransformLogic REQUIRED) 4 | 5 | set(KIT ${PROJECT_NAME}) 6 | 7 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 8 | 9 | set(${KIT}_INCLUDE_DIRECTORIES 10 | ${SlicerRtCommon_INCLUDE_DIRS} 11 | ${vtkSlicerSubjectHierarchyModuleLogic_INCLUDE_DIRS} 12 | ${vtkSlicerBeamsModuleMRML_INCLUDE_DIRS} 13 | ${vtkSlicerBeamsModuleLogic_INCLUDE_DIRS} 14 | ${RapidJSON_INCLUDE_DIR} 15 | ${vtkIECTransformLogic_INCLUDE_DIRS} 16 | ) 17 | 18 | set(${KIT}_SRCS 19 | vtkMRML${MODULE_NAME}Node.cxx 20 | vtkMRML${MODULE_NAME}Node.h 21 | vtkSlicer${MODULE_NAME}ModuleLogic.cxx 22 | vtkSlicer${MODULE_NAME}ModuleLogic.h 23 | ) 24 | 25 | set(${KIT}_TARGET_LIBRARIES 26 | vtkSlicerRtCommon 27 | vtkSlicerSubjectHierarchyModuleLogic 28 | vtkSlicerModelsModuleLogic 29 | vtkSlicerBeamsModuleMRML 30 | vtkSlicerBeamsModuleLogic 31 | ${ITK_LIBRARIES} 32 | ${VTK_LIBRARIES} 33 | vtkIECTransformLogic 34 | ) 35 | 36 | #----------------------------------------------------------------------------- 37 | SlicerMacroBuildModuleLogic( 38 | NAME ${KIT} 39 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 40 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 41 | SRCS ${${KIT}_SRCS} 42 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 43 | ) 44 | 45 | -------------------------------------------------------------------------------- /RoomsEyeView/Resources/Icons/RoomsEyeView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/Resources/Icons/RoomsEyeView.png -------------------------------------------------------------------------------- /RoomsEyeView/Resources/qSlicerRoomsEyeViewModule.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/RoomsEyeView.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /RoomsEyeView/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Cxx) 2 | -------------------------------------------------------------------------------- /RoomsEyeView/Testing/Cxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KIT qSlicer${MODULE_NAME}Module) 2 | 3 | set(KIT_TEST_SRCS 4 | vtkSlicerRoomsEyeViewLogicTest1.cxx 5 | ) 6 | 7 | include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) 8 | 9 | #----------------------------------------------------------------------------- 10 | slicerMacroConfigureModuleCxxTestDriver( 11 | NAME ${KIT} 12 | SOURCES ${KIT_TEST_SRCS} 13 | WITH_VTK_DEBUG_LEAKS_CHECK 14 | WITH_VTK_ERROR_OUTPUT_CHECK 15 | ) 16 | 17 | simple_test(vtkSlicerRoomsEyeViewLogicTest1) -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/AdditionalTreatmentModels/ApplicatorHolder.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/AdditionalTreatmentModels/ApplicatorHolder.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/AdditionalTreatmentModels/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | # Add models 3 | #----------------------------------------------------------------------------- 4 | 5 | set(MACHINE_NAME AdditionalTreatmentModels) 6 | 7 | set(MACHINE_MODELS 8 | ApplicatorHolder.stl 9 | ElectronApplicator.stl 10 | ) 11 | 12 | SlicerMacroConfigureTreatmentMachineComponentModels( 13 | NAME ${MACHINE_NAME} 14 | MODELS ${MACHINE_MODELS} 15 | ) 16 | -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/AdditionalTreatmentModels/ElectronApplicator.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/AdditionalTreatmentModels/ElectronApplicator.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include(${CMAKE_CURRENT_SOURCE_DIR}/SlicerMacroConfigureTreatmentMachineComponentModels.cmake) 2 | 3 | add_subdirectory(VarianTrueBeamSTx) 4 | add_subdirectory(AdditionalTreatmentModels) 5 | add_subdirectory(SiemensArtiste) 6 | -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/SiemensArtiste/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | # Add models 3 | #----------------------------------------------------------------------------- 4 | 5 | set(MACHINE_NAME SiemensArtiste) 6 | 7 | set(MACHINE_MODELS 8 | SiemensArtiste.json 9 | Collimator.stl 10 | PatientSupport.stl 11 | FlatPanel.stl 12 | Gantry.stl 13 | TableTop.stl 14 | ) 15 | 16 | SlicerMacroConfigureTreatmentMachineComponentModels( 17 | NAME ${MACHINE_NAME} 18 | MODELS ${MACHINE_MODELS} 19 | ) 20 | -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/SiemensArtiste/Collimator.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/SiemensArtiste/Collimator.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/SiemensArtiste/FlatPanel.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/SiemensArtiste/FlatPanel.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/SiemensArtiste/Gantry.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/SiemensArtiste/Gantry.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/SiemensArtiste/PatientSupport.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/SiemensArtiste/PatientSupport.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/SiemensArtiste/SiemensArtiste.json: -------------------------------------------------------------------------------- 1 | { 2 | "TreatmentMachineName": "Siemens Artiste", 3 | "Author": "Eduardo Meilán Bermejo", 4 | "Date":"2018", 5 | "$schema": "https://raw.githubusercontent.com/???/???-schema.json#", 6 | "Part": [ 7 | { 8 | "Type": "Collimator", 9 | "Name": "Collimator", 10 | "FilePath": "Collimator.stl", 11 | "FileToRASTransformMatrix": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 12 | "Color": [179, 179, 244], 13 | "State": "Active" 14 | }, 15 | { 16 | "Type": "Gantry", 17 | "Name": "Gantry", 18 | "FilePath": "Gantry.stl", 19 | "FileToRASTransformMatrix": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 20 | "Color": [244, 244, 244], 21 | "State": "Active" 22 | }, 23 | { 24 | "Type": "PatientSupport", 25 | "Name": "Patient support", 26 | "FilePath": "PatientSupport.stl", 27 | "FileToRASTransformMatrix": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 28 | "Color": [217, 217, 217], 29 | "State": "Active" 30 | }, 31 | { 32 | "Type": "TableTop", 33 | "Name": "Table top", 34 | "FilePath": "TableTop.stl", 35 | "FileToRASTransformMatrix": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 36 | "Color": [0, 0, 0], 37 | "State": "Active" 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/SiemensArtiste/TableTop.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/SiemensArtiste/TableTop.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/SlicerMacroConfigureTreatmentMachineComponentModels.cmake: -------------------------------------------------------------------------------- 1 | # -------------------------------------------------------------------------- 2 | # Macro for configuring treatment machine component models 3 | # -------------------------------------------------------------------------- 4 | macro(SlicerMacroConfigureTreatmentMachineComponentModels) 5 | set(options) 6 | set(oneValueArgs 7 | NAME 8 | ) 9 | set(multiValueArgs 10 | MODELS 11 | ) 12 | CMAKE_PARSE_ARGUMENTS(TREATMENTMACHINE 13 | "${options}" 14 | "${oneValueArgs}" 15 | "${multiValueArgs}" 16 | ${ARGN} 17 | ) 18 | 19 | if(TREATMENTMACHINE_UNPARSED_ARGUMENTS) 20 | message(FATAL_ERROR "Unknown keywords given to SlicerMacroConfigureTreatmentMachineComponentModels(): \"${TREATMENTMACHINE_UNPARSED_ARGUMENTS}\"") 21 | endif() 22 | 23 | message(STATUS "Configuring treatment machine models: ${TREATMENTMACHINE_NAME}") 24 | 25 | foreach(MODEL ${TREATMENTMACHINE_MODELS}) 26 | configure_file( 27 | ${CMAKE_CURRENT_SOURCE_DIR}/${MODEL} 28 | ${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_SHARE_DIR}/${MODULE_NAME}/${TREATMENTMACHINE_NAME}/${MODEL} 29 | COPYONLY) 30 | 31 | install( 32 | FILES ${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_SHARE_DIR}/${MODULE_NAME}/${TREATMENTMACHINE_NAME}/${MODEL} 33 | DESTINATION ${Slicer_INSTALL_QTLOADABLEMODULES_SHARE_DIR}/${MODULE_NAME}/${TREATMENTMACHINE_NAME} COMPONENT Runtime) 34 | endforeach() 35 | 36 | endmacro() 37 | -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | # Add models 3 | #----------------------------------------------------------------------------- 4 | 5 | set(MACHINE_NAME VarianTrueBeamSTx) 6 | 7 | set(MACHINE_MODELS 8 | VarianTrueBeamSTx.json 9 | Collimator.stl 10 | Gantry.stl 11 | ImagingPanelLeft.stl 12 | ImagingPanelRight.stl 13 | LinacBody.stl 14 | PatientSupport.stl 15 | TableTop.stl 16 | ) 17 | 18 | SlicerMacroConfigureTreatmentMachineComponentModels( 19 | NAME ${MACHINE_NAME} 20 | MODELS ${MACHINE_MODELS} 21 | ) 22 | -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/Collimator.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/Collimator.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/Gantry.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/Gantry.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/ImagingPanelLeft.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/ImagingPanelLeft.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/ImagingPanelRight.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/ImagingPanelRight.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/LinacBody.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/LinacBody.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/PatientSupport.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/PatientSupport.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/TableTop.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/TableTop.stl -------------------------------------------------------------------------------- /RoomsEyeView/TreatmentMachineModels/VarianTrueBeamSTx/VarianTrueBeamSTx.json: -------------------------------------------------------------------------------- 1 | { 2 | "TreatmentMachineName": "Varian TrueBeam STx", 3 | "Author": "Eduardo Meilán Bermejo", 4 | "Date":"2017", 5 | "$schema": "https://raw.githubusercontent.com/???/???-schema.json#", 6 | "Part": [ 7 | { 8 | "Type": "Collimator", 9 | "Name": "Collimator", 10 | "FilePath": "Collimator.stl", 11 | "FileToRASTransformMatrix": [ [-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 12 | "Color": [179, 179, 244], 13 | "State": "Active" 14 | }, 15 | { 16 | "Type": "Gantry", 17 | "Name": "Gantry", 18 | "FilePath": "Gantry.stl", 19 | "FileToRASTransformMatrix": [ [-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 20 | "Color": [244, 244, 244], 21 | "State": "Active" 22 | }, 23 | { 24 | "Type": "ImagingPanelLeft", 25 | "Name": "Left imaging panel", 26 | "FilePath": "ImagingPanelLeft.stl", 27 | "FileToRASTransformMatrix": [ [-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 28 | "Color": [244, 244, 244], 29 | "State": "Active" 30 | }, 31 | { 32 | "Type": "ImagingPanelRight", 33 | "Name": "Right imaging panel", 34 | "FilePath": "ImagingPanelRight.stl", 35 | "FileToRASTransformMatrix": [ [-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 36 | "Color": [244, 244, 244], 37 | "State": "Active" 38 | }, 39 | { 40 | "Type": "Body", 41 | "Name": "Linac body", 42 | "FilePath": "LinacBody.stl", 43 | "FileToRASTransformMatrix": [ [-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 44 | "Color": [230, 230, 230], 45 | "State": "Active" 46 | }, 47 | { 48 | "Type": "PatientSupport", 49 | "Name": "Patient support", 50 | "FilePath": "PatientSupport.stl", 51 | "FileToRASTransformMatrix": [ [-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 52 | "Color": [217, 217, 217], 53 | "State": "Active" 54 | }, 55 | { 56 | "Type": "TableTop", 57 | "Name": "Table top", 58 | "FilePath": "TableTop.stl", 59 | "FileToRASTransformMatrix": [ [-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1] ], 60 | "Color": [0, 0, 0], 61 | "State": "Active" 62 | } 63 | ] 64 | } 65 | -------------------------------------------------------------------------------- /SegmentComparison/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}ModuleLogic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_MODULE_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ${PlmCommon_INCLUDE_DIRS} 9 | ${SlicerRtCommon_INCLUDE_DIRS} 10 | ${vtkSlicerSegmentationsModuleMRML_INCLUDE_DIRS} 11 | ${vtkSlicerSegmentationsModuleLogic_INCLUDE_DIRS} 12 | ${PLASTIMATCH_INCLUDE_DIRS} 13 | ) 14 | 15 | set(${KIT}_SRCS 16 | vtkSlicer${MODULE_NAME}ModuleLogic.cxx 17 | vtkSlicer${MODULE_NAME}ModuleLogic.h 18 | vtkMRML${MODULE_NAME}Node.cxx 19 | vtkMRML${MODULE_NAME}Node.h 20 | vtkPolyDataDistanceHistogramFilter.cxx 21 | vtkPolyDataDistanceHistogramFilter.h 22 | ) 23 | 24 | set(${KIT}_TARGET_LIBRARIES 25 | vtkPlmCommon 26 | vtkSlicerRtCommon 27 | vtkSlicerSegmentationsModuleMRML 28 | vtkSlicerSegmentationsModuleLogic 29 | ${PLASTIMATCH_LIBRARIES} 30 | ) 31 | 32 | #----------------------------------------------------------------------------- 33 | SlicerMacroBuildModuleLogic( 34 | NAME ${KIT} 35 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 36 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 37 | SRCS ${${KIT}_SRCS} 38 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 39 | ) 40 | 41 | # Set linker flags, needed for OpenMP 42 | if (NOT ${PLASTIMATCH_LDFLAGS} STREQUAL "") 43 | set_target_properties (${KIT} 44 | PROPERTIES LINK_FLAGS ${PLASTIMATCH_LDFLAGS}) 45 | endif () 46 | -------------------------------------------------------------------------------- /SegmentComparison/Resources/Icons/SegmentComparison.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/SegmentComparison/Resources/Icons/SegmentComparison.png -------------------------------------------------------------------------------- /SegmentComparison/Resources/qSlicerSegmentComparisonModule.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Icons/SegmentComparison.png 4 | 5 | 6 | -------------------------------------------------------------------------------- /SegmentComparison/Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Cxx) 2 | -------------------------------------------------------------------------------- /SlicerRtCommon/vtkSlicerAutoWindowLevelLogic.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | ==============================================================================*/ 16 | 17 | #ifndef __vtkSlicerAutoWindowLevelLogic_h 18 | #define __vtkSlicerAutoWindowLevelLogic_h 19 | 20 | #include "vtkSlicerRtCommonWin32Header.h" 21 | 22 | // MRML includes 23 | #include 24 | 25 | /// \ingroup SlicerRt_SlicerRtCommon 26 | class VTK_SLICERRTCOMMON_EXPORT vtkSlicerAutoWindowLevelLogic : public vtkObject 27 | { 28 | public: 29 | // This function sets the window and level in the provided vtkMRMLScalarVolumeNode 30 | // based on the scalar value histogram of the image. 31 | void ComputeWindowLevel(vtkMRMLScalarVolumeNode* inputScalarVolumeNode); 32 | 33 | public: 34 | static vtkSlicerAutoWindowLevelLogic *New(); 35 | vtkTypeMacro(vtkSlicerAutoWindowLevelLogic, vtkObject); 36 | 37 | protected: 38 | vtkSlicerAutoWindowLevelLogic(); 39 | ~vtkSlicerAutoWindowLevelLogic() override; 40 | }; 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /SlicerRtCommon/vtkSlicerRtCommonConfigure.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Here is where system computed values get stored. 3 | * These values should only change when the target compile platform changes. 4 | */ 5 | 6 | #if defined(WIN32) && !defined(vtkSlicerRtCommon_STATIC) 7 | #pragma warning ( disable : 4275 ) 8 | #endif 9 | 10 | #cmakedefine BUILD_SHARED_LIBS 11 | #ifndef BUILD_SHARED_LIBS 12 | #define vtkSlicerRtCommon_STATIC 13 | #endif 14 | -------------------------------------------------------------------------------- /SlicerRtCommon/vtkSlicerRtCommonWin32Header.h: -------------------------------------------------------------------------------- 1 | /// vtkSlicerRtCommonWin32Header - manage Windows system differences 2 | /// 3 | /// The vtkSlicerRtCommonWin32Header captures some system differences between Unix 4 | /// and Windows operating systems. 5 | 6 | 7 | #ifndef __vtkSlicerRtCommonWin32Header_h 8 | #define __vtkSlicerRtCommonWin32Header_h 9 | 10 | #include 11 | 12 | #if defined(WIN32) && !defined(vtkSlicerRtCommon_STATIC) 13 | #if defined(vtkSlicerRtCommon_EXPORTS) 14 | #define VTK_SLICERRTCOMMON_EXPORT __declspec( dllexport ) 15 | #else 16 | #define VTK_SLICERRTCOMMON_EXPORT __declspec( dllimport ) 17 | #endif 18 | #else 19 | #define VTK_SLICERRTCOMMON_EXPORT 20 | #endif 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /SuperBuild.cmake: -------------------------------------------------------------------------------- 1 | 2 | #----------------------------------------------------------------------------- 3 | # External project common settings 4 | #----------------------------------------------------------------------------- 5 | 6 | set(ep_common_c_flags "${CMAKE_C_FLAGS_INIT} ${ADDITIONAL_C_FLAGS}") 7 | set(ep_common_cxx_flags "${CMAKE_CXX_FLAGS_INIT} ${ADDITIONAL_CXX_FLAGS}") 8 | 9 | #----------------------------------------------------------------------------- 10 | # Top-level "external" project 11 | #----------------------------------------------------------------------------- 12 | 13 | foreach(dep ${EXTENSION_DEPENDS}) 14 | mark_as_superbuild(${dep}_DIR) 15 | endforeach() 16 | 17 | set(proj ${SUPERBUILD_TOPLEVEL_PROJECT}) 18 | 19 | # Project dependencies 20 | set(${proj}_DEPENDS 21 | Plastimatch 22 | vtkIECTransformLogic 23 | ) 24 | 25 | ExternalProject_Include_Dependencies(${proj} 26 | PROJECT_VAR proj 27 | SUPERBUILD_VAR ${EXTENSION_NAME}_SUPERBUILD 28 | ) 29 | 30 | ExternalProject_Add(${proj} 31 | ${${proj}_EP_ARGS} 32 | DOWNLOAD_COMMAND "" 33 | INSTALL_COMMAND "" 34 | SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} 35 | BINARY_DIR ${EXTENSION_BUILD_SUBDIRECTORY} 36 | CMAKE_CACHE_ARGS 37 | # Compiler settings 38 | -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER} 39 | -DCMAKE_C_FLAGS:STRING=${ep_common_c_flags} 40 | -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER} 41 | -DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags} 42 | -DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD} 43 | -DCMAKE_CXX_STANDARD_REQUIRED:BOOL=${CMAKE_CXX_STANDARD_REQUIRED} 44 | -DCMAKE_CXX_EXTENSIONS:BOOL=${CMAKE_CXX_EXTENSIONS} 45 | # Output directories 46 | -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} 47 | -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} 48 | -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} 49 | # Packaging 50 | -DMIDAS_PACKAGE_EMAIL:STRING=${MIDAS_PACKAGE_EMAIL} 51 | -DMIDAS_PACKAGE_API_KEY:STRING=${MIDAS_PACKAGE_API_KEY} 52 | # Superbuild 53 | -D${EXTENSION_NAME}_SUPERBUILD:BOOL=OFF 54 | -DEXTENSION_SUPERBUILD_BINARY_DIR:PATH=${${EXTENSION_NAME}_BINARY_DIR} 55 | DEPENDS 56 | ${${proj}_DEPENDS} 57 | ) 58 | 59 | ExternalProject_AlwaysConfigure(${proj}) 60 | -------------------------------------------------------------------------------- /Testing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(Slicer_USE_PYTHONQT) 2 | add_subdirectory(Python) 3 | endif() 4 | -------------------------------------------------------------------------------- /Testing/Data/EclipseEnt_Dose.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseEnt_Dose.nrrd -------------------------------------------------------------------------------- /Testing/Data/EclipseEnt_Dose_Day2.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseEnt_Dose_Day2.nrrd -------------------------------------------------------------------------------- /Testing/Data/EclipseEnt_DvhMetrics_DoseSurfaceHistogram_Inside_SlicerRT.csv: -------------------------------------------------------------------------------- 1 | Structure,Volume (cc),Mean dose (GY),Min dose (GY),Max dose (GY),V5 (cc),V5 (%),V20 (cc),V20 (%),D2cc (GY),D5cc (GY),D5% (GY),D10% (GY) 2 | BODY,370.154,1.64523,0,26.5861,45.9091,12.4027,0.534179,0.144313,18.1231,16.0273,9.71809,6.2292 3 | BRAIN,93.7656,13.3465,0.692668,62.1288,56.2617,60.0025,20.7783,22.1598,60.7063,54.3258,55.42,37.1724 4 | BRSTEM,9.9668,13.3286,0.817471,52.6785,5.70703,57.2604,2.87402,28.836,24.5286,9.8077,39.654,31.496 5 | CTV,13.4941,61.1337,60.001,62.2361,13.4941,100,13.4941,100,61.6219,61.3338,61.8126,61.689 6 | Dose 5200[cGy],0.123047,48.3711,43.7825,52.6785,0.123047,100,0.123047,100,0,0,51.49,51.24 7 | GTV,4.7793,61.0133,60.4975,61.6631,4.7793,100,4.7793,100,61.0454,0,61.4358,61.3225 8 | Lens - left,0.111328,5.53061,5.155,5.936,0.111328,100,0,0,0,0,5.85889,5.79556 9 | Lens - right,0.117188,0.848716,0.752455,1.02567,0,0,0,0,0,0,1.05714,1.01429 10 | Optic Chiasm,0.796875,13.32,7.52236,19.8264,0.796875,100,0,0,0,0,17.34,16.0067 11 | Optic Nerve - Rt,1.46875,1.92608,1.0621,8.791,0.00195312,0.132979,0,0,0,0,3.255,2.84667 12 | Optic Nerve-Lt,1.12891,8.0959,6.41538,10.6126,1.12891,100,0,0,0,0,9.72625,9.40222 13 | Orbit - left,3.21289,6.73072,4.95987,8.40462,3.20996,99.9088,0,0,6.46857,0,8.07394,7.8481 14 | Orbit - right,3.17773,1.46373,0.658592,7.15596,0.107422,3.38045,0,0,0.987428,0,4.30929,2.61333 15 | PTV1,19.8477,60.2174,52.0737,62.4066,19.8477,100,19.8477,100,61.2623,60.9281,61.4325,61.2641 16 | optBRAIN,98.1387,10.5389,0.692668,42.4777,56.8662,57.9448,19.6406,20.0131,36.1,31.4581,31.61,25.9006 17 | optOptic,9.54492,4.99771,0.658592,19.8264,5.09863,53.4172,0,0,7.63134,5.34286,12.7065,9.07062 18 | -------------------------------------------------------------------------------- /Testing/Data/EclipseEnt_DvhMetrics_DoseSurfaceHistogram_Outside_SlicerRT.csv: -------------------------------------------------------------------------------- 1 | Structure,Volume (cc),Mean dose (GY),Min dose (GY),Max dose (GY),V5 (cc),V5 (%),V20 (cc),V20 (%),D2cc (GY),D5cc (GY),D5% (GY),D10% (GY) 2 | BODY,378.26,1.09247,0,17.8717,27.4043,7.24484,0,0,12.4479,9.67558,6.00919,4.01857 3 | BRAIN,98.418,12.4461,0.657533,62.0472,56.3779,57.2842,19.9033,20.2233,60.02,51.6813,52.0056,34.4785 4 | BRSTEM,11.8105,13.6166,0.774053,56.6472,6.6406,56.2262,3.34667,28.3364,26.7888,14.713,42.6325,33.59 5 | CTV,15.1875,61.1466,58.1979,62.3451,15.1875,100,15.1875,100,61.69,61.4042,61.8673,61.7554 6 | Dose 5200[cGy],0.376953,49.0169,40.451,56.6472,0.376953,100,0.376953,100,0,0,55.435,54.68 7 | GTV,6.41602,61.051,60.2835,61.7499,6.41602,100,6.41602,100,61.1883,60.8263,61.4995,61.4315 8 | Lens - left,0.332031,5.45756,3.73826,6.12714,0.289062,87.0588,0,0,0,0,6.03478,5.96087 9 | Lens - right,0.337891,0.826128,0.559644,1.0949,0,0,0,0,0,0,1.05977,1.01953 10 | Optic Chiasm,1.30078,13.1358,5.70238,21.6735,1.30078,100,0.0273437,2.1021,0,0,18.67,17.1686 11 | Optic Nerve - Rt,2.34766,2.19705,1.01026,10.651,0.0673829,2.87022,0,0,1.27848,0,4.29867,3.56444 12 | Optic Nerve-Lt,1.85547,8.23757,6.22811,10.9262,1.85547,100,0,0,0,0,10.0909,9.79333 13 | Orbit - left,4.07031,6.73993,3.5609,8.57679,3.98144,97.8167,0,0,6.808,0,8.21487,7.95857 14 | Orbit - right,4.01367,1.6106,0.413505,8.30598,0.255859,6.3747,0,0,1.10547,0,5.46765,3.35385 15 | PTV1,21.7734,58.5197,47.5123,62.2044,21.7734,100,21.7734,100,60.6291,59.9758,60.9571,60.5806 16 | optBRAIN,103.525,10.5387,0.657533,43.1971,59.0564,57.0456,20.453,19.7566,37.9186,33.2941,33.1172,27.2667 17 | optOptic,12.748,5.32899,0.413505,21.6735,7.04685,55.2781,0.0273436,0.214494,8.47777,6.72071,12.7245,10.0331 18 | -------------------------------------------------------------------------------- /Testing/Data/EclipseEnt_Structures.seg.vtm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /Testing/Data/EclipseEnt_Structures_ColorTable.ctbl: -------------------------------------------------------------------------------- 1 | # Color table file EclipseEnt_Structures_ColorTable.ctbl 2 | # 18 values 3 | 0 Background 0 0 0 0 4 | 1 Invalid 128 128 128 255 5 | 2 BODY 0 255 0 255 6 | 3 BRAIN 0 255 0 255 7 | 4 BRSTEM 192 0 192 255 8 | 5 CTV 128 255 255 255 9 | 6 Dose_5200[cGy] 255 128 0 255 10 | 7 GTV 255 0 0 255 11 | 8 Lens_-_left 255 255 128 255 12 | 9 Lens_-_right 255 128 0 255 13 | 10 Optic_Chiasm 255 128 128 255 14 | 11 Optic_Nerve_-_Rt 255 128 0 255 15 | 12 Optic_Nerve-Lt 255 255 128 255 16 | 13 Orbit_-_left 255 0 0 255 17 | 14 Orbit_-_right 128 255 255 255 18 | 15 PTV1 0 0 220 255 19 | 16 optBRAIN 0 64 128 255 20 | 17 optOptic 255 0 0 255 21 | -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Bladder.seg.vtm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Bladder_Intersect_PTV.seg.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseProstate_Bladder_Intersect_PTV.seg.nrrd -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Bladder_Intersect_PTV_ApplyTransform.seg.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseProstate_Bladder_Intersect_PTV_ApplyTransform.seg.nrrd -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Bladder_Subtract_PTV.seg.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseProstate_Bladder_Subtract_PTV.seg.nrrd -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Bladder_Union_PTV.seg.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseProstate_Bladder_Union_PTV.seg.nrrd -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Dose.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseProstate_Dose.nrrd -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_DvhMetrics_DoseSurfaceHistogram_Inside_SlicerRT.csv: -------------------------------------------------------------------------------- 1 | Structure,Volume (cc),Mean dose (GY),Min dose (GY),Max dose (GY),V5 (cc),V5 (%),V20 (cc),V20 (%),D2cc (GY),D5cc (GY),D5% (GY),D10% (GY) 2 | BODY,332.893,5.26831,0.308601,21.0385,128.51,38.604,0.0800782,0.0240552,17.0636,15.8767,14.1716,13.1098 3 | Bladder,18.9434,45.1283,32.543,46.9844,18.9434,100,18.9434,100,46.5982,46.3361,46.7476,46.6114 4 | Femoral Head Lt,10.1426,25.2123,15.5368,34.3284,10.1426,100,9.77932,96.4183,25.8607,25.2027,30.1147,27.8497 5 | Femoral Head RT,10.3086,26.3979,24.3795,38.4634,10.3086,100,10.3086,100,26.8444,25.81,31.391,29.3574 6 | PTV,11.0215,45.8327,44.4932,46.2852,11.0215,100,11.0215,100,46.1663,45.977,46.2632,46.2263 7 | Rectum,10.3164,37.8932,11.1101,45.8445,10.3164,100,9.97753,96.7153,44.9788,41.9204,45.6304,45.4572 8 | -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_DvhMetrics_DoseSurfaceHistogram_Outside_SlicerRT.csv: -------------------------------------------------------------------------------- 1 | Structure,Volume (cc),Mean dose (GY),Min dose (GY),Max dose (GY),V5 (cc),V5 (%),V20 (cc),V20 (%),D2cc (GY),D5cc (GY),D5% (GY),D10% (GY) 2 | BODY,336.438,3.73629,0.166456,17.2662,109.241,32.47,0,0,12.7627,11.9106,10.5117,9.28796 3 | Bladder,20.8203,44.6897,29.673,47.0017,20.8203,100,20.8203,100,46.6121,46.3407,46.7503,46.6017 4 | Femoral Head Lt,11.5488,25.3689,13.1584,38.3914,11.5488,100,10.8955,94.343,26.516,25.3841,32.9447,29.2633 5 | Femoral Head RT,11.7148,26.8978,24.2219,41.2817,11.7148,100,11.7148,100,28.1077,25.9359,35.04,31.788 6 | PTV,12.5625,45.7935,44.1824,46.2999,12.5625,100,12.5625,100,46.1794,46.0077,46.2621,46.2242 7 | Rectum,12.4531,37.1196,8.16746,45.8804,12.4531,100,11.9062,95.6085,45.2641,43.5506,45.6936,45.5346 8 | -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_DvhMetrics_SlicerRT.csv: -------------------------------------------------------------------------------- 1 | Structure,Volume (cc),Mean dose (GY),Min dose (GY),Max dose (GY),V5 (cc),V5 (%),V20 (cc),V20 (%),D2cc (GY),D5cc (GY),D5% (GY),D10% (GY) 2 | BODY,10667.2,15.4848,0.308601,47.0713,6319.2,59.2396,4271.24,40.0409,47.0411,46.9527,45.646,43.3759 3 | Bladder,116.779,45.9069,32.543,46.9844,116.779,100,116.779,100,46.8435,46.7465,46.7194,46.6511 4 | Femoral Head Lt,49.1543,25.0277,15.5368,34.3284,49.1543,100,48.6953,99.0662,27.504,26.0152,27.1049,26.0368 5 | Femoral Head RT,50.0273,25.8355,24.3795,38.4634,50.0273,100,50.0273,100,28.4589,26.7156,27.9027,26.7147 6 | PTV,48.6133,45.88,44.4932,46.2852,48.6133,100,48.6133,100,46.2599,46.1996,46.2512,46.2024 7 | Rectum,30.4102,39.1106,11.1101,45.8445,30.4102,100,29.9053,98.3398,45.4712,45.0081,45.5396,45.3264 8 | -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Expanded_5_5_5_Bladder.seg.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseProstate_Expanded_5_5_5_Bladder.seg.nrrd -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Expanded_5_5_5_Rectum.seg.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseProstate_Expanded_5_5_5_Rectum.seg.nrrd -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Isodose_Baseline.vtk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseProstate_Isodose_Baseline.vtk -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_PTV.seg.vtm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Rectum.seg.vtm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Shrunk_5_5_5_Bladder.seg.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/EclipseProstate_Shrunk_5_5_5_Bladder.seg.nrrd -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Structures.seg.vtm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Testing/Data/EclipseProstate_Structures_ColorTable.ctbl: -------------------------------------------------------------------------------- 1 | # Color table file EclipseProstate_Structures_ColorTable.ctbl 2 | # 8 values 3 | 0 Background 0 0 0 0 4 | 1 Invalid 128 128 128 255 5 | 2 BODY 0 255 0 255 6 | 3 Bladder 192 192 254 255 7 | 4 Femoral_Head_Lt 128 255 255 255 8 | 5 Femoral_Head_RT 187 255 187 255 9 | 6 PTV 0 0 220 255 10 | 7 Rectum 128 64 64 255 11 | -------------------------------------------------------------------------------- /Testing/Data/GammaVolume_EclipseEnt_Day1Day2_Baseline.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/GammaVolume_EclipseEnt_Day1Day2_Baseline.nrrd -------------------------------------------------------------------------------- /Testing/Data/PolyDataDistancesHistogramGroundTruth.csv: -------------------------------------------------------------------------------- 1 | "Bins","Frequencies" 2 | -0.5,589 3 | -0.45,1187 4 | -0.4,736 5 | -0.35,827 6 | -0.3,857 7 | -0.25,947 8 | -0.2,2102 9 | -0.15,1134 10 | -0.1,1151 11 | -0.05,1291 12 | 0,1282 13 | 0.05,1197 14 | 0.1,1521 15 | 0.15,3438 16 | 0.2,1322 17 | 0.25,1144 18 | 0.3,1824 19 | 0.35,1150 20 | 0.4,3411 21 | 0.45,2121 22 | 0.5,19 23 | -------------------------------------------------------------------------------- /Testing/Data/PolyDataDistancesRawGroundTruth.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/PolyDataDistancesRawGroundTruth.tgz -------------------------------------------------------------------------------- /Testing/Data/PolyDataDistancesRawGroundTruthWindows.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/PolyDataDistancesRawGroundTruthWindows.tgz -------------------------------------------------------------------------------- /Testing/Data/Scenes/EclipseProstate_DoseAccumulation_Scene.mrml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Testing/Data/Scenes/EclipseProstate_Isodose_Scene.mrml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Testing/Data/TestDvhMetrics_EclipseEnt_DoseSurfaceHistogram_Inside_SlicerRT.csv: -------------------------------------------------------------------------------- 1 | Structure,Volume (cc),Mean dose (GY),Min dose (GY),Max dose (GY),V5 (cc),V5 (%),V20 (cc),V20 (%),D2cc (GY),D5cc (GY),D5% (GY),D10% (GY) 2 | BODY,370.154,1.64523,0,26.5861,45.9091,12.4027,0.534179,0.144313,18.1231,16.0273,9.71809,6.2292 3 | BRAIN,93.7656,13.3465,0.692668,62.1288,56.2617,60.0025,20.7783,22.1598,60.7063,54.3258,55.42,37.1724 4 | BRSTEM,9.9668,13.3286,0.817471,52.6785,5.70703,57.2604,2.87402,28.836,24.5286,9.8077,39.654,31.496 5 | CTV,13.4941,61.1337,60.001,62.2361,13.4941,100,13.4941,100,61.6219,61.3338,61.8126,61.689 6 | Dose 5200[cGy],0.123047,48.3711,43.7825,52.6785,0.123047,100,0.123047,100,0,0,51.49,51.24 7 | GTV,4.7793,61.0133,60.4975,61.6631,4.7793,100,4.7793,100,61.0454,0,61.4358,61.3225 8 | Lens - left,0.111328,5.53061,5.155,5.936,0.111328,100,0,0,0,0,5.85889,5.79556 9 | Lens - right,0.117188,0.848716,0.752455,1.02567,0,0,0,0,0,0,1.05714,1.01429 10 | Optic Chiasm,0.796875,13.32,7.52236,19.8264,0.796875,100,0,0,0,0,17.34,16.0067 11 | Optic Nerve - Rt,1.46875,1.92608,1.0621,8.791,0.00195312,0.132979,0,0,0,0,3.255,2.84667 12 | Optic Nerve-Lt,1.12891,8.0959,6.41538,10.6126,1.12891,100,0,0,0,0,9.72625,9.40222 13 | Orbit - left,3.21289,6.73072,4.95987,8.40462,3.20996,99.9088,0,0,6.46857,0,8.07394,7.8481 14 | Orbit - right,3.17773,1.46373,0.658592,7.15596,0.107422,3.38045,0,0,0.987428,0,4.30929,2.61333 15 | PTV1,19.8477,60.2174,52.0737,62.4066,19.8477,100,19.8477,100,61.2623,60.9281,61.4325,61.2641 16 | optBRAIN,98.1387,10.5389,0.692668,42.4777,56.8662,57.9448,19.6406,20.0131,36.1,31.4581,31.61,25.9006 17 | optOptic,9.54492,4.99771,0.658592,19.8264,5.09863,53.4172,0,0,7.63134,5.34286,12.7065,9.07062 18 | -------------------------------------------------------------------------------- /Testing/Data/TinyPatientCT.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/TinyPatientCT.nrrd -------------------------------------------------------------------------------- /Testing/Data/TinyPatientDose.nrrd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SlicerRt/SlicerRT/d4a3d8ef1ccc76f49b7532b63b6bd456f8d752f0/Testing/Data/TinyPatientDose.nrrd -------------------------------------------------------------------------------- /Testing/Data/TinyPatientStructureSet.seg.vtm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Testing/Python/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(EXTENSION_TEST_PYTHON_SCRIPTS 3 | IGRTWorkflow_SelfTest.py 4 | ) 5 | 6 | set(EXTENSION_TEST_PYTHON_RESOURCES 7 | ) 8 | 9 | ctkMacroCompilePythonScript( 10 | TARGET_NAME IGRTWorkflow_SelfTest 11 | SCRIPTS "${EXTENSION_TEST_PYTHON_SCRIPTS}" 12 | RESOURCES "${EXTENSION_TEST_PYTHON_RESOURCES}" 13 | DESTINATION_DIR ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 14 | INSTALL_DIR ${Slicer_INSTALL_QTSCRIPTEDMODULES_LIB_DIR} 15 | NO_INSTALL_SUBDIR 16 | ) 17 | 18 | #----------------------------------------------------------------------------- 19 | if(CMAKE_CONFIGURATION_TYPES) 20 | set(MODULE_BUILD_DIR "") 21 | foreach(config ${CMAKE_CONFIGURATION_TYPES}) 22 | list(APPEND MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}/${config}") 23 | endforeach() 24 | else() 25 | set(MODULE_BUILD_DIR "${CMAKE_BINARY_DIR}/${Slicer_QTLOADABLEMODULES_LIB_DIR}") 26 | endif() 27 | 28 | slicer_add_python_unittest( 29 | SCRIPT IGRTWorkflow_SelfTest.py 30 | SLICER_ARGS --additional-module-paths 31 | ${MODULE_BUILD_DIR} 32 | ${CMAKE_BINARY_DIR}/${Slicer_QTSCRIPTEDMODULES_LIB_DIR} 33 | ) 34 | -------------------------------------------------------------------------------- /VffFileReader/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------- 2 | set(MODULE_NAME VffFileReader) 3 | set(MODULE_TITLE "Vff File Reader") 4 | 5 | string(TOUPPER ${MODULE_NAME} MODULE_NAME_UPPER) 6 | 7 | #----------------------------------------------------------------------------- 8 | add_subdirectory(Logic) 9 | 10 | #----------------------------------------------------------------------------- 11 | set(MODULE_EXPORT_DIRECTIVE "Q_SLICER_${MODULE_NAME_UPPER}_EXPORT") 12 | 13 | # Additional includes - Current_{source,binary} and Slicer_{Libs,Base} already included 14 | set(MODULE_INCLUDE_DIRECTORIES 15 | ${CMAKE_CURRENT_SOURCE_DIR}/Logic 16 | ${CMAKE_CURRENT_BINARY_DIR}/Logic 17 | ) 18 | 19 | set(MODULE_SRCS 20 | qSlicer${MODULE_NAME}Plugin.cxx 21 | qSlicer${MODULE_NAME}Plugin.h 22 | qSlicer${MODULE_NAME}PluginWidget.cxx 23 | qSlicer${MODULE_NAME}PluginWidget.h 24 | qSlicer${MODULE_NAME}Module.cxx 25 | qSlicer${MODULE_NAME}Module.h 26 | qSlicer${MODULE_NAME}OptionsWidget.cxx 27 | qSlicer${MODULE_NAME}OptionsWidget.h 28 | ) 29 | 30 | set(MODULE_MOC_SRCS 31 | qSlicer${MODULE_NAME}Plugin.h 32 | qSlicer${MODULE_NAME}PluginWidget.h 33 | qSlicer${MODULE_NAME}OptionsWidget.h 34 | qSlicer${MODULE_NAME}Module.h 35 | ) 36 | 37 | set(MODULE_UI_SRCS 38 | Resources/UI/qSlicer${MODULE_NAME}PluginWidget.ui 39 | Resources/UI/qSlicer${MODULE_NAME}OptionsWidget.ui 40 | ) 41 | 42 | set(MODULE_TARGET_LIBRARIES 43 | vtkSlicer${MODULE_NAME}Logic 44 | ) 45 | 46 | #----------------------------------------------------------------------------- 47 | slicerMacroBuildLoadableModule( 48 | NAME ${MODULE_NAME} 49 | TITLE ${MODULE_TITLE} 50 | EXPORT_DIRECTIVE ${MODULE_EXPORT_DIRECTIVE} 51 | INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES} 52 | SRCS ${MODULE_SRCS} 53 | MOC_SRCS ${MODULE_MOC_SRCS} 54 | UI_SRCS ${MODULE_UI_SRCS} 55 | TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES} 56 | WITH_GENERIC_TESTS 57 | ) 58 | 59 | #----------------------------------------------------------------------------- 60 | #if(BUILD_TESTING) 61 | # add_subdirectory(Testing) 62 | #endif() 63 | -------------------------------------------------------------------------------- /VffFileReader/Logic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(vtkSlicer${MODULE_NAME}Logic) 2 | 3 | set(KIT ${PROJECT_NAME}) 4 | 5 | set(${KIT}_EXPORT_DIRECTIVE "VTK_SLICER_${MODULE_NAME_UPPER}_LOGIC_EXPORT") 6 | 7 | set(${KIT}_INCLUDE_DIRECTORIES 8 | ) 9 | 10 | set(${KIT}_SRCS 11 | vtkSlicer${MODULE_NAME}Logic.cxx 12 | vtkSlicer${MODULE_NAME}Logic.h 13 | ) 14 | 15 | set(${KIT}_TARGET_LIBRARIES 16 | ) 17 | 18 | #----------------------------------------------------------------------------- 19 | SlicerMacroBuildModuleLogic( 20 | NAME ${KIT} 21 | EXPORT_DIRECTIVE ${${KIT}_EXPORT_DIRECTIVE} 22 | INCLUDE_DIRECTORIES ${${KIT}_INCLUDE_DIRECTORIES} 23 | SRCS ${${KIT}_SRCS} 24 | TARGET_LIBRARIES ${${KIT}_TARGET_LIBRARIES} 25 | ) 26 | -------------------------------------------------------------------------------- /VffFileReader/Resources/UI/qSlicerVffFileReaderOptionsWidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerVffFileReaderOptionsWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 552 10 | 27 11 | 12 | 13 | 14 | Volume Options 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 22 | 23 | Use Image Intensity Scale and Image Intensity Offset 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | qSlicerWidget 32 | QWidget 33 |
qSlicerWidget.h
34 | 1 35 |
36 |
37 | 38 | 39 |
40 | -------------------------------------------------------------------------------- /VffFileReader/Resources/UI/qSlicerVffFileReaderPluginWidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | qSlicerVffFileReaderPluginWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 552 10 | 146 11 | 12 | 13 | 14 | Volume Options 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 22 | 23 | 24 | qSlicerWidget 25 | QWidget 26 |
qSlicerWidget.h
27 | 1 28 |
29 |
30 | 31 | 32 |
33 | -------------------------------------------------------------------------------- /VffFileReader/qSlicerVffFileReaderOptionsWidget.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Jennifer Andrea, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario with funds provided by the Natural Sciences and Engineering Research Council 18 | of Canada. 19 | 20 | ==============================================================================*/ 21 | 22 | #ifndef __qSlicerVffFileReaderOptionsWidget_h 23 | #define __qSlicerVffFileReaderOptionsWidget_h 24 | 25 | // CTK includes 26 | #include 27 | 28 | // SlicerQt includes 29 | #include "qSlicerIOOptionsWidget.h" 30 | 31 | // VffFileReader includes 32 | #include "qSlicerVffFileReaderModuleExport.h" 33 | 34 | class qSlicerVffFileReaderOptionsWidgetPrivate; 35 | 36 | /// \ingroup SlicerRt_QtModules_VffFileReader 37 | class Q_SLICER_VFFFILEREADER_EXPORT qSlicerVffFileReaderOptionsWidget : 38 | public qSlicerIOOptionsWidget 39 | { 40 | Q_OBJECT 41 | public: 42 | typedef qSlicerIOOptionsWidget Superclass; 43 | qSlicerVffFileReaderOptionsWidget(QWidget *parent=nullptr); 44 | ~qSlicerVffFileReaderOptionsWidget() override; 45 | 46 | 47 | protected slots: 48 | void updateProperties(); 49 | 50 | private: 51 | Q_DECLARE_PRIVATE_D(qGetPtrHelper(qSlicerIOOptions::d_ptr), qSlicerVffFileReaderOptionsWidget); 52 | //Q_DECLARE_PRIVATE(qSlicerVffFileReaderOptionsWidget); 53 | Q_DISABLE_COPY(qSlicerVffFileReaderOptionsWidget); 54 | }; 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /VffFileReader/qSlicerVffFileReaderPluginWidget.h: -------------------------------------------------------------------------------- 1 | /*============================================================================== 2 | 3 | Copyright (c) Laboratory for Percutaneous Surgery (PerkLab) 4 | Queen's University, Kingston, ON, Canada. All Rights Reserved. 5 | 6 | See COPYRIGHT.txt 7 | or http://www.slicer.org/copyright/copyright.txt for details. 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | This file was originally developed by Jennifer Andrea, PerkLab, Queen's University 16 | and was supported through the Applied Cancer Research Unit program of Cancer Care 17 | Ontario with funds provided by the Natural Sciences and Engineering Research Council 18 | of Canada. 19 | 20 | ==============================================================================*/ 21 | 22 | #ifndef __qSlicerVffFileReaderPluginWidget_h 23 | #define __qSlicerVffFileReaderPluginWidget_h 24 | 25 | // SlicerQt includes 26 | #include "qSlicerAbstractModuleWidget.h" 27 | 28 | // VffFileReader includes 29 | #include "qSlicerVffFileReaderModuleExport.h" 30 | 31 | class qSlicerVffFileReaderPluginWidgetPrivate; 32 | 33 | /// \ingroup SlicerRt_QtModules_VffFileReader 34 | class Q_SLICER_VFFFILEREADER_EXPORT qSlicerVffFileReaderPluginWidget : 35 | public qSlicerAbstractModuleWidget 36 | { 37 | Q_OBJECT 38 | public: 39 | typedef qSlicerAbstractModuleWidget Superclass; 40 | qSlicerVffFileReaderPluginWidget(QWidget *parent=nullptr); 41 | ~qSlicerVffFileReaderPluginWidget() override; 42 | 43 | protected: 44 | QScopedPointer d_ptr; 45 | void setup() override; 46 | 47 | private: 48 | Q_DECLARE_PRIVATE(qSlicerVffFileReaderPluginWidget); 49 | Q_DISABLE_COPY(qSlicerVffFileReaderPluginWidget); 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | SlicerRT project home page: 2 | http://slicerrt.org 3 | 4 | SlicerRT extension page on the 3D Slicer wiki: 5 | http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Extensions/SlicerRT 6 | --------------------------------------------------------------------------------