I have datasets of brain MR images with tumours, the tumours are already selected manually by a physicist using Image J.

I have read about segmentation, but I still couldn't understand how do they extract features from a segmented image.

should the images have only the tumor with a black background as shown in the below images, so the feature extraction will be processed on the whole image? or do they extract features only on the region of interest using overlay, or layer that specifies the ROI?

and would Discrete wavelet transform DWT descriptor be a good choice for a descriptor?

a brain tumour after being segmented


1 Answer 1


"Feature extraction" is basically a process of reducing the input data (an image of X pixels) to a lower dimension (that is still enough to perform the model's task). So you have 2 options, to use a man-made features (for this you need to be the expert that determines what is a good and relevant feature) or train a feature extractor.

enter image description here

For a man-made feature extractor you need to understand what is the difference between the tumor area and the rest of the image (is it just a matter of the grayscale, where you can use some threshold value? maybe texture or spatial frequency where discrete wavelets can help?). This is not an easy task (there is a reason why the tumor was segmented by some physicist?? {I would think he should be some sort of a doctor}). I am not an expert in MRI imaging but I've found some papers that talk exactly about your question:

"Feature Extraction for MRI Segmentation - Wiley Online Library"

"Feature extraction and selection from MRI images for the brain tumor classification"

If we are talking about training a feature extractor, then you need to define a model with an input and an output and some quantifiable training goal (loss/score function). From my understanding, your final goal is to segment just the tumor part of the image, right?

Which means that your model's output should be a binary image with the same size as the input image. The pixels of the output image will be 0 for not-tumor and 1 for tumor pixels. This is similar to tasks of "Salient Object Detection".

The only difference with segmentation is that your output image is binary. In segmentation you will get an output image where each pixel is classified to one of k segments. This might also be relevant to you if you are trying to both segment the tumor and classify it as one of several known tumor-classes. Or if you want to divide the image into different segments, with the tumor being one of them.

If we are talking about a deep-learning model, both tasks share similar architectures known as Fully Convolutional Networks (with many different variations). You can read more about it at a paper named: "Fully Convolutional Networks for Semantic Segmentation". In these models, the output of the second-to-last (refereed to as the "embedding layer") can usually be used as a feature extractor.

  • $\begingroup$ Thank you so much sir for the detailed and informative answer. can't i do feature extraction from the tumor part directly? i mean, i don't need segmentation technique since the tumor is already manually selected by physicist? correct? $\endgroup$
    – gin
    Dec 12, 2018 at 4:45
  • 1
    $\begingroup$ If you want to automate the process then you will not have humans in it. And it means you need to find some other ways to find tumors. And algorithms can be made significantly better by making new features. This is supported by all kaggle competitions I know of. No one wins kaggle without feature extraction. $\endgroup$
    – keiv.fly
    Dec 12, 2018 at 22:43
  • $\begingroup$ You can't learn from just looking at the tumor part because you need negative examples as well. The model needs to learn to differentiate between tumor and not-tumor areas. $\endgroup$
    – Mark.F
    Dec 13, 2018 at 9:30
  • $\begingroup$ @Mark.F what exactly is embedding layer? Is it subsequent layer in neural network which subsequently extracts feature? Thats what you meant "second-to-last" layers are called embedding layer? $\endgroup$
    – user0193
    May 15, 2022 at 10:08
  • $\begingroup$ @keiv.fly what do you mean making new features? so in case of tumor example what would be a "new" feature? $\endgroup$
    – user0193
    May 15, 2022 at 10:10

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.