def main(args=None): args = arg_parser().parse_args(args) if args.verbosity == 1: level = logging.getLevelName('INFO') elif args.verbosity >= 2: level = logging.getLevelName('DEBUG') else: level = logging.getLevelName('WARNING') logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=level) logger = logging.getLogger(__name__) try: if not os.path.isdir(args.img_dir): raise ValueError('(-i / --img-dir) argument needs to be a directory of NIfTI images.') if args.mask_dir is not None: if not os.path.isdir(args.mask_dir): raise ValueError('(-m / --mask-dir) argument needs to be a directory of NIfTI images.') _ = lsq.lsq_normalize(args.img_dir, args.mask_dir, args.output_dir) if args.plot_hist: with warnings.catch_warnings(): warnings.filterwarnings('ignore', category=FutureWarning) from intensity_normalization.plot.hist import all_hists import matplotlib.pyplot as plt ax = all_hists(args.output_dir, args.mask_dir) ax.set_title('Least Squares') plt.savefig(os.path.join(args.output_dir, 'hist.png')) return 0 except Exception as e: logger.exception(e) return 1
def test_lsq_normalization(self): from intensity_normalization.normalize import lsq normalized = lsq.lsq_normalize(self.data_dir, write_to_disk=False)