Image analysis is hard. To extract meaningful information to meet your analysis goals you often need to work with large, complex, multidimensional and multivariate data. I have found that the following methodology can be used to effectively design software to successfully analyze image data.
- Visualization: Simply put, you need to be able to see your data before you have any chance of extracting meaningful information. Visualization at this stage is only a means to perform measurements. Simple and to the point is the best strategy here since it is often easy to get carried away with making pretty pictures in lieu of taking measurements, which is the ultimate goal.
- Interactivity: users need to “touch” their data so that they can explore. Data exploration is an important part to defining the necessary path to obtaining desired analysis results. So, being able to navigate through all data, view from afar and close, translate, rotate, change colors, etc. These are basic things, but provide substantial insight into data and problem solving.
- Measurements: Once you can see and explore your data, you want to start measuring things. The user should be able to use simple tools to delineate and measure data features. You can even provide tools for structurally representing data, for example, places landmark points and axes on anatomic features. These tools provide the foundation for basic measurements (lengths, angles, etc.), statistical analysis, shape analysis, and morphometrics.
- Abstract analysis: Once you have used the necessary measurement tools, you can gather your data into one place and perform “the analysis” to achieve your goals with the data and software.
- Reports: Once the analysis is complete, you of course need to report this information to stakeholders in the process. In medical, stakeholders could be the patient, surgeon, physician, radiologist, administration, and even insurance companies.
This constitutes the general process we follow when building our software tools for image analysis.