Enhancement Technique for Early Stage Lung Cancer Detection Using Foldscope
1.2 Objectives
(a) To implement methodology that works with cellular level detection and determination of cancer.
(b) To predict the possibility of lung cancer using the data-set facilitated by machine learning [10].
(c) To compare between cancerous and non cancerous nodules [11].
(d) To create awareness among the masses for early screening of the disease.
(e) To reduce the need for higher-level machinery implementation in order to develop low cost systems with high output.
2 Methodology
With reference to Fig.1, we are going to provide the solution to resolve the above stated problem by designing and developing a CAD system for early lung cancer detection by inculcating python integrated with machine learning as a key technique for evaluation of the collected data [12]. Our system has different modules for clear segmentation of the detection of cells specimen which are stated below:
Enhancement Technique for Early Stage Lung Cancer Detection … 185 Fig. 1 Architecture of
proposed system
A. Search Module
This module is specifically designed and propagated to locate the testing specimen which is going to be submitted to the system for further evaluation procedure. This module is a key benefit which facilitates the user to easily locate the test image and submit it to the system.
B. Image Processing Module
The image of the cell specimen that is passed by the user through the Search Module is later entered into this module for further processing. The image that is passed by the search module is not ready for evaluation and needs precise processing. In this module the image is assessed for noise as well as other impairments and are removed from the image set. The image is later contrast adjusted for sharpening and better clearance. Later on this processed image is passed to the next module.
C. Thresholding Module
The image that is received from the previous module is parsed by Otsu’s thresholding algorithm. Image segmentation takes place in this algorithm and now the image is ready to be examined and compared with the data-set.
D. Classification Module
Here, the processing ready image is examined and tallied with the data-set. The image is completely compared with all the existing data-set images and the result is sent back to the data-set in order to increase the accuracy for further evaluation.
In case, if the result is not found satisfactory then this situation is recorded so that
186 V. D. Jadhav and L. V. Patil it does not repeat for the next time. In this way the module never makes the same mistake twice.
Details of the Proposed Implementation
• Search Module
This module is specifically designed and propagated to locate the testing specimen which is going to be submitted to the system for further evaluation procedure.
• Image Processing Module
In this module the image is assessed for noise as well as other impairments and is removed from the image set. The image is later contrast adjusted for sharpening and better clearance.
• Thresholding Module
The image that is received from the previous module is parsed by Otsu’s thresholding algorithm. Image segmentation takes place in this algorithm and now the image is ready to be examined and compared with the data-set.
• Classification Module
The image is completely compared with all the existing data-set images and the result is sent back to the data-set in order to increase the accuracy for further evaluation.
Working
The user needs to browse through the files and select the target image that is to be entered in the system for the evaluation process. The image that is taken initially has certain agents of error that need to be processed in order to get a more feasible image for the testing process. The image also needs to be in a required format as the prescribed data-set is built of.
Later, when the image is brought in the system then it needs to be further processed in order to remove the noise and the errors. The noise may be of different sorts like salt noise, smoke, etc. This noise is removed by using certain techniques that enhance the image by removing such noise and the errors. The next parameter that is to be enhanced is the sharpening and the contrast that is to be maintained and enhanced accordingly in order to make the image more reliable and perfect for evaluation.
After the image processing the, image is next taken into the algorithmic evaluation so as to increase its compatibility with the system. Otsu’s Thresholding technique is used for making the image more and more suitable to work with the system. This algorithm does significant scaling and other required jobs that make the image more precise and more efficient in terms of details.
This processed image is then taken to evaluate and determine the cancer causing agents presence in the sampling image. If the given image has some features that are similar to that of any of the details in the data-set then the system records that data
Enhancement Technique for Early Stage Lung Cancer Detection … 187 and enters it into the data-set for next successive evaluation. All the results that are evaluated by the system are successively sent to the data-set so as to improve the quality of the data-set and increase the precision of the system. The more results we evaluate the more the system works effectively.
The entire development process has been subdivided into two: the front end devel- opment and the backend development. The front end comprises the visually visible parts such as the Browse Button, Image Path, Predict Button and the Result. The back end contains the data-set and its interaction with the trained data.
Front End Development
The front end is coded using PAGE Python GUI Generator. PAGE is a cross-platform drag-and-drop GUI generator, bearing a resemblance to Visual Basic. It allows one to easily create GUI windows containing a selection of Tk and ttk widgets. Required are Tcl/Tk 8.6 and Python 2.7+. I am actually using Tcl/Tk 8.6 and Python 2.7. PAGE springs from Virtual Tcl, a Tcl/Tk program, forked to generate Python modules that realize the desired GUI. Tcl is required for running PAGE but is not required for executing the generated Python code.
PAGE is not an end-all, be-all tool, but rather one that attempts to ease the burden on the Python programmer. It is aimed at the user who will put up with a less than completely general GUI capability in order to get an easily generated GUI. A helper and learning tool, it does not build an entire application but rather is aimed at building a single GUI class and the boilerplate code in Python necessary for getting the GUI on the screen.
Back-end Development
The back-end development is totally done with Python. Some of the image pre- processing techniques like Noise Removal, Gray Scaling and Otsu’s Thresholding are used. One of the fundamental challenges in image processing and computer vision is image denoising. What denoising does is to estimate the original image by suppressing noise from the image. Image noise may be caused by different sources (from sensors or from environment) which are often not possible to avoid in practical situations. Therefore, image denoising plays an important role in a wide range of applications such as image restoration, visual tracking, image registration, and image segmentation. While many algorithms have been proposed for the purpose of image denoising, the problem of image noise suppression remains an open challenge, espe- cially in situations where the images are acquired under poor conditions where the noise level is very high.
In global thresholding, we used an arbitrary value for threshold value. So, how can we know if a value we selected is good or not? Answer is trial and error method.
But consider a bimodal image (In simple words, bimodal image is an image whose histogram has two peaks). For that image, we can approximately take a value in the middle of those peaks as a threshold value. That is what Otsu binarization does.
So in simple words, it automatically calculates a threshold value from an image histogram for a bimodal image (For images which are not bimodal, binarization won’t be accurate.). For this, our cv2.threshold () function is used, but passes an
188 V. D. Jadhav and L. V. Patil extra flag, cv2.THRESH OTSU. For threshold value, simply pass zero. Then the algorithm finds the optimal threshold value and returns you as the second output, retVal. If Otsu thresholding is not used, retVal is the same as the threshold value you used.