Work-in-progress tools to help identify new and changing moles on the skin with the goal of early detection of melanoma skin cancer.
The Mayo Clinic says:
The first melanoma signs and symptoms often are:
- A change in an existing mole
- The development of a new pigmented or unusual-looking growth on your skin
The UK National Health Service says:
The most common sign of melanoma is the appearance of a new mole or a change in an existing mole. This can happen anywhere on the body, but the back, legs, arms and face are most commonly affected.
To help you identify new and changing moles, the tools enable you to:
- Maintain a catalog of your moles
- Record a visual history of each mole
For the catalog to be useful, it must enable you to uniquely distinguish every mole from the other new and pre-existing moles. To this end you will be able to assign a name, identifying images and notes for each one.
For the visual history of each mole to be useful, it must enable you to identify significant differences in moles over time. The tools will help you to normalise the rotation and centering of your mole images so that they are easier to compare.
Requirements: Python 3.8+
Install uv (recommended):
pip install uv
# or
curl -LsSf https://astral.sh/uv/install.sh | shInstall mel:
uv venv
uv pip install -e '.[dev]'"Mel Zero" - no executables, just documentation of how to create and maintain a mole catalog manually using a smartphone, a laptop, and a USB microscope.
"Mel One" - the code in this repository provides WIP rough tools for maintaining a mole catalog using two complimentary techniques. Moles are assigned UUIDs so they map across techniques:
-
Roto-mapping: Detect new moles with the
mel rotomap *commands. Using the idea of 'photographing a rotating cylinder and cycling through the photographs' as a cheap way of presenting an interactive 3D model, treat parts of the body as if they were a cylinder and create photosets of them. Provide support for manually and automatically marking moles in the images and mapping known ones to a UUID using some basic deep learning. Also provide support for manually comparing moles, but this better done with microscope images. -
Microscope imaging: Detect changes in moles with the
mel micro *commands. These help you quickly capture and manually compare images of known moles with a USB microscope.
-
Intelligent Total Body Scanner for Early Detection of Melanoma (iToBoS):
- iToBoS was an EU-funded project (€11M) that developed an AI-powered full-body scanner capable of imaging a patient's entire skin surface in six minutes and providing automated risk assessments for each mole to enable earlier melanoma detection.
- The initial four year pilot is now concluded and ran until March 2025.
- Next steps include a large-scale roll-out trial that will involve a much larger number of melanoma cases. “While this pilot study demonstrated the technical functionality and clinical potential of the platform, a broader trial is now needed,” notes project coordinator Rafael Garcia from the University of Girona.
-
VECTRA WB360 whole body 3D imaging system: captures the entire skin surface in macro quality resolution with a single capture. Apparently this is the commercial predecessor technology that iToBoS builds upon.
-
Australian Centre of Excellence in Melanoma Imaging & Diagnosis: A $10M AUD project, "delivering skin imaging technology integrated within a telemedicine research network spanning 15 dermatology research sites across Queensland (QLD), New South Wales (NSW), and Victoria (VIC) to reconceive how melanoma is screened for and detected".
Distributed under the Apache License (version 2.0); see the LICENSE file at the top of the source tree for more information.