From fb3faa5bb9c74f8238d7fe47eef4064220664c0c Mon Sep 17 00:00:00 2001 From: Harsha Kethineni Date: Fri, 18 Aug 2017 16:16:31 -0500 Subject: [PATCH 1/2] Return file info from channel in struct --- dicomPipes.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dicomPipes.go b/dicomPipes.go index 1c71b94..0e58691 100644 --- a/dicomPipes.go +++ b/dicomPipes.go @@ -27,10 +27,11 @@ func (di *DicomFile) Parse(buff []byte) <-chan DicomMessage { panic(err) } - _, c := parser.Parse(buff) + di, c := parser.Parse(buff) if err != nil { panic(err) } + return c } @@ -40,6 +41,7 @@ func (di *DicomFile) Discard(in <-chan DicomMessage, done *sync.WaitGroup) { go func() { for dcmMsg := range in { dcmMsg.wait <- true + di.Elements = append(di.Elements, *dcmMsg.msg) } done.Done() }() From e589857ca7bbb4701ed18f7363821bcd421a1ed3 Mon Sep 17 00:00:00 2001 From: Harsha Kethineni Date: Mon, 28 Aug 2017 13:26:46 -0500 Subject: [PATCH 2/2] discardPixel data --- dicom.go | 1 + dicomPipes.go | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/dicom.go b/dicom.go index bb455cd..89c7391 100755 --- a/dicom.go +++ b/dicom.go @@ -7,6 +7,7 @@ import ( type DicomFile struct { Elements []DicomElement + Path string } // Errors diff --git a/dicomPipes.go b/dicomPipes.go index 0e58691..28e0fe1 100644 --- a/dicomPipes.go +++ b/dicomPipes.go @@ -48,6 +48,21 @@ func (di *DicomFile) Discard(in <-chan DicomMessage, done *sync.WaitGroup) { } +// Discard messages and not store pixel data +func (di *DicomFile) DiscardPixel(in <-chan DicomMessage, done *sync.WaitGroup) { + done.Add(1) + go func() { + for dcmMsg := range in { + dcmMsg.wait <- true + if dcmMsg.msg.Name != "PixelData" { + di.Elements = append(di.Elements, *dcmMsg.msg) + } + } + done.Done() + }() + +} + func fileName(folder string, i int, ext string) string { basename := fp.Base(folder) filename := basename + "_" + fmt.Sprintf("%03d\n", i)