/////////////////////////////////////////////////////////////////////// //public string getFilePath() //{ // object tmp = LightFieldApplication.Experiment.GetValue(ExperimentSettings.FileNameGenerationFileFormatLocation); // if (tmp == null) // { // return "Null object"; // } // else // { // return tmp.ToString(); // } //} /////////////////////////////////////////////////////////////////////// private void Export_Tiff(string sourceFilename) { // Get the file manager IFileManager fm = LightFieldApplication.FileManager; // Block User Pop Ups LightFieldApplication.UserInteractionManager.SuppressUserInteraction = true; try { // Add Files List <string> itemsForExport = new List <string>(); itemsForExport.Add(sourceFilename); IList <IExportSelectionError> selectedErrors = new List <IExportSelectionError>(); ITiffExportSettings tifSettings = (ITiffExportSettings)fm.CreateExportSettings(ExportFileType.Tiff); // Specifics tifSettings.IncludeAllExperimentInformation = true; IExportSettings baseSettings_ = null; baseSettings_ = tifSettings; ExportOutputPathOption options_ = ExportOutputPathOption.InputPath; // Common Settings for all types // baseSettings_.CustomOutputPath = customPath_; baseSettings_.OutputPathOption = options_; baseSettings_.OutputMode = (ExportOutputMode)Enum.Parse(typeof(ExportOutputMode), "OneFilePerFrame"); selectedErrors = baseSettings_.Validate(itemsForExport); // Busy cursor during write using (new AddInStatusHelper(LightFieldApplication, ApplicationBusyStatus.Busy)) { fm.Export(baseSettings_, itemsForExport); } //// Async Mode //if (AsyncCheckBox.IsChecked == true) //{ // fm.ExportCompleted += new EventHandler<ExportCompletedEventArgs>(fm_ExportCompleted); // application_.UserInteractionManager.ApplicationBusyStatus = ApplicationBusyStatus.Busy; // fm.ExportAsync(baseSettings_, itemsForExport); // // Enable cancel // CancelButton.IsEnabled = true; // ExportButton.IsEnabled = false; //} //// Sync Mode //else //{ // ExportButton.IsEnabled = false; // // Busy cursor during write // using (new AddInStatusHelper(LightFieldApplication, ApplicationBusyStatus.Busy)) // { // fm.Export(baseSettings_, itemsForExport); // } // ExportButton.IsEnabled = true; //} } finally { LightFieldApplication.UserInteractionManager.SuppressUserInteraction = false; } }
/////////////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////////// private void ExportButton_Click(object sender, RoutedEventArgs e) { // Get the file manager IFileManager fm = application_.FileManager; // Block User Pop Ups application_.UserInteractionManager.SuppressUserInteraction = true; try { // clear out prior errors ErrorTextBox.Clear(); // Add Files List <string> itemsForExport = new List <string>(); itemsForExport.AddRange(FilesListBox.Items.Cast <string>()); IList <IExportSelectionError> selectedErrors = new List <IExportSelectionError>(); switch (OutputFormat.SelectedIndex) { ///////////////////////////////////////////// // Tagged image file format ///////////////////////////////////////////// case 0: ITiffExportSettings tifSettings = (ITiffExportSettings)fm.CreateExportSettings(ExportFileType.Tiff); // Specifics tifSettings.IncludeAllExperimentInformation = true; baseSettings_ = tifSettings; break; ///////////////////////////////////////////// // Comma Seperated Values ///////////////////////////////////////////// case 1: ICsvExportSettings csvSettings = (ICsvExportSettings)fm.CreateExportSettings(ExportFileType.Csv); List <CsvTableFormat> list = new List <CsvTableFormat>(); list.Add(CsvTableFormat.Frame); list.Add(CsvTableFormat.Region); list.Add(CsvTableFormat.Wavelength); list.Add(CsvTableFormat.Column); list.Add(CsvTableFormat.Intensity); list.Add(CsvTableFormat.Row); // Specifics csvSettings.TableFormat = list; csvSettings.HeaderType = CsvExportHeader.Long; csvSettings.IncludeFormatMarkers = true; csvSettings.Layout = CsvLayout.Matrix; // Set culture to regional with the default separator csvSettings.FieldSeparator = CsvFieldSeparator.Auto; csvSettings.NumberFormat = CsvNumberFormat.Regional; baseSettings_ = csvSettings; break; ///////////////////////////////////////////// // Galactic SPC spectroscopy file type ///////////////////////////////////////////// case 2: ISpcExportSettings spcSettings = (ISpcExportSettings)fm.CreateExportSettings(ExportFileType.Spc); // Specifics spcSettings.GlobalTimeUnit = TimeUnit.Milliseconds; baseSettings_ = spcSettings; break; ///////////////////////////////////////////// // Grams Fits file format ///////////////////////////////////////////// case 3: IFitsExportSettings fitsSettings = (IFitsExportSettings)fm.CreateExportSettings(ExportFileType.Fits); // Specifics fitsSettings.IncludeAllExperimentInformation = true; baseSettings_ = fitsSettings; break; ///////////////////////////////////////////// // AVI file format ///////////////////////////////////////////// case 4: IAviExportSettings aviSettings = (IAviExportSettings)fm.CreateExportSettings(ExportFileType.Avi); // Specifics aviSettings.FrameRate = 30.0; aviSettings.Compressed = false; aviSettings.AlwaysAutoScale = true; baseSettings_ = aviSettings; break; } // Common Settings for all types baseSettings_.CustomOutputPath = customPath_; baseSettings_.OutputPathOption = options_; baseSettings_.OutputMode = (ExportOutputMode)Enum.Parse(typeof(ExportOutputMode), ModeCombo.Text); selectedErrors = baseSettings_.Validate(itemsForExport); // Show any errors UpdateSelectedErrorTextBox(selectedErrors); // Async Mode if (AsyncCheckBox.IsChecked == true) { fm.ExportCompleted += new EventHandler <ExportCompletedEventArgs>(fm_ExportCompleted); application_.UserInteractionManager.ApplicationBusyStatus = ApplicationBusyStatus.Busy; fm.ExportAsync(baseSettings_, itemsForExport); // Enable cancel CancelButton.IsEnabled = true; ExportButton.IsEnabled = false; } // Sync Mode else { ExportButton.IsEnabled = false; // Busy cursor during write using (new AddInStatusHelper(application_, ApplicationBusyStatus.Busy)) { fm.Export(baseSettings_, itemsForExport); } ExportButton.IsEnabled = true; } } finally { application_.UserInteractionManager.SuppressUserInteraction = false; } }