Skip to content

Commit

Permalink
write to csv
Browse files Browse the repository at this point in the history
  • Loading branch information
JFriel committed Jan 30, 2025
1 parent 727865a commit e2c505b
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions Rdmp.Dicom/Extraction/DicomTagToCSV.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
using Rdmp.Dicom.Extraction.FoDicomBased;
using Rdmp.Dicom.Extraction.FoDicomBased.DirectoryDecisions;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.IO;
Expand Down Expand Up @@ -66,24 +67,26 @@ public DataTable ProcessPipelineData(DataTable toProcess, IDataLoadEventListener
var fileRows = new Dictionary<string, DataRow>();
var releaseIDs = new Dictionary<string, string>();
var dicomFiles = new List<(string, string)>();

_putter ??= (IPutDicomFilesInExtractionDirectories)ObjectConstructor.Construct(PutterType);

foreach (DataRow processRow in toProcess.Rows)
{
var file = (string)processRow[RelativeArchiveColumnName];
fileRows.Add(file, processRow);
dicomFiles.Add((file, file));
}
_putter ??= (IPutDicomFilesInExtractionDirectories)ObjectConstructor.Construct(PutterType);


var dicomFilePaths = new AmbiguousFilePath(ArchiveRootIfAny, dicomFiles).GetDataset(FileFetchRetryLimit, FileFetchRetryTimeout, listener);

foreach (var dcm in dicomFilePaths)
{
var filepath = Path.Combine("C:\\temp\\csvtest", "output.csv");
_destinationDirectory.Create();
var filepath = Path.GetFullPath(_destinationDirectory.FullName, "dicomTags.csv");

var sw = new StreamWriter(filepath);
using var w = new CsvWriter(sw, System.Globalization.CultureInfo.InvariantCulture);
//w.WriteRecords(
//dcm.Item2.Dataset.SelectMany(t => Entry.ProcessTag(dcm.Item1, t))
//);
w.WriteRecords(
DicomFile.Open(dcm.Item1, FileReadOption.ReadAll).Dataset.SelectMany(t => Entry.ProcessTag(dcm.Item1, t))
);
Expand All @@ -94,14 +97,7 @@ public DataTable ProcessPipelineData(DataTable toProcess, IDataLoadEventListener

public void Initialize(int projectNumber, DirectoryInfo destinationDirectory, IMappingRepository uidSubstitutionLookup = null)
{
//_projectNumber = projectNumber;

//_uidSubstitutionLookup = uidSubstitutionLookup ?? (UIDMappingServer == null ? null : new MappingRepository(UIDMappingServer));
_destinationDirectory = destinationDirectory;

//_deleteTags = GetDeleteTags().ToArray();

//initialized = true;
}

internal class Entry
Expand Down

0 comments on commit e2c505b

Please sign in to comment.