Пример #1
0
    for i in range(block_3d.shape[1]):
        for j in range(block_3d.shape[2]):
            list1 = block_3d[:, i, j]
            r = np.float(np.max(list1))
            mip[i, j, 1] = r
    for i in range(block_3d.shape[0]):
        for j in range(block_3d.shape[2]):
            list1 = block_3d[i, :, j]
            r = np.float(np.max(list1))
            mip[i, j, 2] = r
    return mip


if __name__ == '__main__':
    margin = 32
    imgvox = loadimg('/media/ttt/tyh1/shuju/m3.tif')
    labelmap = loadimg('/media/ttt/tyh1/shuju/m3_b2.tif')

    marker = loadmarker('/media/ttt/tyh1/shuju/m3_b.marker')
    marker = marker.astype(int)
    marker = marker - 1
    marker[:, 1] = imgvox.shape[1] - marker[:, 1]

    swc = loadswc('/media/ttt/tyh1/shuju/m3_b.marker')
    swc = swc[:, 2:5]
    swc = swc.astype(int)
    swc = swc - 1
    swc[:, 1] = imgvox.shape[1] - swc[:, 1]

    labelmap = labelmap > 0
    h5file = '/media/ttt/E81AA8261AA7EFAC/0000/train_dense9f1.hdf5'
Пример #2
0
    pimg[margin:margin + image.shape[0], 
         margin:margin + image.shape[1], 
         margin:margin + image.shape[2]] = image
    return pimg 
def de_padding(pimg,margin):
    imgvox = np.zeros((pimg.shape[0]-2*margin,
                     pimg.shape[1]-2*margin,
                     pimg.shape[2]-2*margin))
    imgvox = pimg[margin:margin + imgvox.shape[0], 
         margin:margin + imgvox.shape[1], 
         margin:margin + imgvox.shape[2]]
    return imgvox
if __name__=='__main__':
    marker = loadmarker('/media/tyhhnu/tyh1/shuju/ms1_b.marker')
    marker = marker.astype(int)
    imgvox = loadimg('/media/tyhhnu/tyh1/shuju/ms1.tif')
    margin = 28
    R = 12
    marker = marker - 1
    marker[:,1] = imgvox.shape[1] - marker[:,1]
    marker = marker + margin
    pimg = padding(imgvox , margin)
    bimg = np.zeros(pimg.shape)
    for i in range(marker.shape[0]):
        blocks = pimg[marker[i,0]-R:marker[i,0]+R+1,
                      marker[i,1]-R:marker[i,1]+R+1,
                      marker[i,2]-4:marker[i,2]+4+1]
#        blocks = blocks>(pimg[marker[i,0],marker[i,1],marker[i,2]]-10)
        blocks = blocks>0
        bimg[marker[i,0]-R:marker[i,0]+R+1,
                      marker[i,1]-R:marker[i,1]+R+1,
Пример #3
0
    np.random.shuffle(swc)
    idx = np.vstack((ones, zeros[0:ones.shape[0], :], swc[0:z_s, :]))
    np.random.shuffle(idx)
    return idx + margin


def mip(block_3d):
    mip = np.zeros([block_3d.shape[0], block_3d.shape[1], 3], dtype=float)
    mip[:, :, 0] = np.max(block_3d, 0)
    mip[:, :, 1] = np.max(block_3d, 1)
    mip[:, :, 2] = np.max(block_3d, 2)
    return mip


if __name__ == '__main__':
    imgvox = loadimg(
        '/media/ttt/E81AA8261AA7EFAC/xuexi/3Dyuantu/OP_5_stack.tif')
    labelmap = np.zeros(imgvox.shape)

    smarker = loadmarker(
        '/media/ttt/E81AA8261AA7EFAC/xuexi/3Dyuantu/OP5_b.marker')
    smarker = smarker - 1
    smarker = smarker[:, 0:3]
    #    smarker[:,1]=imgvox.shape[1]-smarker[:,1]-1
    marker = np.empty((0, 3))
    for i in range(smarker.shape[0]):
        x, y, z = smarker[i, :]
        blocks = imgvox[math.floor(x) - 1:math.floor(x) + 2,
                        math.floor(y) - 1:math.floor(y) + 2,
                        math.floor(z) - 1:math.floor(z) + 2]
        corrr = np.argwhere(blocks)
        print(corrr.shape)
Пример #4
0
                mip[i,j,0]=r
        for i in range(block_3d.shape[1]):
            for j in range(block_3d.shape[2]):
                list1=block_3d[:,i,j]
                r=np.float(np.max(list1))
                mip[i,j,1]=r
        for i in range(block_3d.shape[0]):
            for j in range(block_3d.shape[2]):
                list1=block_3d[i,:,j]
                r=np.float(np.max(list1))
                mip[i,j,2]=r
        return mip

if __name__ == '__main__':
    margin = 28
    imgvox = loadimg('/media/tyhhnu/tyh1/shuju/ms1.tif')
    labelmap = loadimg('/media/tyhhnu/tyh1/shuju/ms1_b2.tif')
    marker = loadmarker('/media/tyhhnu/tyh1/shuju/ms1_b.marker')
    marker = marker.astype(int)
    marker = marker - 1
    marker[:,1] = imgvox.shape[1] - marker[:,1]
    
    labelmap = labelmap>0
    h5file='/media/tyhhnu/tyh1/shuju/hdf5/train_dense11p2.hdf5'
    img_name = 'ms1tif'
    n_each = 1000
    idx = getcand(imgvox,marker,margin,n_each)
    labelmap = padding(labelmap,margin,)
    pimg = padding(imgvox,margin)
    tiqu(pimg,
         labelmap,
Пример #5
0
        '/media/ttt/Elements/TanYinghui/TP/5_4.tif',
        '/media/ttt/Elements/TanYinghui/TP/5_7.tif'
    ]
    filr = [
        '/media/ttt/LANKEXIN/shuju/5_1.tif',
        '/media/ttt/LANKEXIN/shuju/5_4.tif',
        '/media/ttt/LANKEXIN/shuju/5_7.tif'
    ]
    film = [
        '/media/ttt/LANKEXIN/shuju/5_1.tif.marker',
        '/media/ttt/LANKEXIN/shuju/5_4.tif.marker',
        '/media/ttt/LANKEXIN/shuju/5_7.tif.marker'
    ]
    for i in range(len(filr)):

        imgvox = loadimg(filr[i])
        imgvox1 = loadimg(fild[i])
        imgvox[imgvox < 5] = 0
        can_idx = getcand(imgvox, imgvox1, margin)
        can_idx = can_idx.astype(int)
        pimg = padding(imgvox, margin)
        pp = test(pimg, ckptfile, batch_size, can_idx)
        print('test over')
        nm = np.argwhere(pp[:, 1] > 0.5)
        zb = can_idx[nm, :]
        zb = np.squeeze(zb)

        zb = zb - 28
        zb[:, 1] = imgvox.shape[1] - zb[:, 1] - 1
        zb = zb + 1
        #        zb1 = np.hstack((zb,pp[nm,1]))
Пример #6
0
def train(trainpath,  ckptfile):
    immm = loadimg(trainpath)
    print ('testing() called')
    V = 64
    vz = 32
    margin = 32
    re_filed = 0
#    data_size = get_datasize(trainpath)
    
#    print ('training size:', data_size)


    with tf.Graph().as_default():
                 
        # placeholders for graph input
        view_ = tf.placeholder('float32', shape=(None, V, V, vz,1), name='im0')
#        y_ = tf.placeholder('int64', shape=(N`-one,V-16,V-16,V-16), name='y')
        keep_prob_ = tf.placeholder('float32')

        # graph outputs
        fc8 = model.inference_multiview(view_, g_.NUM_CLASSES, keep_prob_)
#        pr=tf.nn.softmax(fc8)
#        loss = model.loss(fc8, y_)
#        train_op = model.train(loss, global_step, data_size)
        prediction = model.classify(fc8)




        # must be after merge_all_summaries
#        validation_loss = tf.placeholder('float32', shape=(), name='validation_loss')
#        validation_summary = tf.summary.scalar('validation_loss', validation_loss)
#        validation_acc = tf.placeholder('float32', shape=(), name='validation_accuracy')
#        validation_acc_summary = tf.summary.scalar('validation_accuracy', validation_acc)

        saver = tf.train.Saver(tf.all_variables(), max_to_keep=1000)
        sess = tf.Session(config=tf.ConfigProto(log_device_placement=FLAGS.log_device_placement))
        
        saver.restore(sess, ckptfile)
        print ('restore variables done')


        immm = padding(immm,margin)
#        zmmm = np.zeros(immm.shape)
        imum = get_cen(immm.shape,V,V,vz,margin,re_filed)
        
        for num in range(len(imum)):
                print(num)
                center_point = imum[num]
#                center_point[0] = center_point[0] +margin
#                center_point[1] = center_point[1] +margin
#
#                center_point[2] = center_point[2] +margi/home/ttt/model/model3.cpkt-41000n

                #print('center point:', center_point)
                image = immm[center_point[0]-V//2:center_point[0]+V//2,
                             center_point[1]-V//2:center_point[1]+V//2,
                             center_point[2]-vz//2:center_point[2]+vz//2]
                if image.shape !=(V,V,vz):
                    break
    
                image = np.expand_dims(image, axis = 0)
                image = np.expand_dims(image, axis = 4)
                        
#                        start_time = time.time()
                feed_dict = {view_: image,
                             keep_prob_: 0.5 }
        #                feed_dict_1 = {view_: batch_x,
        #                             keep_prob_: 0.5 }
        #                p_fc,p_softmax = sess.run(
        #                        [fc8,pr],
        #                        feed_dict=feed_dict_1)
        #                print(p_fc,p_softmax)
                        
                pred = sess.run(
                        prediction,
                        feed_dict=feed_dict)
#                pred = np.argmax(pred,-1)
                pred = pred[:,:,:,:,1]
                pred = np.array(pred)
                pred = np.squeeze(pred)
                bnn = np.argwhere(pred)
                pred = pred>0.5
                print(bnn.shape[0])
                immm[center_point[0]-V//2:center_point[0]+V//2,
                     center_point[1]-V//2:center_point[1]+V//2,
                     center_point[2]-vz//2:center_point[2]+vz//2] = pred
        immm = depadding(immm,margin)
        immm[immm>1] = 0
        immm = immm*255
        writetiff3d('/media/ttt/Elements/TanYinghui/TP/5_7.tif',immm.astype('uint8'))