How to Intermediate · 3 min read

How AI is used in radiology

Quick answer
AI in radiology uses machine learning and computer vision to analyze medical images for faster and more accurate diagnosis. Models like convolutional neural networks (CNNs) assist radiologists by detecting anomalies, segmenting tissues, and automating report generation.

PREREQUISITES

  • Python 3.8+
  • OpenAI API key (free tier works)
  • pip install openai>=1.0

Setup

Install the openai Python package and set your API key as an environment variable for secure access.

bash
pip install openai
output
Collecting openai
  Downloading openai-1.0.0-py3-none-any.whl (50 kB)
Installing collected packages: openai
Successfully installed openai-1.0.0

Step by step

This example demonstrates how to use AI to analyze a radiology image description and generate a diagnostic summary using gpt-4o-mini. In practice, AI models trained on medical images (CNNs) perform image analysis, while LLMs assist with report generation.

python
import os
from openai import OpenAI

client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])

# Simulated radiology image description input
image_description = (
    "Chest X-ray shows a faint opacity in the right lower lung zone, "
    "suggestive of early pneumonia. No pleural effusion detected."
)

# Use GPT-4o-mini to generate a diagnostic summary
messages = [
    {"role": "system", "content": "You are a helpful radiology assistant."},
    {"role": "user", "content": f"Analyze this radiology finding and provide a concise diagnostic summary: {image_description}"}
]

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=messages
)

print("Diagnostic summary:", response.choices[0].message.content)
output
Diagnostic summary: The chest X-ray indicates a possible early pneumonia in the right lower lung without signs of pleural effusion. Recommend clinical correlation and follow-up imaging if symptoms persist.

Common variations

You can use asynchronous calls for better performance in web apps or switch to specialized models like claude-3-5-haiku-20241022 for nuanced medical language. Streaming responses enable real-time UI updates during report generation.

python
import os
import asyncio
from openai import OpenAI

async def async_radiology_summary():
    client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
    messages = [
        {"role": "system", "content": "You are a helpful radiology assistant."},
        {"role": "user", "content": "Summarize findings from a brain MRI showing mild white matter changes."}
    ]
    
    stream = await client.chat.completions.create(
        model="claude-3-5-haiku-20241022",
        messages=messages,
        stream=True
    )

    async for chunk in stream:
        print(chunk.choices[0].delta.content or "", end="", flush=True)

asyncio.run(async_radiology_summary())
output
Mild white matter changes on brain MRI may indicate small vessel ischemic disease or early demyelination. Clinical correlation is advised for further evaluation.

Troubleshooting

  • If you receive authentication errors, verify your OPENAI_API_KEY environment variable is set correctly.
  • For slow responses, consider using streaming to improve user experience.
  • If outputs are too generic, provide more detailed system prompts or use domain-specific models.

Key Takeaways

  • Use AI models like CNNs for image analysis and LLMs for report generation in radiology workflows.
  • Leverage gpt-4o-mini or claude-3-5-haiku-20241022 for medical text summarization and diagnostic assistance.
  • Implement streaming and async calls to enhance responsiveness in clinical applications.
  • Always secure API keys via environment variables and tailor prompts for domain-specific accuracy.
Verified 2026-04 · gpt-4o-mini, claude-3-5-haiku-20241022
Verify ↗