Medical Imaging Software Development: a Detailed Guide