Skip to content

Commit ca0cd21

Browse files
authored
Increase buffer (#32)
1 parent 4beda3a commit ca0cd21

File tree

2 files changed

+71
-1
lines changed

2 files changed

+71
-1
lines changed

conversion_test.go

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package go2com
22

33
import (
44
"fmt"
5+
"github.com/okieraised/go2com/internal/utils"
56
"github.com/stretchr/testify/assert"
67
"os"
78
"testing"
@@ -26,3 +27,71 @@ func TestParser_Export(t *testing.T) {
2627
mapTagVal := parser.Export(false)
2728
fmt.Println(mapTagVal)
2829
}
30+
31+
func TestParser_Buffer(t *testing.T) {
32+
assert := assert.New(t)
33+
InitTagDict()
34+
file, err := os.Open("/home/tripg/workspace/dicom_buffer/D4CDC297.dcm")
35+
assert.NoError(err)
36+
37+
defer file.Close()
38+
info, err := file.Stat()
39+
assert.NoError(err)
40+
fileSize := info.Size()
41+
42+
parser, err := NewParser(file, fileSize, false, false)
43+
assert.NoError(err)
44+
err = parser.Parse()
45+
assert.NoError(err)
46+
47+
mapTagVal := parser.Export(false)
48+
fmt.Println(mapTagVal)
49+
}
50+
51+
func TestParser_MultipleFiles(t *testing.T) {
52+
53+
assert := assert.New(t)
54+
55+
filePaths, err := utils.ReadDirRecursively("/home/tripg/workspace/dicom/test_data")
56+
assert.NoError(err)
57+
InitTagDict()
58+
for _, fPath := range filePaths {
59+
fmt.Println("process:", fPath)
60+
file, err := os.Open(fPath)
61+
assert.NoError(err)
62+
63+
defer file.Close()
64+
info, err := file.Stat()
65+
assert.NoError(err)
66+
fileSize := info.Size()
67+
68+
parser, err := NewParser(file, fileSize, false, false)
69+
assert.NoError(err)
70+
err = parser.Parse()
71+
assert.NoError(err)
72+
}
73+
}
74+
75+
func TestParser_MultipleFiles_2(t *testing.T) {
76+
77+
assert := assert.New(t)
78+
79+
filePaths, err := utils.ReadDirRecursively("/home/tripg/workspace/dicom/test_full")
80+
assert.NoError(err)
81+
InitTagDict()
82+
for _, fPath := range filePaths {
83+
fmt.Println("process:", fPath)
84+
file, err := os.Open(fPath)
85+
assert.NoError(err)
86+
87+
defer file.Close()
88+
info, err := file.Stat()
89+
assert.NoError(err)
90+
fileSize := info.Size()
91+
92+
parser, err := NewParser(file, fileSize, false, false)
93+
assert.NoError(err)
94+
err = parser.Parse()
95+
assert.NoError(err)
96+
}
97+
}

parse.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ func InitTagDict() {
3232

3333
// NewParser returns a new dicom parser
3434
func NewParser(fileReader io.Reader, fileSize int64, skipPixelData, skipDataset bool) (*Parser, error) {
35-
dcmReader := reader.NewDcmReader(bufio.NewReader(fileReader), skipPixelData)
35+
bufReader := bufio.NewReaderSize(fileReader, 4<<20)
36+
dcmReader := reader.NewDcmReader(bufReader, skipPixelData)
3637
parser := Parser{
3738
skipPixelData: skipPixelData,
3839
skipDataset: skipDataset,

0 commit comments

Comments
 (0)