dlh=dlh,volume=volume,
                            output_directory=output_folder,
                            output_prefix=output_prefix)

# Now we will count the number of voxels and compare the two methods

grf_files = glob("%s/*.nii.gz" %output_folder)
grf_files.sort()
input_files.sort()
voxel_counts = pandas.DataFrame(columns=["rft","thresh_0.0","thresh_1.0","thresh_2.0"])

brain_mask = nibabel.load(mask)
brain_voxels = len(brain_mask.get_data()[brain_mask.get_data()!=0])

for f in range(0,len(grf_files)):
  f1 = IT.t_to_z(nibabel.load(input_files[f]),46)
  f2 = nibabel.load(grf_files[f])
  print "Comparing %s vs %s" %(os.path.basename(grf_files[f]),os.path.basename(input_files[f]))
  mrthresh = IT.threshold_abs(f1,thresholds=[0.0,1.0,2.0])
  masked_mrthresh = [(thresh,apply_mask([nii],brain_mask)) for thresh,nii in mrthresh.iteritems()]
  # Count voxels in each
  image_name = os.path.basename(input_files[f])
  voxel_counts.loc[image_name] = (len(f2.get_data()[f2.get_data()!=0]),
                                 len(masked_mrthresh[0][1][0][masked_mrthresh[0][1][0]!=0]),
                                 len(masked_mrthresh[1][1][0][masked_mrthresh[1][1][0]!=0]),
                                 len(masked_mrthresh[2][1][0][masked_mrthresh[2][1][0]!=0]))
  
voxel_counts["absolute_difference_0.0"] = voxel_counts["thresh_0.0"] - voxel_counts["rft"]
voxel_counts["absolute_difference_1.0"] = voxel_counts["thresh_1.0"] - voxel_counts["rft"]
voxel_counts["absolute_difference_2.0"] = voxel_counts["thresh_2.0"] - voxel_counts["rft"]
voxel_counts["perc_brainvox_0.0"] = voxel_counts["thresh_0.0"] / brain_voxels
# standard brain mask that will be used for "brain mask" and to eliminate out of brain voxels for all masks
brain_mask = nib.load(standard)

# Read in main image
mrA = nib.load(groupA)
input_directory = os.path.dirname(groupA)
contrast_task = os.path.basename(groupA).replace("_groupA_tstat1.nii.gz","")

# Get degrees of freedom (it's 46)
try:
    dofA = len(open("%s/../copesA.txt" %(input_directory),"r").readlines())-2
except:
    dofA = 44

# Convert to Z score maps
mrA = IT.t_to_z(mrA,dofA)
  
# 3/12/2015: confirmed that thresholding at 0.0 is equivalent to original image
  
# Complete case analysis, single value imputation, multiple-imputation
cca_pearson = []
svi_pearson = []
cca_spearman = []
svi_spearman = []

# Edge cases:
# No surviving voxels: we append nan
# Thresholded image is 0: all correlations nan
# Fewer than 3 remaining voxels to compare: we append nan
# Suggested by Russ 3/13/2015, and I agree
outdir = "../img"
# These maps are not provided
input_maps = glob("../../data/results/0/*groupA_tstat1.nii.gz")
os.chdir("../preprocessing/")
import image_transformations as IT

# Load in dataframe to look up image and contrast names
lookup = pandas.read_csv("../doc/hcp_contrasts_id.tsv", sep="\t")

# Get max and min values
max = 0
min = 0
for input_map in input_maps:
    img = nibabel.load(input_map)
    img = IT.t_to_z(img, 46).get_data()
    if img.max() > max:
        max = img.max()
    if img.min() < min:
        min = img.min()


for i in range(0, len(input_maps)):
    print "Processing %s of %s" % (i, len(input_maps))
    input_map = input_maps[i]
    mapname = os.path.basename(input_map).replace("_groupA_tstat1.nii.gz", "")
    task = lookup.task[lookup.id == mapname].tolist()[0]
    contrast = lookup.contrasts[lookup.id == mapname].tolist()[0]
    title = "%s_%s" % (task, contrast)
    image = nibabel.load(input_map)
    Z = IT.t_to_z(image, 46)