The kiwifruit segmentation challenge
Segmenting kiwifruit seeds from the background in a 3D MRI dataset is part of the course "BMED360 - In vivo imaging and physiological modeling" running at the Department of Biomedicine, University of Bergen.
The 3D dataset, consisting of 128 transaxial slices through the long axis of the kiwi, was acquired with the 7 T Bruker Pharmascan MRI scanner at the Molecular Imaging Center MIC / Vivarium, University of Bergen, using the 2D RARE pulse sequence (Echo Train Length = 8, TR = 18520 ms, TE = 63.9 ms, No. of Averages = 2, Flip Angle = 180 deg, Slice thickness = 0.5 mm, In-plane pixel resolution = 0.234 x 0.234 mm2, Acquisition matrix = 256 x 256, Number of slices = 128).
Renderings and visualizations of the 3D Kiwi data:
Visualizations from Department of Informatics, UoB http://www.ii.uib.no/vis/resources/kiwi-vis/
Challenges and research questions
- Segment the seeds from the background using all the clever tricks / ideas you come up with (e.g. adaptive thresholding, template matching / a priori information, Fourier space methods, …) Try out both 2D and 3D approaches. (Use f.ex. MATLAB, Python or Java)
- From your segmentation results, make an estimate of the number of seeds in the kiwi. If you are using probabilistic methods you should also provide a confidence interval for your estimate.
- Try to assess the goodness of your segmentation method by cutting out a portion of the volume (e.g. some contiguous slices) and do a manual count of the number of seeds to compare with your segmentation results (e.g. false positive detections, false negative detections).
- Now, consider the Kiwi to be the brain and the seeds to be pathological lesions, such as MS plaques. Make an estimate of the “lesion load”, i.e. the ratio: volume of lesions (seeds) / volume of whole brain (kiwi), using the voxel size information from the scan and your segmentation results.
- Write a short scientific report from your investigation, with a Title, an “Introduction” with problem formulation, “Materials and methods” regarding test object (kiwifruit), image acquisition and the image analysis methods being used (your algorithm / code can be given in an Appendix); “Experimental results” (seed counts for given algorithmic parameter settings, processing time, etc., use Figures and Tables to describe your results); “Discussion” (main results, strength and weaknesses of your approach, suggestions for improvement, relevance to similar problems, conclusions). “Bibliography” (try to find some relevant literature to this image analysis task, and your algorithmic approach).
Links to data
or as the Kiwi_20050217.zip from the UHnettVest Google drive.
Extract the Kiwi_20050217.zip archive to your current directory. To read the DICOM data into MATLAB and display the 128 slices, you can use the following script:
% read_dicom_kiwi.m K=128; I = zeros(256,256,1,K, 'single'); for i = 1:K cmd = sprintf('info = dicominfo(''./Kiwi_20050217/Dicom/im%03d'');', i); eval(cmd); img = single(dicomread(info)); % Normalize each slice image to the interval [0, 1] img = img/max(img(:)); I(:,:,1,i) = reshape(img, 256, 256, 1, 1); end montage(I) % print -dpdf 'kiwi_20050217.pdf'