How to approach variable image sizes for Image Classification?
The common approach is to crop the tumor on each image. You will obtain different tumor image size. Then rescale the tumor images to the smallest one. Choose wisely the resampling technic for the rescale depending on the algorithm you will use for classification. The fastest one would be nearest neighborhood resampling, a smoother one would be linear interpolation, the ultimate one can be spline interpolation.
I am working on classification of brain tumors. The dataset is comprised of brain images from various angles, with a border and mask of the tumor position. I have cropped the rectangle that contains the tumor, as the other parts of the image are irrelevant and vary due to the different angles from which the image is taken. Now I am left with a series of images of the tumor, each belonging to 1 of 3 possible cases of tumor. But to train this data for classification, I need to have the 2d image array in a uniform shape I believe.
Possible approaches:
1) Crop each image to a fixed size (say 100x100). But this would result in loss of data and also depending on position of the tumor in image, I could be facing uneven crops due to reaching the edge of the image.
2) Pad the image to a fixed shape, bigger than the biggest cropped image shape (say 350x350). But again this would introduce noise in the data I suppose, and I'm not sure how can I pad the image uniformly across all 4 sides of the rectangle.
As these don't seem viable, I'm looking for other solutions to tackle this problem.