Ejemplo n.º 1
0
def load_train_data(count=2000, start=10000):
    """Loads training and/or evaluation data"""
    print("Loading data...")

    biffolder = '..\\..\\data\\bifs'
    nobiffolder = '..\\..\\data\\nobifs'

    # 4 dimensional data
    data = np.zeros([2 * count, 17, 17, 17], dtype=np.float32)

    # print(np.shape(data))

    # First load the bif data.
    for i in utility.my_range(start, start + count, 1):
        currentfile = biffolder + '\\cropped' + str(i) + ".nii.gz"
        data[i - start, :, :, :] = np.array(get_itk_array(currentfile))

    print("Loaded bif data.")

    # Now load the no bif data.
    for i in utility.my_range(start, start + count, 1):
        currentfile = nobiffolder + '\\cropped' + str(i) + ".nii.gz"
        data[i + count - start, :, :, :] = np.array(get_itk_array(currentfile))

    print("Loaded no bif data.")
    print("All data loaded.")
    return data
Ejemplo n.º 2
0
def load_train_data_folder(folder_name, data_type=0, number_files=0):

    # Read info file.
    with open(folder_name + "info.txt") as f:
        content = f.readlines()

    content = [x.strip() for x in content]
    num_files = int(content[4])

    print("Total Number of Files: ", num_files)
    print("Loading training data...")

    if number_files != 0:
        num_files = number_files
        print("Loading only the first ", num_files, " of data.")

    if data_type == 0:
        data = np.zeros([num_files, 64, 64, 64], dtype='float32')
    else:
        data = np.zeros([num_files, 64, 64, 64], dtype='int32')

    for i in utility.my_range(0, num_files, 1):

        data_file_name = folder_name + "cropped" + str(i) + ".nii.gz"
        # 4 dimensional data
        # type == 0 is data, 1 is labeled
        if data_type == 0:
            data[i] = np.asarray(get_itk_array(data_file_name),
                                 dtype='float32')
        else:
            data[i] = np.asarray(get_itk_array(data_file_name), dtype='int32')

    print("All data loaded.")

    return data
Ejemplo n.º 3
0
def load_train_data(filename, type=0):
    """Loads training and/or evaluation data"""
    print("Loading training data...")

    # 4 dimensional data
    # type == 0 is data, 1 is labeled
    if type == 0:
        data = np.asarray(get_itk_array(filename), dtype='float32')
    else:
        data = np.asarray(get_itk_array(filename), dtype='int32')

    print("All data loaded.")
    return data
Ejemplo n.º 4
0
def load_test_data(filename):
    """Loads testing data"""
    print("Started loading test data.")

    data = np.asarray(get_itk_array(filename), dtype='float32')

    print("Loaded test data.")

    return data
Ejemplo n.º 5
0
def load_test_data(filename):
    """Loads testing data"""
    print("Started loading test data.")

    data = np.zeros([1, 64, 64, 64], dtype=np.float32)

    data[0] = np.array(get_itk_array(filename))

    print("Loaded test data.")

    return data
Ejemplo n.º 6
0
def load_train_data(filename, type=0):
    """Loads training and/or evaluation data"""
    print("Loading training data...")

    # 4 dimensional data
    # type == 0 is data, 1 is labels
    if type == 0:
        data = np.zeros([1, 64, 64, 64], dtype=np.float32)
    else:
        data = np.zeros([1, 64, 64, 64], dtype=np.int32)

    data[0] = get_itk_array(filename)

    print("All data loaded.")
    return data
Ejemplo n.º 7
0
def load_test_data(filename, blocksize=8):
    """Loads testing data"""
    print("Started loading.")

    inputimage = np.array(get_itk_array(filename))

    inputsize = np.shape(inputimage)
    xsize = inputsize[0]
    ysize = inputsize[1]
    zsize = inputsize[2]

    count = 128 * 128 * 128

    data = np.zeros([count, 17, 17, 17], dtype=np.float32)

    index = 0

    for i in utility.my_range(blocksize, blocksize + 128, 1):

        # print("Step", i)

        for j in utility.my_range(blocksize, blocksize + 128, 1):

            for k in utility.my_range(blocksize, blocksize + 128, 1):

                data[index, :, :, :] = inputimage[(i -
                                                   blocksize):(i + blocksize +
                                                               1),
                                                  (j -
                                                   blocksize):(j + blocksize +
                                                               1),
                                                  (k -
                                                   blocksize):(k + blocksize +
                                                               1)]
                index = index + 1

    print("Loaded data.")

    return data
Ejemplo n.º 8
0
def load_test_data_folder(folder_name):

    # Read info file.
    with open(folder_name + "info.txt") as f:
        content = f.readlines()

    content = [x.strip() for x in content]
    num_files = int(content[4])

    print("Total Number of Files: ", num_files)
    print("Loading testing data...")

    data = np.zeros([num_files, 64, 64, 64], dtype='float32')

    for i in utility.my_range(0, num_files, 1):

        data_file_name = folder_name + "cropped" + str(i) + ".nii.gz"

        data[i] = np.asarray(get_itk_array(data_file_name), dtype='float32')

    print("All data loaded.")

    return data
Ejemplo n.º 9
0
import numpy as np
from itkutilities import get_itk_array, write_itk_imageArray
import utility

if len(sys.argv) != 7:
    print("Usage: " + sys.argv[0] + " <rawData> <bifPointsData> <segData> <workFolder> <blockSize> <stepSize>")
    sys.exit(1)

datafilename = sys.argv[1]
biffilename = sys.argv[2]
segfilename = sys.argv[3]
workfolder = sys.argv[4]
blocksize = int(sys.argv[5])
stepsize = int(sys.argv[6])

inputimg = get_itk_array(datafilename)
bifimg = get_itk_array(biffilename)
segimg = get_itk_array(segfilename)

inputSize = np.shape(bifimg)
xSize = inputSize[0]
ySize = inputSize[1]
zSize = inputSize[2]

file = open(workfolder + "info.txt", "w")
file.write(str(blocksize) + "\n")
file.write(str(xSize) + "\n")
file.write(str(ySize) + "\n")
file.write(str(zSize) + "\n")

print(blocksize, xSize, ySize, zSize)
Ejemplo n.º 10
0
from itkutilities import get_itk_array, write_itk_imageArray
import numpy as np
import sys

if __name__ == '__main__':

    if len(sys.argv) != 9:
        print(
            "Usage: " + sys.argv[0] +
            " <inputImage> <outputImage> <startX> <startY> <startZ> <sizeX> <sizeY> <sizeZ>"
        )
        sys.exit(1)

    inputimg = get_itk_array(sys.argv[1])
    outfile = sys.argv[2]

    startX = int(sys.argv[3])
    startY = int(sys.argv[4])
    startZ = int(sys.argv[5])
    sizeX = int(sys.argv[6])
    sizeY = int(sys.argv[7])
    sizeZ = int(sys.argv[8])

    endX = startX + sizeX
    endY = startY + sizeY
    endZ = startZ + sizeZ

    print(np.shape(inputimg))

    print(startX, startY, startZ)
    print(endX, endY, endZ)
Ejemplo n.º 11
0
# Join the small files into one big file.
index = 0

for i in utility.my_range(0, xSize, stepsize):
    for j in utility.my_range(0, ySize, stepsize):

        for k in utility.my_range(0, zSize, stepsize):
            print("Step at: (", index, ")", startX, startY, startZ)
            endX = startX + stepsize
            endY = startY + stepsize
            endZ = startZ + stepsize

            currentfilename = splitfolder + "/cropped" + str(index) + ".nii.gz"

            currentfile = np.array(get_itk_array(currentfilename),
                                   dtype='uint8')
            joinedfile[startX:endX, startY:endY, startZ:endZ] = currentfile

            # Update indices
            startZ = startZ + stepsize
            index = index + 1

        startY = startY + stepsize
        startZ = 0

    startX = startX + stepsize
    startY = 0

# Write the file on to disk.
print("Writing File to Disk...")
Ejemplo n.º 12
0
    print('dice:', f1[armax])
    # print 'accuracy:',1-(np.sum(np.asarray(img1!=grdtruth,dtype=int)))


if __name__ == '__main__':

    scores = []  #np.zeros(20)
    labels = []  #np.zeros(20)
    preds = []  #np.zeros(20)
    masks = []  #np.zeros(20)

    for num in range(int(sys.argv[1]), int(sys.argv[2])):

        d = "%01d" % num

        labels.append(get_itk_array('labels_srxray/' + d + '.nii.gz'))
        preds.append(get_itk_array('confmaps_matthias/' + d + '.mhd'))

# pred = np.asarray(pred/128,dtype='int32')
# pred = np.flipud(np.fliplr(pred))

# print np.unique(label),np.unique(pred)

# print np.mean(label==pred)

#print f1_score(label.flatten(),pred.flatten())
#print precision_score(label.flatten(),pred.flatten())
#print recall_score(label.flatten(),pred.flatten())
#f1 = f1_score(label.flatten(),pred.flatten(),sample_weight=mask.flatten())
#precision = precision_score(label.flatten(),pred.flatten(),sample_weight=mask.flatten())
#recall = recall_score(label.flatten(),pred.flatten(),sample_weight=mask.flatten())
Ejemplo n.º 13
0
import os
import sys
import numpy as np
from itkutilities import get_itk_array, write_itk_imageArray
import utility

if len(sys.argv) != 4:
    print("Usage: " + sys.argv[0] + " <testData> <workFolder> <stepsize>")
    sys.exit(1)

datafilename = sys.argv[1]
workfolder = sys.argv[2]
stepsize = int(sys.argv[3])

inputimg = get_itk_array(datafilename)

# File will be split into (stepsize x stepsize x stepsize) chunks
startX = 0
startY = 0
startZ = 0

inputSize = np.shape(inputimg)
xSize = inputSize[0]
ySize = inputSize[1]
zSize = inputSize[2]

file = open(workfolder + "info.txt", "w")
file.write(str(stepsize) + "\n")
file.write(str(xSize) + "\n")
file.write(str(ySize) + "\n")
file.write(str(zSize) + "\n")
from itkutilities import get_itk_array, write_itk_imageArray
import numpy as np
import sys

if __name__ == '__main__':

    if len(sys.argv) != 4:
        print("Usage: " + sys.argv[0] +
              " <bifurcationImage> <skeletonImage> <outputImage>")
        sys.exit(1)

    bifimg = get_itk_array(sys.argv[1])
    skelimg = get_itk_array(sys.argv[2])
    outputimg = sys.argv[3]

    bifimg = np.multiply(bifimg, 2)
    bifimg = np.maximum(skelimg, bifimg)

    write_itk_imageArray(np.asarray(bifimg, dtype='uint8'), outputimg)
Ejemplo n.º 15
0
import vtk
import os
import sys
import numpy as np
from itkutilities import get_itk_array, write_itk_imageArray
import utility

if len(sys.argv) != 3:
    print("Usage: " + sys.argv[0] + " <input> <output>")
    sys.exit(1)

inputfile = sys.argv[1]
outputfile = sys.argv[2]

inputimage = np.array(get_itk_array(inputfile), dtype="uint8")

# print(np.shape(inputimage))

dims = np.shape(inputimage)

inputimg = np.zeros(dims + np.full(np.shape(dims), 2))

inputimg[1:dims[0] + 1, 1:dims[1] + 1, 1:dims[2] + 1] = inputimage

# print(inputimg)

dims = np.shape(inputimg)

ptindex = 0

Points = vtk.vtkPoints()
Ejemplo n.º 16
0
from itkutilities import get_itk_array, write_itk_imageArray
import numpy as np
import sys

if __name__ == '__main__':

    # Read file
    inputimg = np.array(get_itk_array(sys.argv[1]), dtype='uint16')

    inputimg = (inputimg / 256).astype('uint8')

    # Write to File
    write_itk_imageArray(inputimg, sys.argv[2])
from itkutilities import get_itk_array, write_itk_imageArray
import numpy as np
import sys

if __name__ == '__main__':

    if len(sys.argv) != 3:
        print("Usage: " + sys.argv[0] + " <inputImage> <outputImage>")
        sys.exit(1)

    inputimg = np.array(get_itk_array(sys.argv[1]), dtype="uint8")
    outputimg = sys.argv[2]

    inputimg = np.subtract(inputimg, inputimg.min())

    inputimg = np.multiply(inputimg, 1.0 / inputimg.max(), casting='unsafe')

    write_itk_imageArray(np.asarray(inputimg), outputimg)
Ejemplo n.º 18
0
import sys
import numpy as np
from itkutilities import get_itk_array, write_itk_imageArray
import utility

if len(sys.argv) != 5:
    print("Usage: " + sys.argv[0] +
          " <testExecutable> <modelFile> <testData> <workFolder>")
    sys.exit(1)

testfilename = sys.argv[1]
modelfilename = sys.argv[2]
datafilename = sys.argv[3]
workfolder = sys.argv[4]

inputimg = get_itk_array(datafilename)

# File will be split into (stepsize x stepsize x stepsize) chunks
stepsize = 200

startX = 0
startY = 0
startZ = 0

inputSize = np.shape(inputimg)
xSize = inputSize[0]
ySize = inputSize[1]
zSize = inputSize[2]

# Break here the file into smaller chunks.
index = 0