Exemple #1
0
def iterate_yfp_volumes():
    """Iterate through all the YFP volumes 
    Returns
    -----------
    vol_name_list
    signal_list
    """

    mouse_num_list = [2, 3, 4, 5, 6, 7]
    mouse_base_fn = 'ss_stacks'
    region_list = ['F000', 'F001', 'F002', 'F003']
    data_dir = '/data5TB/yi_mice/'
    filebase = 'ss_YFP.tif'
    vol_name_list = []
    signal_list = []
    thresh = 0.9

    for mouse_num in mouse_num_list:
        for region_name in region_list:
            vol_dir = os.path.join(data_dir,
                                   str(mouse_num) + mouse_base_fn, region_name,
                                   str(mouse_num) + filebase)
            vol_name = str(mouse_num) + mouse_base_fn + '-' + region_name
            vol_name_list.append(vol_name)
            vol = da.imreadtiff(vol_dir)
            result = measure_yfp(vol, thresh)
            signal_list.append(result)
            print(vol_dir, result)

    return vol_name_list, signal_list
def run_synapse_detection_astro(atet_input):
    """
    Run synapse detection and result evalution.  The parameters need to be rethought 

    Parameters
    -------------------
    atet_input : dict 

    Returns
    -------------------
    output_dict : dict 

    """

    query = atet_input['query']
    queryID = atet_input['queryID']
    nQuery = atet_input['nQuery']
    resolution = atet_input['resolution']
    data_location = atet_input['data_location']
    data_region_location = atet_input['data_region_location']
    output_foldername = atet_input['output_foldername']
    region_name = atet_input['region_name']
    layer_mask_str = atet_input['mask_str']
    dapi_mask_str = atet_input['dapi_mask_str']
    mouse_number = atet_input['mouse_number']

    # Load the data
    synaptic_volumes = da.load_tiff_from_astro_query(query,
                                                     data_region_location)

    # Load DAPI mask
    dapi_mask_fn = os.path.join(dapi_mask_str,
                                str(mouse_number) + 'ss-DAPI-mask.tiff')
    dapi_mask = da.imreadtiff(dapi_mask_fn)
    dapi_mask = dapi_mask.astype(np.bool)
    combined_mask = np.logical_not(dapi_mask)
    # Mask data
    synaptic_volumes = mask_synaptic_volumes(synaptic_volumes, combined_mask)

    volume_um3 = get_masked_volume(synaptic_volumes, combined_mask, resolution)
    print(volume_um3)

    # Run Synapse Detection
    print('running synapse detection')
    resultvol = syn.getSynapseDetections_astro(synaptic_volumes, query)

    # Save the probability map to file, if you want
    outputNPYlocation = os.path.join(data_location, output_foldername,
                                     region_name)
    syn.saveresultvol(resultvol, outputNPYlocation, 'query_', queryID)

    thresh = 0.9
    queryresult = compute_measurements(resultvol, query, volume_um3, thresh)

    output_dict = {
        'queryID': queryID,
        'query': query,
        'queryresult': queryresult
    }
    return output_dict
Exemple #3
0
def setup_slice(fn, z):
    vol = da.imreadtiff(fn)
    img = vol[:, :, z]
    p2, p98 = np.percentile(img, (5, 98))  #contrast stretching
    img_rescale = exposure.rescale_intensity(img, in_range=(p2, p98))
    img_rgb = color.gray2rgb(img_rescale)

    return img_rgb
Exemple #4
0
def iterate_yfp_volumes():
    """Iterate through all the YFP volumes 
    Returns
    -----------
    vol_name_list
    signal_list
    """

    mouse_num_list = [2, 3, 4, 5, 6, 7]
    mouse_base_fn = 'ss_stacks'
    region_list = ['F000', 'F001', 'F002', 'F003']
    data_dir = '/data5TB/yi_mice/'
    filebase = 'ss_YFP.tif'
    vol_name_list = []
    signal_list = []
    thresh = 0.9
    num_of_dendrites = 10
    output_basedir = '/data5TB/yi_mice/segmented-dendrites'

    for mouse_num in mouse_num_list:
        for region_name in region_list:
            vol_dir = os.path.join(data_dir,
                                   str(mouse_num) + mouse_base_fn, region_name,
                                   str(mouse_num) + filebase)
            vol_name = str(mouse_num) + mouse_base_fn + '-' + region_name
            vol_name_list.append(vol_name)
            vol = da.imreadtiff(vol_dir)
            off_output_dir = os.path.join(output_basedir,
                                          str(mouse_num) + mouse_base_fn,
                                          region_name)

            dir_result = os.path.isdir(off_output_dir)
            if (dir_result == False):
                os.makedirs(off_output_dir)

            result = segment_dendrites(vol, thresh, num_of_dendrites,
                                       off_output_dir)
            print(vol_dir)
Exemple #5
0
def run_blob_synapse(mouse_number, mouse_project_str, base_query_num,
                     channel_name):
    """
    Blob Synapse Ratio.  Run SACT for FXS data
    Only runs on Galicia
    """

    query_fn = 'queries/' + mouse_project_str + '_queries.json'

    hostname = socket.gethostname()
    if hostname == 'Galicia':
        data_location = '/data5TB/yi_mice/' + str(mouse_number) + 'ss_stacks'
        dapi_mask_str_base = '/data5TB/yi_mice/dapi-masks/' + \
            str(mouse_number) + 'ss_stacks'

    listOfQueries = syn.loadQueriesJSON(query_fn)

    resolution = {'res_xy_nm': 100, 'res_z_nm': 70}
    region_name_base = 'F00'
    thresh = 0.9

    mask_location_str = -1  # no mask specified
    foldernames = []
    measure_list = []
    target_filenames = []
    conjugate_filenames = []

    for region_num in range(0, 4):
        region_name = region_name_base + str(region_num)
        data_region_location = os.path.join(data_location, region_name)

        query = listOfQueries[base_query_num]

        query_number = base_query_num + 12 * region_num

        foldername = region_name + '-Q' + str(base_query_num)
        foldernames.append(foldername)
        conjugate_filenames.append('Query' + str(base_query_num))

        # Load the data
        synaptic_volumes = da.load_tiff_from_query(query, data_region_location)

        # Load DAPI mask
        dapi_mask_str = os.path.join(dapi_mask_str_base, region_name)
        dapi_mask_fn = os.path.join(dapi_mask_str,
                                    str(mouse_number) + 'ss-DAPI-mask.tiff')
        dapi_mask = da.imreadtiff(dapi_mask_fn)

        # Mask data
        dapi_mask = dapi_mask.astype(np.bool)
        combined_mask = np.logical_not(dapi_mask)  # keep portions without dapi
        synaptic_volumes = sa.mask_synaptic_volumes(synaptic_volumes,
                                                    combined_mask)

        volume_um3 = sa.get_masked_volume(synaptic_volumes, combined_mask,
                                          resolution)
        print(volume_um3)

        target_antibody_name = str(mouse_number) + channel_name
        target_filenames.append(target_antibody_name)
        result_location = os.path.join(
            data_location, 'results_' + str(mouse_number) + 'ss_fragX',
            region_name, 'query_' + str(query_number) + '.npy')

        antibody_measure = run_SACT_FXS(synaptic_volumes, query, thresh,
                                        resolution, target_antibody_name,
                                        result_location, volume_um3)

        measure_list.append(antibody_measure)

    mouse_df = aa.create_df(measure_list, foldernames, target_filenames,
                            conjugate_filenames)

    return mouse_df