static void ShowSequenceImporter() { string dir = EditorUtility.OpenFolderPanel("Select a folder to load", "", ""); if (Directory.Exists(dir)) { ImageSequenceImporter importer = new ImageSequenceImporter(dir); VolumeDataset dataset = importer.Import(); if (dataset != null) { if (EditorPrefs.GetBool("DownscaleDatasetPrompt")) { if (EditorUtility.DisplayDialog("Optional DownScaling", $"Do you want to downscale the dataset? The dataset's dimension is: {dataset.dimX} x {dataset.dimY} x {dataset.dimZ}", "Yes", "No")) { dataset.DownScaleData(); } } VolumeObjectFactory.CreateObject(dataset); } } else { Debug.LogError("Directory doesn't exist: " + dir); } }
static void ShowDICOMImporter() { string dir = EditorUtility.OpenFolderPanel("Select a folder to load", "", ""); if (Directory.Exists(dir)) { bool recursive = true; // Read all files IEnumerable <string> fileCandidates = Directory.EnumerateFiles(dir, "*.*", recursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly) .Where(p => p.EndsWith(".dcm", StringComparison.InvariantCultureIgnoreCase) || p.EndsWith(".dicom", StringComparison.InvariantCultureIgnoreCase) || p.EndsWith(".dicm", StringComparison.InvariantCultureIgnoreCase)); if (!fileCandidates.Any()) { #if UNITY_EDITOR if (UnityEditor.EditorUtility.DisplayDialog("Could not find any DICOM files", $"Failed to find any files with DICOM file extension.{Environment.NewLine}Do you want to include files without DICOM file extension?", "Yes", "No")) { fileCandidates = Directory.EnumerateFiles(dir, "*.*", recursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly); } #endif } if (fileCandidates.Any()) { DICOMImporter importer = new DICOMImporter(fileCandidates, Path.GetFileName(dir)); List <DICOMImporter.DICOMSeries> seriesList = importer.LoadDICOMSeries(); float numVolumesCreated = 0; foreach (DICOMImporter.DICOMSeries series in seriesList) { VolumeDataset dataset = importer.ImportDICOMSeries(series); if (dataset != null) { if (EditorPrefs.GetBool("DownscaleDatasetPrompt")) { if (EditorUtility.DisplayDialog("Optional DownScaling", $"Do you want to downscale the dataset? The dataset's dimension is: {dataset.dimX} x {dataset.dimY} x {dataset.dimZ}", "Yes", "No")) { dataset.DownScaleData(); } } VolumeRenderedObject obj = VolumeObjectFactory.CreateObject(dataset); obj.transform.position = new Vector3(numVolumesCreated, 0, 0); numVolumesCreated++; } } } else { Debug.LogError("Could not find any DICOM files to import."); } } else { Debug.LogError("Directory doesn't exist: " + dir); } }
private void ImportDataset() { RawDatasetImporter importer = new RawDatasetImporter(fileToImport, dimX, dimY, dimZ, dataFormat, endianness, bytesToSkip); VolumeDataset dataset = importer.Import(); if (dataset != null) { if (EditorPrefs.GetBool("DownscaleDatasetPrompt")) { if (EditorUtility.DisplayDialog("Optional DownScaling", $"Do you want to downscale the dataset? The dataset's dimension is: {dataset.dimX} x {dataset.dimY} x {dataset.dimZ}", "Yes", "No")) { dataset.DownScaleData(); } } VolumeRenderedObject obj = VolumeObjectFactory.CreateObject(dataset); } else { Debug.LogError("Failed to import datset"); } this.Close(); }