コード例 #1
0
        ///////////////////////////////////////////////////////////////////////

        //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;
            }
        }
コード例 #2
0
        ///////////////////////////////////////////////////////////////////////////
        //
        ///////////////////////////////////////////////////////////////////////////
        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;
            }
        }