U-Net Encoder Decoder Architecture for Cell Segmentation

This workflow creates and trains a Unet for segmenting cell images. The trained network is used to predict the segmentation of unseen data. Data: The training data is a set of 30 sections from a serial section Transmission Electron Microscopy (ssTEM) data set of the Drosophila first instar larva ventral nerve cord (VNC). The microcube measures 2 x 2 x 1.5 microns approx., with a resolution of 4x4x50 nm/pixel. The corresponding binary labels are provided in an in-out fashion, i.e. white for the pixels of segmented objects and black for the rest of pixels (which correspond mostly to membranes). (Source: http://brainiac2.mit.edu/isbi_challenge/home)


This is a companion discussion topic for the original entry at https://kni.me/w/obMtJRqC4DEpgeNC
1 Like

Dear all,
I tried this workflow, however this does not work in my hands. It gives me a following error:

ERROR Keras Network Learner 3:213 Execute failed: An error occurred while creating the Keras network from its layer specifications. Details:
‘DataFrame’ object has no attribute ‘convert_objects’
Traceback (most recent call last):
File “”, line 5, in
File “C:\Program Files\KNIME\plugins\org.knime.dl.python_4.4.1.v202108230956\py\DLPythonNetworkSpecToDataFrameConverter.py”, line 97, in get_layer_data_specs_as_data_frames
input_specs = extractor.input_specs_to_data_frame()
File “C:\Program Files\KNIME\plugins\org.knime.dl.python_4.4.1.v202108230956\py\DLPythonNetworkSpecToDataFrameConverter.py”, line 57, in input_specs_to_data_frame
return self.__layer_data_specs_to_data_frame(self._network_spec.input_specs)
File “C:\Program Files\KNIME\plugins\org.knime.dl.python_4.4.1.v202108230956\py\DLPythonNetworkSpecToDataFrameConverter.py”, line 88, in __layer_data_specs_to_data_frame
specs_with_numeric_types = specs.convert_objects(convert_numeric=True)
File “C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py”, line 5465, in getattr
return object.getattribute(self, name)
AttributeError: ‘DataFrame’ object has no attribute ‘convert_objects’

Please could you help me?

Thank you in advance!

Hi @lstimmer and welcome to the forum.

When this issue has come up before, reverting to an older version of pandas in your Python environment generally solves it. See this thread for more details:

2 Likes

Hi ScottF,

Thank you for a fast respond. Yes it works!

I have another small question: how did you do your initial annotations (labels) on the TEM images?
Thanks!

1 Like

That I don’t know, since I don’t have a life science background :sweat_smile:

Let’s ping @janina, the author of the workflow, and see if she can provide some additional information.

Yes, this would be great.
I am pathologist and not a data scientist and I try to understand how are you doing this analysis.

Best,

Hallo @lstimmer,

the labelled TEM images came from this challenge: About the 2D EM segmentation challenge | ISBI Challenge: Segmentation of neuronal structures in EM stacks
The authors also published a paper about the challenge. You can find it here: Frontiers | Crowdsourcing the creation of image segmentation algorithms for connectomics | Frontiers in Neuroanatomy

In the paper, they stated that “The ground truth boundary maps for the training images were created by one coauthor (AC) who manually segmented each neurite of the training volume by manually marking its borders on each 2D plane.”

I hope that answers your question, but let me know if you have more questions. :slight_smile:

Kind regards,
Janina

3 Likes