I'm currently working on a project that requires the detection of duplicate bands in Western blot images. The task involves two types of duplicates:

Duplicates within the same Western blot image (intra-blot duplicates)
Duplicates between different Western blot images (inter-blot duplicates)

I've amassed a collection of retracted papers with Western blot images, some of which contain duplicates, and others which do not. My goal is to create an annotated dataset from these images that can be used to train a deep-learning model for this specific task.

For intra-blot duplicates, my current approach is to annotate bounding boxes around each pair of duplicate bands within the same blot (like is shown in the image below). However, I'm unsure about the best way to annotate inter-blot duplicates, as this would seem to require some method of linking or correlating bands across different images.

enter image description here

One approach I have thought of is creating something like a CSV file like the one below;

enter image description here

Here, each row corresponds to a single object within an image. The 'object_id' field identifies the object, and the 'group_id' field indicates which other objects it's a duplicate of (i.e., all objects with the same group_id are considered duplicates). The 'x_min' and 'y_min' fields specify the coordinates of the top left corner of the bounding box for the object, and the 'width' and 'height' fields specify the size of the box.

This is my first time creating a dataset, so I'm seeking guidance on the most effective way to annotate and structure it, particularly concerning inter-blot duplicates.

Any insight or advice would be greatly appreciated.

  • 1
    $\begingroup$ Your approach looks reasonable. I don't know if it is possible, but an intermediate step where you crop and save the individual images of your objects would make it a simpler and more standard task. $\endgroup$
    – Valentas
    Commented Jul 14, 2023 at 6:32
  • $\begingroup$ Thank you for your suggestion. I did consider saving the individual panels but not the bands as images. I can see how this could simplify the task for the deep learning model. I'm curious, though, how this approach would integrate with my current strategy of using a CSV file to track duplicates. Would this still be an effective method for handling the inter-blot duplicates, or do you think there might be a more efficient strategy? $\endgroup$
    – Emmanuel
    Commented Jul 17, 2023 at 20:07
  • $\begingroup$ How you store your metadata and whether it is one or more CSV files or SQL tables are implementation details. What's more important to think is what will your labels be. Will it be object1, object2, 0/1 label (object1 and object2 not necessarily from the same image). Or is it really the case that you can enumerate and assign a particular group_id to your objects - this might be true if you only have a few possible shapes, like letters in the alphabet? How will new objects be labelled if your dataset grows? You really need to think and answer these questions for your particular task. $\endgroup$
    – Valentas
    Commented Jul 18, 2023 at 10:25


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.