public static void ImportDataset(string filePath)
        {
            DatasetType datasetType = DatasetImporterUtility.GetDatasetType(filePath);

            switch (datasetType)
            {
            case DatasetType.Raw:
            {
                RAWDatasetImporterEditorWindow wnd = (RAWDatasetImporterEditorWindow)EditorWindow.GetWindow(typeof(RAWDatasetImporterEditorWindow));
                if (wnd != null)
                {
                    wnd.Close();
                }

                wnd = new RAWDatasetImporterEditorWindow(filePath);
                wnd.Show();
                break;
            }

            case DatasetType.DICOM:
            {
                DatasetImporterBase importer = new DICOMImporter(new FileInfo(filePath).Directory.FullName, false);
                VolumeDataset       dataset  = importer.Import();

                if (dataset != null)
                {
                    VolumeRenderedObject obj = VolumeObjectFactory.CreateObject(dataset);
                }
                break;
            }
            }
        }
        public static List <Data> LoadDataset(DatasetType Type)
        {
            List <Data>   dataset = new List <Data>();
            DirectoryInfo info;

            if (Type == DatasetType.Training)
            {
                info = new DirectoryInfo(@"../../Model/Dataset/Training Dataset");
            }
            else
            {
                info = new DirectoryInfo(@"../../Model/Dataset/Testing Dataset");
            }
            DirectoryInfo[] dirs    = info.GetDirectories();
            List <string>   classes = new List <string>();
            List <Thread>   thrd    = new List <Thread>();

            for (int i = 0; i < dirs.Length; ++i)
            {
                classes.Add(dirs[i].Name);
                int dumpvalue = i; // because of multi-threaded
                ReadFiles(dirs[i], (byte)i, ref dataset);
                //thrd.Add(new Thread(new ParameterizedThreadStart(target => ReadFiles(dirs[dumpvalue], (byte)dumpvalue, ref dataset))));
                //thrd[i].Start();
            }

            /*for (int j = 0; j < thrd.Count; ++j)
             *  thrd[j].Join();*/
            return(dataset);
        }
예제 #3
0
        private DatasetType GetDatasetType(String typeName)
        {
            DatasetType result = DatasetType.Point;

            try
            {
                switch (typeName)
                {
                case "点数据集":
                    result = DatasetType.Point;
                    break;

                case "线数据集":
                    result = DatasetType.Line;
                    break;

                case "面数据集":
                    result = DatasetType.Region;
                    break;

                default:
                    result = DatasetType.Line;
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(result);
        }
예제 #4
0
    public DatasetImporterEditorWindow(string fileToImport)
    {
        this.fileToImport = fileToImport;
        string extension = Path.GetExtension(fileToImport);

        if (extension == ".dat" || extension == ".raw")
        {
            datasetType = DatasetType.Raw;
        }
        else if (extension == ".dicom")
        {
            datasetType = DatasetType.DICOM;
        }
        else
        {
            datasetType = DatasetType.Unknown;
        }

        if (extension == ".dat")
        {
            FileStream   fs     = new FileStream(fileToImport, FileMode.Open);
            BinaryReader reader = new BinaryReader(fs);

            dimX        = reader.ReadUInt16();
            dimY        = reader.ReadUInt16();
            dimZ        = reader.ReadUInt16();
            bytesToSkip = 6;

            reader.Close();
            fs.Close();
        }

        this.minSize = new Vector2(300.0f, 200.0f);
    }
예제 #5
0
 public RunnerParameters(MapperType mapperType, DatasetType datasetType, string outputPath, string datasetPath)
 {
     MapperType  = mapperType;
     DatasetType = datasetType;
     OutputPath  = outputPath;
     DatasetPath = datasetPath;
 }
예제 #6
0
        private (DatasetTypeModel coreModel, DatasetType dalModel) GetModels()
        {
            var coreModel = new DatasetTypeModel(12, "newtype");
            var dalModel  = new DatasetType()
            {
                Id = 12, TypeName = "newtype"
            };

            _mapperMock.Setup(mapper => mapper.Map <DatasetTypeModel>(dalModel)).Returns(coreModel);
            _mapperMock.Setup(mapper => mapper.Map <DatasetType>(coreModel)).Returns(dalModel);

            return(coreModel, dalModel);
        }
예제 #7
0
        private DatasetType GetDatasetType(String typeName)
        {
            DatasetType result = DatasetType.Point;

            try
            {
                switch (typeName)
                {
                case "点数据集":
                    result = DatasetType.Point;
                    break;

                case "线数据集":
                    result = DatasetType.Line;
                    break;

                case "面数据集":
                    result = DatasetType.Region;
                    break;

                case "文本数据集":
                    result = DatasetType.Text;
                    break;

                case "CAD数据集":
                    result = DatasetType.CAD;
                    break;

                case "数据表数据集":
                    result = DatasetType.Tabular;
                    break;

                case "栅格数据集":
                    result = DatasetType.Grid;
                    break;

                case "影像数据集":
                    result = DatasetType.Image;
                    break;

                default:
                    result = DatasetType.Line;
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(result);
        }
예제 #8
0
        private static DatasetType[] CreateDatasets()
        {
            List <DatasetType> datasets = new List <DatasetType>();
            DatasetType        dataset  = new DatasetType();

            foreach (int id in DatasetsData.GetListOfDatasetIDs())
            {
                dataset = new DatasetType();
                dataset.applicationSchema = DatasetsData.SchemaFileUri(id);
                dataset.datasetId         = id.ToString();
                dataset.name    = DatasetsData.Name(id);
                dataset.version = DatasetsData.Version(id);
                List <FeatureTypeType> lstFeatTypes = new List <FeatureTypeType>();
                FeatureTypeType        featType     = new FeatureTypeType();
                featType.Name = new XmlQualifiedName(DatasetsData.Name(id), DatasetsData.TargetNamespace(id));
                List <MetadataURLType> lstMetaDataUrl = new List <MetadataURLType>();
                MetadataURLType        metadataUrl    = new MetadataURLType();
                metadataUrl.href = DatasetsData.TargetNamespace(id);
                lstMetaDataUrl.Add(metadataUrl);
                featType.MetadataURL = lstMetaDataUrl.ToArray();
                List <Title> lstTitles = new List <Title>();
                Title        title     = new Title();
                title.lang  = "no";
                title.Value = DatasetsData.Name(id);
                lstTitles.Add(title);
                featType.Title            = lstTitles.ToArray();
                featType.Items            = new[] { "urn:ogc:def:crs:EPSG::" + DatasetsData.DefaultCrs(id) };
                featType.ItemsElementName = new ItemsChoiceType1[1];
                featType.ItemsElementName.SetValue(ItemsChoiceType1.DefaultCRS, 0);
                featType.OutputFormats = new OutputFormatListType();
                List <string> formats = new List <string>();
                formats.Add("text/xml; subtype=gml/3.2.1"); //DB?
                featType.OutputFormats.Format = formats.ToArray();
                List <WGS84BoundingBoxType> lstWgs84Box = new List <WGS84BoundingBoxType>();
                WGS84BoundingBoxType        wgs84Box    = new WGS84BoundingBoxType();
                wgs84Box.LowerCorner = DatasetsData.LowerCornerCoords(id);
                wgs84Box.UpperCorner = DatasetsData.UpperCornerCoords(id);
                lstWgs84Box.Add(wgs84Box);
                if ((wgs84Box.LowerCorner != "") || (wgs84Box.UpperCorner != ""))
                {
                    featType.WGS84BoundingBox = lstWgs84Box.ToArray();
                }
                lstFeatTypes.Add(featType);
                dataset.featureTypes = lstFeatTypes.ToArray();
                datasets.Add(dataset);
            }
            return(datasets.ToArray());
        }
예제 #9
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Id.Length != 0)
            {
                hash ^= Id.GetHashCode();
            }
            if (Consumer.Length != 0)
            {
                hash ^= Consumer.GetHashCode();
            }
            if (DatasetName.Length != 0)
            {
                hash ^= DatasetName.GetHashCode();
            }
            if (DatasetType.Length != 0)
            {
                hash ^= DatasetType.GetHashCode();
            }
            if (DatasetId.Length != 0)
            {
                hash ^= DatasetId.GetHashCode();
            }
            hash ^= tags_.GetHashCode();
            if (data_ != null)
            {
                hash ^= Data.GetHashCode();
            }
            hash ^= targetValues_.GetHashCode();
            if (model_ != null)
            {
                hash ^= Model.GetHashCode();
            }
            hash ^= prediction_.GetHashCode();
            if (TimeAdded != 0UL)
            {
                hash ^= TimeAdded.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
예제 #10
0
        private void SetStyle(DatasetType type, Selection3D selection)
        {
            switch (type)
            {
            case DatasetType.Point3D:
                mGeostyle_P.IsMarkerSizeFixed = false;
                mGeostyle_P.MarkerSize        = 100;
                mGeostyle_P.MarkerColor       = Color.GreenYellow;
                selection.Style = mGeostyle_P;
                break;

            case DatasetType.Line3D:
                mGeostyle_L.FillForeColor = Color.GreenYellow;
                mGeostyle_L.FillMode      = FillMode3D.Line;
                mGeostyle_L.LineColor     = Color.GreenYellow;
                selection.Style           = mGeostyle_L;
                break;
            }
        }
예제 #11
0
        public DatasetImporterEditorWindow(string fileToImport)
        {
            // Check file extension
            string extension = Path.GetExtension(fileToImport);

            if (extension == ".dat" || extension == ".raw" || extension == ".vol")
            {
                datasetType = DatasetType.Raw;
            }
            else if (extension == ".ini")
            {
                fileToImport = fileToImport.Substring(0, fileToImport.LastIndexOf("."));
                datasetType  = DatasetType.Raw;
            }
            else if (extension == ".dicom" || extension == ".dcm")
            {
                datasetType = DatasetType.DICOM;
            }
            else
            {
                datasetType = DatasetType.Unknown;
            }

            this.fileToImport = fileToImport;

            // Try parse ini file (if available)
            DatasetIniData initData = DatasetIniReader.ParseIniFile(fileToImport + ".ini");

            if (initData != null)
            {
                dimX        = initData.dimX;
                dimY        = initData.dimY;
                dimZ        = initData.dimZ;
                bytesToSkip = initData.bytesToSkip;
                dataFormat  = initData.format;
                endianness  = initData.endianness;
            }

            this.minSize = new Vector2(300.0f, 200.0f);
        }
예제 #12
0
        public static DataSets ReadDatasetFromFile(DatasetType type, int datasetSize,
                                                   int inputAttributes, int outputIntervals, string filename)
        {
            DataSets dataset = null;

            switch (type)
            {
            case DatasetType.Iris:
                dataset = new DatasetIris(datasetSize, inputAttributes, outputIntervals, filename);
                break;

            case DatasetType.Test:
                dataset = new DatasetTest(datasetSize, inputAttributes, outputIntervals, filename);
                break;

            case DatasetType.Heart:
                dataset = new DatasetHeart(datasetSize, inputAttributes, outputIntervals, filename);
                break;

            case DatasetType.Seeds:
                dataset = new DatasetSeeds(datasetSize, inputAttributes, outputIntervals, filename);
                break;

            case DatasetType.Yeast:
                dataset = new DatasetYeast(datasetSize, inputAttributes, outputIntervals, filename);
                break;

            case DatasetType.Wine:
                dataset = new DatasetWine(datasetSize, inputAttributes, outputIntervals, filename);
                break;

            default:
                return(null);
            }

            dataset.InitializeDataset();
            dataset.NormalizeDataset();
            //   dataset.WriteInfoToFile();
            return(dataset);
        }
예제 #13
0
        public static void ImportDataset(string filePath)
        {
            DatasetType datasetType = DatasetImporterUtility.GetDatasetType(filePath);

            switch (datasetType)
            {
            case DatasetType.Raw:
            {
                RAWDatasetImporterEditorWindow wnd = (RAWDatasetImporterEditorWindow)EditorWindow.GetWindow(typeof(RAWDatasetImporterEditorWindow));
                if (wnd != null)
                {
                    wnd.Close();
                }

                wnd = new RAWDatasetImporterEditorWindow(filePath);
                wnd.Show();
                break;
            }

            case DatasetType.DICOM:
            {
                string directoryPath = new FileInfo(filePath).Directory.FullName;

                // Find all DICOM files in directory
                IEnumerable <string> fileCandidates = Directory.EnumerateFiles(directoryPath, "*.*", SearchOption.TopDirectoryOnly)
                                                      .Where(p => p.EndsWith(".dcm", StringComparison.InvariantCultureIgnoreCase) || p.EndsWith(".dicom", StringComparison.InvariantCultureIgnoreCase) || p.EndsWith(".dicm", StringComparison.InvariantCultureIgnoreCase));

                DatasetImporterBase importer = new DICOMImporter(fileCandidates, Path.GetFileName(directoryPath));
                VolumeDataset       dataset  = importer.Import();

                if (dataset != null)
                {
                    VolumeRenderedObject obj = VolumeObjectFactory.CreateObject(dataset);
                }
                break;
            }
            }
        }
 public static List<Data> LoadDataset(DatasetType Type)
 {
     List<Data> dataset = new List<Data>();
     DirectoryInfo info;
     if (Type == DatasetType.Training)
         info = new DirectoryInfo(@"../../Model/Dataset/Training Dataset");
     else
         info = new DirectoryInfo(@"../../Model/Dataset/Testing Dataset");
     DirectoryInfo[] dirs = info.GetDirectories();
     List<string> classes = new List<string>();
     List<Thread> thrd = new List<Thread>();
     for (int i = 0; i < dirs.Length; ++i)
     {
         classes.Add(dirs[i].Name);
         int dumpvalue = i; // because of multi-threaded
         ReadFiles(dirs[i], (byte)i, ref dataset);
         //thrd.Add(new Thread(new ParameterizedThreadStart(target => ReadFiles(dirs[dumpvalue], (byte)dumpvalue, ref dataset))));
         //thrd[i].Start();
     }
     /*for (int j = 0; j < thrd.Count; ++j)
         thrd[j].Join();*/
     return dataset;
 }
예제 #15
0
        /// <summary>
        /// 加载网络分析模型
        /// </summary>
        public void LoadModel()
        {
            try
            {
                if (!mSceneControl.Scene.Layers.Contains(mStrLayer3DNodeNetwork))
                {
                    //Layer3DDataset layerNetNode = mSceneControl.Scene.Layers.Add(mRodeNetWork.ChildDataset, new Layer3DSettingVector(), true);
                    //Layer3DDataset layerNetLine = mSceneControl.Scene.Layers.Add(mRodeNetWork, new Layer3DSettingVector(), true);
                    //layerNetLine.IsSelectable = false;
                    //layerNetNode.IsSelectable = false;
                }
                else
                {
                    mSceneControl.Scene.Layers[mStrLayer3DNodeNetwork].IsVisible = true;
                    mSceneControl.Scene.Layers[mStrLayer3DLineNetwork].IsVisible = true;
                }
                WeightFieldInfo weightInfo = new WeightFieldInfo();
                weightInfo.Name          = "SmLength";
                weightInfo.FTWeightField = "SmLength";
                weightInfo.TFWeightField = "SmLength";

                TransportationAnalystSetting analystSetting = new TransportationAnalystSetting();
                analystSetting.NetworkDataset = mRodeNetWork;
                analystSetting.EdgeIDField    = "SmEdgeID";
                //analystSetting.NodeIDField = "SmNodeID";
                analystSetting.FNodeIDField = "SmFNode";
                analystSetting.TNodeIDField = "SmTNode";
                analystSetting.WeightFieldInfos.Add(weightInfo);
                mAnalyst.AnalystSetting = analystSetting;
                DatasetType ty1 = analystSetting.NetworkDataset.Type;
                mAnalyst.Load();
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
예제 #16
0
        /// <summary>
        /// 创建数据集
        /// Create the dataset
        /// </summary>
        public Boolean CreateDataset(Datasource datasource, DatasetType datasetType, String datasetName)
        {
            Boolean result = false;

            if (datasource == null)
            {
                return(result);
            }

            // 首先要判断输入的名字是否可用
            // Judge that whether the input name is usable or not
            if (!datasource.Datasets.IsAvailableDatasetName(datasetName))
            {
                MessageBox.Show($"名称为{datasetName}的数据集已存在");
                return(result);
            }

            Datasets          datasets   = datasource.Datasets;
            DatasetVectorInfo vectorInfo = new DatasetVectorInfo();

            vectorInfo.Name = datasetName;

            try
            {
                // Point等为Vector类型,类型是一样的,可以统一处理
                // Data such as Point,Line,etc can be operated as the same method as they are all vector type
                switch (datasetType)
                {
                case DatasetType.Point:
                case DatasetType.Line:
                case DatasetType.CAD:
                case DatasetType.Region:
                case DatasetType.Text:
                case DatasetType.Tabular:
                {
                    vectorInfo.Type = datasetType;
                    if (datasets.Create(vectorInfo) != null)
                    {
                        result = true;
                    }
                }
                break;

                case DatasetType.Grid:
                {
                    DatasetGridInfo datasetGridInfo = new DatasetGridInfo();
                    datasetGridInfo.Name        = datasetName;
                    datasetGridInfo.Height      = 200;
                    datasetGridInfo.Width       = 200;
                    datasetGridInfo.NoValue     = 1.0;
                    datasetGridInfo.PixelFormat = SuperMap.Data.PixelFormat.Single;
                    datasetGridInfo.EncodeType  = EncodeType.LZW;

                    if (datasets.Create(datasetGridInfo) != null)
                    {
                        result = true;
                    }
                }
                break;

                case DatasetType.Image:
                {
                    DatasetImageInfo datasetImageInfo = new DatasetImageInfo();
                    datasetImageInfo.Name            = datasetName;
                    datasetImageInfo.BlockSizeOption = BlockSizeOption.BS_128;
                    datasetImageInfo.Height          = 200;
                    datasetImageInfo.Width           = 200;
                    //datasetImageInfo.Palette = Colors.MakeRandom(10);
                    datasetImageInfo.EncodeType = EncodeType.None;

                    if (datasets.Create(datasetImageInfo) != null)
                    {
                        result = true;
                    }
                }
                break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }

            return(result);
        }
예제 #17
0
 /// <summary>
 /// 反序列化的构造函数。
 /// </summary>
 /// <param name="info">要填充数据的SerializationInfo。</param>
 /// <param name="context">此序列化的目标。</param>
 protected DatasetInfo(SerializationInfo info, StreamingContext context)
 {
     this.Bounds = (Rectangle2D)info.GetValue("Bounds", typeof(Rectangle2D));
     this.DataSourceName = info.GetString("DataSourceName");
     this.Description = info.GetString("Description");
     this.EncodeType = (EncodeType)info.GetValue("EncodeType", typeof(EncodeType));
     this.IsReadOnly = info.GetBoolean("IsReadOnly");
     this.Name = info.GetString("Name");
     this.PrjCoordSys = (PrjCoordSys)info.GetValue("PrjCoordSys", typeof(PrjCoordSys));
     this.TableName = info.GetString("TableName");
     this.Type = (DatasetType)info.GetValue("Type", typeof(DatasetType));
 }
예제 #18
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="name"></param>
 /// <param name="datasetType"></param>
 public DatasetTypeCategory(string name, DatasetType datasetType)
 {
     Name        = name;
     DatasetType = datasetType;
 }
예제 #19
0
        public Boolean CreateDataset(DatasetType datasetType, String datasetName)
        {
            Boolean result = false;

            if (m_datasource == null)
            {
                return(result);
            }

            // 首先要判断输入的名字是否可用
            if (!m_datasource.Datasets.IsAvailableDatasetName(datasetName))
            {
                MessageBox.Show("该名字已经存在或不合法");
                return(result);
            }

            Datasets          datasets   = m_datasource.Datasets;
            DatasetVectorInfo vectorInfo = new DatasetVectorInfo();

            vectorInfo.Name = datasetName;

            try
            {
                // Point等为Vector类型,类型是一样的,可以统一处理
                switch (datasetType)
                {
                case DatasetType.Point:
                case DatasetType.Line:
                case DatasetType.CAD:
                case DatasetType.Region:
                case DatasetType.Text:
                case DatasetType.Tabular:
                {
                    vectorInfo.Type = datasetType;
                    if (datasets.Create(vectorInfo) != null)
                    {
                        result = true;
                    }
                }
                break;

                case DatasetType.Grid:
                {
                    DatasetGridInfo datasetGridInfo = new DatasetGridInfo();
                    datasetGridInfo.Name        = datasetName;
                    datasetGridInfo.BlockSize   = 125;
                    datasetGridInfo.Height      = 200;
                    datasetGridInfo.Width       = 200;
                    datasetGridInfo.NoValue     = 1.0;
                    datasetGridInfo.PixelFormat = PixelFormat.Single;
                    datasetGridInfo.EncodeType  = EncodeType.LZW;

                    if (datasets.Create(datasetGridInfo) != null)
                    {
                        result = true;
                    }
                }
                break;

                case DatasetType.Image:
                {
                    DatasetImageInfo datasetImageInfo = new DatasetImageInfo();
                    datasetImageInfo.Name       = datasetName;
                    datasetImageInfo.Height     = 200;
                    datasetImageInfo.Width      = 200;
                    datasetImageInfo.Palette    = Colors.MakeRandom(10);
                    datasetImageInfo.EncodeType = EncodeType.None;

                    if (datasets.Create(datasetImageInfo) != null)
                    {
                        result = true;
                    }
                }
                break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }

            return(result);
        }
예제 #20
0
 /// <summary>
 /// 在指定的数据源中,根据指定的数据集信息创建一个新的数据集。
 /// </summary>
 /// <param name="datasourceName">数据源名称,必选参数。</param>
 /// <param name="datasetName">数据集名称,必选参数。</param>
 /// <param name="datasetType"> 数据集类型,必选参数。</param>
 /// <returns>数据集创建成功返回 true, 否则返回 false。</returns>
 /// <exception cref="ArgumentNullException">参数 datasourceName、datasetName 为空时抛出异常。</exception>
 public bool CreateDataset(string datasourceName, string datasetName, DatasetType datasetType)
 {
     if (string.IsNullOrEmpty(datasourceName)) throw new ArgumentNullException("datasourceName", Resources.ArgumentIsNotNull);
     if (string.IsNullOrEmpty(datasetName)) throw new ArgumentNullException("datasetName", Resources.ArgumentIsNotNull);
     string uri = string.Format("{0}/data/datasources/{1}/datasets.json", this._serviceUrl, datasourceName);
     DatasetInfoRequestParameter datasetInfo = new DatasetInfoRequestParameter(datasetName, datasetType);
     string result = SynchHttpRequest.GetRequestString(uri, JsonConvert.SerializeObject(datasetInfo));
     EditResult datasetResult = JsonConvert.DeserializeObject<EditResult>(result);
     return datasetResult.Succeed;
 }
        public static void ImportDataset(string filePath)
        {
            DatasetType datasetType = DatasetImporterUtility.GetDatasetType(filePath);

            switch (datasetType)
            {
            case DatasetType.Raw:
            {
                RAWDatasetImporterEditorWindow wnd = (RAWDatasetImporterEditorWindow)EditorWindow.GetWindow(typeof(RAWDatasetImporterEditorWindow));
                if (wnd != null)
                {
                    wnd.Close();
                }

                wnd = new RAWDatasetImporterEditorWindow(filePath);
                wnd.Show();
                break;
            }

            case DatasetType.DICOM:
            {
                string directoryPath = new FileInfo(filePath).Directory.FullName;

                // Find all DICOM files in directory
                IEnumerable <string> fileCandidates = Directory.EnumerateFiles(directoryPath, "*.*", SearchOption.TopDirectoryOnly)
                                                      .Where(p => p.EndsWith(".dcm", StringComparison.InvariantCultureIgnoreCase) || p.EndsWith(".dicom", StringComparison.InvariantCultureIgnoreCase) || p.EndsWith(".dicm", StringComparison.InvariantCultureIgnoreCase));

                DICOMImporter importer = new DICOMImporter(fileCandidates, Path.GetFileName(directoryPath));

                List <DICOMImporter.DICOMSeries> seriesList = importer.LoadDICOMSeries();
                foreach (DICOMImporter.DICOMSeries series in seriesList)
                {
                    // Only import the series that contains the selected file
                    if (series.dicomFiles.Any(f => Path.GetFileName(f.filePath) == Path.GetFileName(filePath)))
                    {
                        VolumeDataset dataset = importer.ImportDICOMSeries(series);

                        if (dataset != null)
                        {
                            VolumeRenderedObject obj = VolumeObjectFactory.CreateObject(dataset);
                        }
                    }
                }
                break;
            }

            case DatasetType.PARCHG:
            {
                ParDatasetImporter importer = new ParDatasetImporter(filePath);
                VolumeDataset      dataset  = importer.Import();

                if (dataset != null)
                {
                    VolumeRenderedObject obj = VolumeObjectFactory.CreateObject(dataset);
                }
                else
                {
                    Debug.LogError("Failed to import datset");
                }
                break;
            }
            }
        }
예제 #22
0
 /// <summary>
 /// 在指定的数据源中,根据指定的数据集信息创建一个新的数据集。
 /// </summary>
 /// <param name="datasourceName">数据源名称,必选参数。</param>
 /// <param name="datasetName">数据集名称,必选参数。</param>
 /// <param name="datasetType"> 数据集类型。目前支持六种枚举值:POINT、LINE、REGION、TEXT、CAD、TABULAR。</param>
 /// <returns>数据集创建成功返回 true, 否则返回 false。</returns>
 /// <exception cref="ArgumentNullException">参数 datasourceName、datasetName 为空时抛出异常。</exception>
 /// <exception cref="SuperMap.Connector.Utility.ServiceException">服务端处理错误时抛出异常。</exception>
 public bool CreateDataset(string datasourceName, string datasetName, DatasetType datasetType)
 {
     return _dataProvider.CreateDataset(datasourceName, datasetName, datasetType);
 }