Le nitrain (anciennement Torchsample ) est une bibliothèque Python agnostique à cadre pour l'échantillonnage et l'augmentation des images médicales, la formation de modèles sur les ensembles de données d'imagerie médicale et la visualisation des résultats dans un contexte d'imagerie médicale.
La bibliothèque de nitrain est unique en ce qu'elle rend les modèles de formation aussi simples que possible en fournissant des valeurs par défaut raisonnables et une abstraction de haut niveau. Il prend également en charge plusieurs frameworks - Torch, TensorFlow et Keras - dans un objectif d'ajouter encore plus.
Des exemples complets de formation des modèles d'IA d'imagerie médicale utilisant du nitrain peuvent être trouvés sur la page des tutoriels. Si vous êtes plus généralement intéressé par l'imagerie médicale IA, consultez les techniques pratiques d'IA d'imagerie médicale avec Python (attendu au début de 2025).
Voici un exemple d'utilisation de nitrain à un modèle de segmentation sémantique qui démontre une grande partie de la fonctionnalité principale.
import nitrain as nt
from nitrain . readers import ImageReader , ColumnReader
# create dataset from folder of images + participants file
dataset = nt . Dataset ( inputs = ImageReader ( 'sub-*/anat/*_T1w.nii.gz' ),
outputs = ImageReader ( 'sub-*/anat/*_aparc+aseg.nii.gz' ),
transforms = {
'inputs' : tx . NormalizeIntensity ( 0 , 1 ),
( 'inputs' , 'outputs' ): tx . Resize (( 64 , 64 , 64 ))
},
base_dir = '~/desktop/ds004711/' )
# create loader with random transforms
loader = nt . Loader ( dataset ,
images_per_batch = 4 ,
sampler = nt . SliceSampler ( batch_size = 32 , axis = 2 )
transforms = {
'inputs' : tx . RandomNoise ( sd = 0.2 )
})
# create model from architecture
arch_fn = nt . fetch_architecture ( 'unet' , dim = 2 )
model = arch_fn ( input_image_size = ( 64 , 64 , 1 ),
mode = 'segmentation' )
# create trainer and fit model
trainer = nt . Trainer ( model , task = 'segmentation' )
trainer . fit ( loader , epochs = 100 )La dernière version de Nitrain peut être installée à partir de PYPI:
pip install nitrain
Ou vous pouvez installer la dernière version de développement directement à partir de GitHub:
python -m pip install git+github.com/nitrain/nitrain.git
Le package ANTS Python est une dépendance clé qui vous permet de lire, de fonctionner efficacement et de visualiser des images médicales. De plus, vous pouvez utiliser des keras (tf.keras ou keras3), TensorFlow ou Pytorch comme backend pour créer vos modèles.
Les liens suivants peuvent être utiles pour se familiariser avec le nitrain.
Vous pouvez également visiter le référentiel Anty pour en savoir plus sur la gestion des images médicales et la réalisation de l'analyse d'imagerie médicale traditionnelle.
Si vous avez une question ou un rapport de bogue, la meilleure façon d'obtenir de l'aide est de publier un problème sur la page GitHub. Je serais heureux d'accueillir tous les nouveaux contributeurs ou idées dans le projet. Si vous souhaitez ajouter du code, la meilleure façon de commencer est de publier un problème ou de me contacter à [email protected].
Vous pouvez prendre en charge ce travail en mettant en vedette le référentiel ou en publiant une demande de fonctionnalité dans l'onglet Issues. Ces actions aident à augmenter l'impact du projet et la portée communautaire.