Skip to content

Commit

Permalink
improved ops repr
Browse files Browse the repository at this point in the history
Former-commit-id: 088485f
  • Loading branch information
mkazmier committed Apr 14, 2020
1 parent becc687 commit 165e59c
Showing 1 changed file with 44 additions and 20 deletions.
64 changes: 44 additions & 20 deletions imgtools/ops/ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ def __call__(self, *args, **kwargs):
def __repr__(self):
attrs = [(k, v) for k, v in self.__dict__.items()
if not k.startswith("_")]
attrs = [(k, f"'{v}'") if isinstance(v, str) else (k, v) for k, v in attrs]
args = ", ".join(f"{k}={v}" for k, v in attrs)
return f"{self.__class__.__module__}.{self.__class__.__name__}({args})"
return f"{self.__class__.__name__}({args})"


# Input/output
Expand All @@ -31,10 +32,10 @@ def __init__(self, loader):
raise ValueError(
f"loader must be a subclass of io.BaseLoader, got {type(loader)}"
)
self.loader = loader
self._loader = loader

def __call__(self, key):
inputs = self.loader.get(key)
inputs = self._loader.get(key)
return inputs


Expand All @@ -44,15 +45,19 @@ def __init__(self, writer):
raise ValueError(
f"writer must be a subclass of io.BaseWriter, got {type(writer)}"
)
self.writer = writer
self._writer = writer

def __call__(self, key, *args, **kwargs):
self.writer.put(key, *args, **kwargs)


class ImageCSVInput(BaseInput):
def __init__(self, csv_path, colnames=[], id_column=None, readers=[read_image]):
loader = ImageCSVLoader(csv_path, colnames, id_column, readers)
self.csv_path = csv_path
self.colnames = colnames
self.id_column = id_column
self.readers = readers
loader = ImageCSVLoader(self.csv_path, self.olnames, self.id_column, self.readers)
super().__init__(loader)


Expand All @@ -63,11 +68,16 @@ def __init__(self,
subdir_path=None,
exclude_paths=[],
reader=read_image):
loader = ImageFileLoader(root_directory,
get_subject_id_from,
subdir_path,
exclude_paths,
reader)
self.root_directory = root_directory
self.get_subject_id_from = get_subject_id_from
self.subdir_path = subdir_path
self.exclude_paths = exclude_paths
self.reader = reader
loader = ImageFileLoader(self.root_directory,
self.get_subject_id_from,
self.subdir_path,
self.exclude_paths,
self.reader)
super().__init__(loader)


Expand All @@ -77,10 +87,14 @@ def __init__(self,
filename_format="{subject_id}.nrrd",
create_dirs=True,
compress=True):
writer = ImageFileWriter(root_directory,
filename_format,
create_dirs,
compress)
self.root_directory = root_directory
self.filename_format = filename_format
self.create_dirs = create_dirs
self.compress = compress
writer = ImageFileWriter(self.root_directory,
self.filename_format,
self.create_dirs,
self.compress)
super().__init__(writer)


Expand All @@ -89,7 +103,10 @@ def __init__(self,
root_directory,
filename_format="{subject_id}.npy",
create_dirs=True):
writer = NumpyWriter(root_directory, filename_format, create_dirs)
self.root_directory = root_directory
self.filename_format = filename_format
self.create_dirs = create_dirs
writer = NumpyWriter(self.root_directory, self.filename_format, self.create_dirs)
super().__init__(writer)


Expand All @@ -99,10 +116,14 @@ def __init__(self,
filename_format="{subject_id}.h5",
create_dirs=True,
save_geometry=True):
writer = HDF5Writer(root_directory,
filename_format,
create_dirs,
save_geometry)
self.root_directory = root_directory
self.filename_format = filename_format
self.create_dirs = create_dirs
self.save_geometry = save_geometry
writer = HDF5Writer(self.root_directory,
self.filename_format,
self.create_dirs,
self.save_geometry)
super().__init__(writer)


Expand All @@ -111,7 +132,10 @@ def __init__(self,
root_directory,
filename_format="{subject_id}.json",
create_dirs=True):
writer = MetadataWriter(root_directory, filename_format, create_dirs)
self.root_directory = root_directory
self.filename_format = filename_format
self.create_dirs = create_dirs
writer = MetadataWriter(self.root_directory, self.filename_format, self.create_dirs)
super().__init__(writer)


Expand Down

0 comments on commit 165e59c

Please sign in to comment.