public ParallelTagReader(DicomTagReaderOptions options, FileSystemOptions fileSystemOptions, IProducerModel seriesMessageProducerModel, IProducerModel fileMessageProducerModel, IFileSystem fs) : base(options, fileSystemOptions, seriesMessageProducerModel, fileMessageProducerModel, fs) { _parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = options.MaxIoThreads }; Logger.Info($"Using MaxDegreeOfParallelism={_parallelOptions.MaxDegreeOfParallelism} for parallel IO operations"); }
/// <summary> /// Interrogates directory tree for dicom files and produces series info and individual file info /// </summary> /// <param name="options"></param> /// <param name="fileSystemOptions"></param> /// <param name="seriesMessageProducerModel"></param> /// <param name="fileMessageProducerModel"></param> /// <param name="fs">File system to use</param> public TagReaderBase(DicomTagReaderOptions options, FileSystemOptions fileSystemOptions, IProducerModel seriesMessageProducerModel, IProducerModel fileMessageProducerModel, IFileSystem fs) { Logger = LogManager.GetLogger(GetType().Name); _filesystemRoot = fileSystemOptions.FileSystemRoot; NackIfAnyFileErrors = options.NackIfAnyFileErrors; _searchPattern = fileSystemOptions.DicomSearchPattern; _fileReadOption = options.GetReadOption(); Logger.Debug($"FileReadOption is: {_fileReadOption}"); _seriesMessageProducerModel = seriesMessageProducerModel; _fileMessageProducerModel = fileMessageProducerModel; _fs = fs; Logger.Info($"Stopwatch implementation - IsHighResolution: {Stopwatch.IsHighResolution}. Frequency: {Stopwatch.Frequency} ticks/s"); }
public SerialTagReader(DicomTagReaderOptions options, FileSystemOptions fileSystemOptions, IProducerModel seriesMessageProducerModel, IProducerModel fileMessageProducerModel, IFileSystem fs) : base(options, fileSystemOptions, seriesMessageProducerModel, fileMessageProducerModel, fs) { }