From 253b31d38c6a4715629aa160418b08ca2c74d341 Mon Sep 17 00:00:00 2001 From: Tamino Huxohl <thuxohl@techfak.uni-bielefeld.de> Date: Thu, 11 Aug 2022 15:53:41 +0200 Subject: [PATCH] create initial structure --- mu_map/data/__init__.py | 1 + mu_map/data/datasets.py | 21 ++++++++++++++++++++ mu_map/data/preprocessing.py | 38 ++++++++++++++++++++++++++++++++++++ mu_map/models.py | 0 mu_map/test.py | 18 +++++++++++++++++ mu_map/train.py | 0 6 files changed, 78 insertions(+) create mode 100644 mu_map/data/__init__.py create mode 100644 mu_map/data/datasets.py create mode 100644 mu_map/data/preprocessing.py create mode 100644 mu_map/models.py create mode 100644 mu_map/test.py create mode 100644 mu_map/train.py diff --git a/mu_map/data/__init__.py b/mu_map/data/__init__.py new file mode 100644 index 0000000..975d883 --- /dev/null +++ b/mu_map/data/__init__.py @@ -0,0 +1 @@ +from .datasets import * diff --git a/mu_map/data/datasets.py b/mu_map/data/datasets.py new file mode 100644 index 0000000..e1aa99d --- /dev/null +++ b/mu_map/data/datasets.py @@ -0,0 +1,21 @@ +import os + +import pandas as pd +import pydicom +from torch.utils.data import Dataset + +class MuMapDataset(Dataset): + + def __init__(self): + super().__init__() + + # read csv file and from that access dicom files + + def __getitem__(self, index): + pass + + def __len__(self): + pass + + +__all__ = [MuMapDataset.__name__] diff --git a/mu_map/data/preprocessing.py b/mu_map/data/preprocessing.py new file mode 100644 index 0000000..dc57c6f --- /dev/null +++ b/mu_map/data/preprocessing.py @@ -0,0 +1,38 @@ +import torch + + +def norm_max(tensor: torch.Tensor): + return (tensor - tensor.min()) / (tensor.max() - tensor.min()) + + +class MaxNorm: + def __call__(self, tensor: torch.Tensor): + return norm_max(tensor) + + +def norm_mean(tensor: torch.Tensor): + return tensor / tensor.mean() + + +class MeanNorm: + def __call__(self, tensor: torch.Tensor): + return norm_mean(tensor) + + +def norm_gaussian(tensor: torch.Tensor): + return (tensor - tensor.mean()) / tensor.std() + + +class GaussianNorm: + def __call__(self, tensor: torch.Tensor): + return norm_gaussian(tensor) + + +__all__ = [ + norm_max.__name__, + norm_mean.__name__, + norm_gaussian.__name__, + MaxNorm.__name__, + MeanNorm.__name__, + GaussianNorm.__name__, +] diff --git a/mu_map/models.py b/mu_map/models.py new file mode 100644 index 0000000..e69de29 diff --git a/mu_map/test.py b/mu_map/test.py new file mode 100644 index 0000000..fb19770 --- /dev/null +++ b/mu_map/test.py @@ -0,0 +1,18 @@ +import torch + +from .data.preprocessing import * + +means = torch.full((10, 10, 10), 5.0) +stds = torch.full((10, 10, 10), 10.0) +x = torch.normal(means, stds) + +print(f"Before: mean={x.mean():.3f} std={x.std():.3f}") + +y = norm_gaussian(x) +print(f" After: mean={y.mean():.3f} std={y.std():.3f}") +y = GaussianNorm()(x) +print(f" After: mean={y.mean():.3f} std={y.std():.3f}") + + + + diff --git a/mu_map/train.py b/mu_map/train.py new file mode 100644 index 0000000..e69de29 -- GitLab