public override bool GetChromatogram(int id, Target modifiedSequence, Color color, out ChromExtra extra, out TimeIntensities timeIntensities) { // No mass errors in SRM if (_readChromatograms == 0) { _readStartTime = DateTime.UtcNow; // Said to be 117x faster than Now and this is for a delta } float[] times, intensities; if (!_globalChromatogramExtractor.GetChromatogram(id, out times, out intensities)) { _dataFile.GetChromatogram(id, out string chromId, out times, out intensities); } timeIntensities = new TimeIntensities(times, intensities, null, null); // Assume that each chromatogram will be read once, though this may // not always be completely true. _readChromatograms++; if (!System.Diagnostics.Debugger.IsAttached) { double predictedMinutes = ExpectedReadDurationMinutes; if (_readMaxMinutes > 0 && predictedMinutes > _readMaxMinutes) { // TODO: This warning isn't checked in the command line version of Skyline. Maybe we should do that. if (Status is ChromatogramLoadingStatus) { Status = ((ChromatogramLoadingStatus)Status).ChangeWarningMessage(Resources.ChromatogramDataProvider_GetChromatogram_This_import_appears_to_be_taking_longer_than_expected__If_importing_from_a_network_drive__consider_canceling_this_import__copying_to_local_disk_and_retrying_); } } } if (_readChromatograms < _chromIds.Count) { SetPercentComplete(50 + _readChromatograms * 50 / _chromIds.Count); } int index = _chromIndices[id]; extra = new ChromExtra(index, -1); // TODO: is zero the right value? // Display in AllChromatogramsGraph var loadingStatus = Status as ChromatogramLoadingStatus; if (loadingStatus != null) { loadingStatus.Transitions.AddTransition( modifiedSequence, color, index, -1, times, intensities); } return(true); }
public override bool GetChromatogram(int id, Target modifiedSequence, Color color, out ChromExtra extra, out TimeIntensities timeIntensities) { float[] times, intensities; if (!_globalChromatogramExtractor.GetChromatogram(id, out times, out intensities)) { _dataFile.GetChromatogram(id, out _, out times, out intensities); } timeIntensities = new TimeIntensities(times, intensities, null, null); // Assume that each chromatogram will be read once, though this may // not always be completely true. _readChromatograms++; if (_readChromatograms < _chromIds.Count) { SetPercentComplete(50 + _readChromatograms * 50 / _chromIds.Count); } int index = _chromIndices[id]; extra = new ChromExtra(index, -1); // TODO: is zero the right value? // Display in AllChromatogramsGraph var loadingStatus = Status as ChromatogramLoadingStatus; if (loadingStatus != null) { loadingStatus.Transitions.AddTransition( modifiedSequence, color, index, -1, times, intensities); } return(true); }