【问题标题】:Python Scikit-image processing of Gel electrophoresis data凝胶电泳数据的 Python Scikit 图像处理
【发布时间】:2014-02-06 11:15:36
【问题描述】:

我以前从未使用过计算机视觉的东西,我认为我可以使用 python 来分析凝胶电泳。 Here 是一个视频,解释了如果您不熟悉该过程会发生什么。

所以我从维基百科上拍了一张凝胶的照片,然后使用灰度滤镜,然后使用双边滤镜去除污迹和伪影,然后使用 Otsu 滤镜分离出显着的条带。

import numpy as np
import matplotlib.pyplot as plt

from skimage import data, io
from skimage.filter import threshold_otsu, denoise_bilateral
from skimage.morphology import closing, square
from skimage.measure import regionprops
from skimage.color import label2rgb, rgb2gray


image = io.imread('http://upload.wikimedia.org/wikipedia/commons/6/60/Gel_electrophoresis_2.jpg')


#grayscaling
gray_image = rgb2gray(image)

# bilateral filtering
bilat=denoise_bilateral(gray_image, sigma_range=0.05, sigma_spatial=20)

# apply threshold Otsu
thresh = threshold_otsu(bilat)
bw = closing(bilat > thresh, square(1))

#print process
def show_images(images,titles=None):
    """Display a list of images"""
    n_ims = len(images)
    if titles is None: titles = ['(%d)' % i for i in range(1,n_ims + 1)]
    fig = plt.figure()
    n = 1
    for image,title in zip(images,titles):
        a = fig.add_subplot(1,n_ims,n) 
        if image.ndim == 2: 
            plt.gray() 
        plt.imshow(image)
        a.set_title(title)
        n += 1
    fig.set_size_inches(np.array(fig.get_size_inches()) * n_ims)
    plt.show()

#print data
show_images(images=[image, bilat, bw], titles=['Normal', 'Bilateral filter', 'Otsu Threshold'])

这是目前的结果

我遇到了 4 个问题:

  1. 使用 otsu 阈值会导致浅色波段的一些数据丢失,是否有更好的方法获取波段数据?

  2. 有没有办法将每行的结果返回到 numpy/pandas 数组,其中波段显示在矩阵上? (即 0 表示无条带,1 表示轻条带,2 表示中等条带,3 表示重条带)这将允许检测与 DNA Ladder(参考行)匹配的条带。

  3. 可以用什么方法计算孔到波段的距离。

  4. 如果照片不是直接拍的,我需要一个叫做Image registration的东西吗?如果是这样,我在哪里可以找到 scikit-image

如果重要的话,我使用 python 3 和 scikit-image 的最后一个稳定版本。

【问题讨论】:

    标签: python numpy computer-vision scikit-image


    【解决方案1】:

    也许可以联系https://github.com/hugadams/pyparty 的作者,它是建立在 scikit-image 之上的。

    1. 您可能需要先均衡图像(参见“曝光”子模块)
    2. 您首先必须进行某种峰值检测(请参阅“功能”子模块)
    3. 我不太清楚你在这里问什么
    4. 相当的图像变形(参见“变换”子模块)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多