Ejemplo n.º 1
0
        public void CopyBrainVisionFilesToBidsEegModalityFolder()
        {
            string bidsEegModalityFolderPath = _bidsPackage.RootFolder.SubjectFolder.SessionFolder.EegModalityFolder.FolderPath;
            string fileNamePattern           = _bidsPackage.FileNamePattern;

            const string appendix        = "_eeg";
            string       rawDataFileName = FormatFileName(fileNamePattern, appendix, Path.GetExtension(_bvPackage.RawDataFilePath));
            string       headerFileName  = FormatFileName(fileNamePattern, appendix, Path.GetExtension(_bvPackage.HeaderFilePath));
            string       markerFileName  = FormatFileName(fileNamePattern, appendix, Path.GetExtension(_bvPackage.MarkerFilePath));

            string rawDataFilePath = Path.Combine(bidsEegModalityFolderPath, rawDataFileName);
            string headerFilePath  = Path.Combine(bidsEegModalityFolderPath, headerFileName);
            string markerFilePath  = Path.Combine(bidsEegModalityFolderPath, markerFileName);

            Directory.CreateDirectory(bidsEegModalityFolderPath);
            CopyFileWithFileOverwrittenWarningIfNecessary(_bvPackage.RawDataFilePath, rawDataFilePath);
            CopyFileWithFileOverwrittenWarningIfNecessary(_bvPackage.HeaderFilePath, headerFilePath);
            if (_bvPackage.MarkerFilePath != null)
            {
                CopyFileWithFileOverwrittenWarningIfNecessary(_bvPackage.MarkerFilePath, markerFilePath);
            }

            BrainVisionPackage copiedBvFilesPackage = BrainVisionPackage.Copy(_bvPackage);

            copiedBvFilesPackage.SetPathsAndUpdateFileReferencesInBvFiles(rawDataFilePath, headerFilePath, markerFilePath);
            copiedBvFilesPackage.Save(copiedBvFilesPackage.HeaderFilePath);
        }