#
# Test File
#
import dicom
import os
import numpy as np
import h5py

dataset = []

def get_filepaths(directory):
    """
    This function will generate the file names in a directory 
    tree by walking the tree either top-down or bottom-up. For each 
    directory in the tree rooted at directory top (including top itself), 
    it yields a 3-tuple (dirpath, dirnames, filenames).
    """
    file_paths = []  # List which will store all of the full filepaths.

    # Walk the tree.
    for root, directories, files in os.walk(directory):
        for filename in files:
            # Join the two strings in order to form the full filepath.
            filepath = os.path.join(root, filename)
            file_paths.append(filepath)  # Add it to the list.

    return file_paths  # Self-explanatory.

# Run the above function and store its results in a variable.   
full_file_paths = get_filepaths("C:\Users\User\Dropbox\Photos\Dad's DICOM")

#print full_file_paths

for file in full_file_paths:
    ds = dicom.read_file(file)
    pixelArray = ds.pixel_array
    pixelArrayFlattened = pixelArray.flatten('F')
    print file
    print ds.AccessionNumber
    print ds.Rows
    print ds.Columns
    if "ViewPosition" in ds:
        print ds.ViewPosition 
    print ds.StudyDescription
    print pixelArrayFlattened
    #h5f = h5py.File('data.h5', 'a')
    #h5f.create_dataset(file, data=pixelArrayFlattened)
    #h5f.close()
