Exemple #1
0
        private void OnGUI()
        {
            GUILayout.BeginVertical();


            // Show dataset import buttons
            if (GUILayout.Button("Import RAW dataset"))
            {
                RuntimeFileBrowser.ShowOpenFileDialog(OnOpenRAWDatasetResult, "DataFiles");
            }

            if (GUILayout.Button("Import PARCHG dataset"))
            {
                RuntimeFileBrowser.ShowOpenFileDialog(OnOpenPARDatasetResult, "DataFiles");
            }

            if (GUILayout.Button("Import DICOM dataset"))
            {
                RuntimeFileBrowser.ShowOpenDirectoryDialog(OnOpenDICOMDatasetResult);
            }

            // Show button for opening the dataset editor (for changing the visualisation)
            if (GameObject.FindObjectOfType <VolumeRenderedObject>() != null && GUILayout.Button("Edit imported dataset"))
            {
                EditVolumeGUI.ShowWindow(GameObject.FindObjectOfType <VolumeRenderedObject>());
            }

            // Show button for opening the slicing plane editor (for changing the orientation and position)
            if (GameObject.FindObjectOfType <SlicingPlane>() != null && GUILayout.Button("Edit slicing plane"))
            {
                EditSliceGUI.ShowWindow(GameObject.FindObjectOfType <SlicingPlane>());
            }

            GUILayout.EndVertical();
        }
Exemple #2
0
        private void UpdateWindow(int windowID)
        {
            GUI.DragWindow(new Rect(0, 0, 10000, 20));

            GUILayout.BeginVertical();

            if (targetObject != null)
            {
                // Render mode
                GUILayout.Label("Render mode");
                selectedRenderModeIndex = GUILayout.SelectionGrid(selectedRenderModeIndex, new string[] { "Direct volume rendering", "Maximum intensity projection", "Isosurface rendering" }, 2);
                targetObject.SetRenderMode((RenderMode)selectedRenderModeIndex);

                // Visibility window
                GUILayout.Label("Visibility window (min - max visible values)");
                GUILayout.BeginHorizontal();
                Vector2 visibilityWindow = targetObject.GetVisibilityWindow();
                GUILayout.Label("min:");
                visibilityWindow.x = GUILayout.HorizontalSlider(visibilityWindow.x, 0.0f, visibilityWindow.y, GUILayout.Width(150.0f));
                GUILayout.Label("max:");
                visibilityWindow.y = GUILayout.HorizontalSlider(visibilityWindow.y, visibilityWindow.x, 1.0f, GUILayout.Width(150.0f));
                targetObject.SetVisibilityWindow(visibilityWindow);
                GUILayout.EndHorizontal();

                // Rotation
                GUILayout.Label("Rotation");
                rotation.x = GUILayout.HorizontalSlider(rotation.x, 0.0f, 360.0f);
                rotation.y = GUILayout.HorizontalSlider(rotation.y, 0.0f, 360.0f);
                rotation.z = GUILayout.HorizontalSlider(rotation.z, 0.0f, 360.0f);
                targetObject.transform.rotation = Quaternion.Euler(rotation);

                // Load transfer function
                if (GUILayout.Button("Load transfer function", GUILayout.Width(150.0f)))
                {
                    RuntimeFileBrowser.ShowOpenFileDialog(OnLoadTransferFunction);
                }
            }

            GUILayout.FlexibleSpace();

            GUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            // Show close button
            if (GUILayout.Button("Close"))
            {
                GameObject.Destroy(this.gameObject);
            }
            GUILayout.EndHorizontal();

            GUILayout.EndVertical();
        }