reload(latent_svm) from rwsegment import svm_worker reload(svm_worker) from rwsegment import loss_functions reload(loss_functions) from rwsegment.rwsegment import BaseAnchorAPI from segmentation_utils import load_or_compute_prior_and_mask from segmentation_utils import compute_dice_coef import svm_rw_api reload(svm_rw_api) from svm_rw_api import SVMRWMeanAPI from svm_rw_api import MetaAnchor, MetaLaplacianFunction from rwsegment import mpi from rwsegment import utils_logging logger = utils_logging.get_logger('learn_svm_batch',utils_logging.DEBUG) class SVMSegmenter(object): def __init__(self, use_parallel=True, **kwargs ): ## paths self.dir_reg = config.dir_reg self.dir_inf = config.dir_inf self.dir_svm = config.dir_svm self.training_vols = config.vols ## params
import numpy as np from scipy import ndimage from rwsegment import io_analyze from rwsegment import rwsegment_prior from rwsegment import rwsegment_pca_prior from rwsegment import loss_functions reload(rwsegment_prior) reload(rwsegment_pca_prior) reload(loss_functions) import config reload(config) from rwsegment import utils_logging logger = utils_logging.get_logger('segmentation_utils',utils_logging.DEBUG) def compute_losses(z,y,mask): ## loss 0 : 1 - Dice(y,z) loss0 = loss_functions.ideal_loss(z,y,mask=mask) logger.info('Tloss = {}'.format(loss0)) ## loss2: squared difference with ztilde loss1 = loss_functions.anchor_loss(z,y,mask=mask) logger.info('SDloss = {}'.format(loss1)) ## loss3: laplacian loss loss2 = loss_functions.laplacian_loss(z,y,mask=mask) logger.info('LAPloss = {}'.format(loss2))
import numpy as np import sys from rwsegment import rwsegment from rwsegment.rwsegment import BaseAnchorAPI from rwsegment import loss_functions reload(rwsegment) reload(loss_functions) from rwsegment import utils_logging logger = utils_logging.get_logger('svm_rw_api',utils_logging.DEBUG) ## combine all prior models class MetaAnchor(): def __init__( self, prior, prior_models, prior_weights, loss=None, loss_weight=None, image=None, ): self.prior = prior self.prior_models = prior_models self.prior_weights = prior_weights self.loss = loss self.loss_weight = loss_weight self.image = image self.labelset = prior['labelset'] def get_labelset(self):
np.testing.assert_allclose(w, w_gold, err_msg='w mismatch') np.testing.assert_allclose(xi, xi_gold, err_msg='xi mismatch') except Exception as e: print str(type(e)) + ', ' + e.message else: print 'PASS: learning tests' else: w = np.loadtxt(outdir + 'w.test.txt') self.w = w ## inference self.run_svm_inference(test, w) def process_all_samples(self, sample_list): for test in sample_list: self.process_sample(test) ##------------------------------------------------------------------------------ from rwsegment import utils_logging logger = utils_logging.get_logger('learn_svm_batch', utils_logging.DEBUG) if __name__ == '__main__': ''' start script ''' svm_segmenter = SVMSegmenter() sample_list = ['01/'] # sample_list = config.vols svm_segmenter.process_all_samples(sample_list)
import numpy as np from scipy import ndimage from rwsegment import io_analyze from rwsegment import rwsegment_prior from rwsegment import rwsegment_pca_prior from rwsegment import loss_functions reload(rwsegment_prior) reload(rwsegment_pca_prior) reload(loss_functions) import config reload(config) from rwsegment import utils_logging logger = utils_logging.get_logger('segmentation_utils', utils_logging.DEBUG) def compute_losses(z, y, mask): ## loss 0 : 1 - Dice(y,z) loss0 = loss_functions.ideal_loss(z, y, mask=mask) logger.info('Tloss = {}'.format(loss0)) ## loss2: squared difference with ztilde loss1 = loss_functions.anchor_loss(z, y, mask=mask) logger.info('SDloss = {}'.format(loss1)) ## loss3: laplacian loss loss2 = loss_functions.laplacian_loss(z, y, mask=mask) logger.info('LAPloss = {}'.format(loss2))
from rwsegment import io_analyze from rwsegment import rwsegment from rwsegment.rwsegment import BaseAnchorAPI reload(rwsegment) import segmentation_utils reload(segmentation_utils) from segmentation_utils import load_or_compute_prior_and_mask from segmentation_utils import compute_dice_coef import config reload(config) from rwsegment import utils_logging logger = utils_logging.get_logger('autoseeds', utils_logging.DEBUG) class Autoseeds(object): def __init__(self): self.labelset = np.asarray(config.labelset) self.nlabel = len(self.labelset) self.force_recompute_prior = False self.force_recompute_edges = False self.step = [5, 10, 10] self.sizex = 24 self.params = { 'beta': 50, # contrast parameter
import segmentation_utils reload(segmentation_utils) from segmentation_utils import load_or_compute_prior_and_mask from segmentation_utils import compute_dice_coef from svm_rw_api import MetaAnchor import config reload(config) from rwsegment import utils_logging logger = utils_logging.get_logger("batch_rwpca", utils_logging.INFO) class SegmentationBatch(object): def __init__(self, prior_weights, name="constant1"): self.labelset = np.asarray(config.labelset) self.force_recompute_prior = False self.model_name = name self.params = { "beta": 50, # contrast parameter "return_arguments": ["image", "impca"], # optimization parameter "per_label": True, "optim_solver": "unconstrained",
reload(rwsegment) reload(loss_functions) reload(prior_models) import segmentation_utils reload(segmentation_utils) from segmentation_utils import load_or_compute_prior_and_mask from segmentation_utils import compute_dice_coef import config reload(config) from rwsegment import utils_logging logger = utils_logging.get_logger('segmentation_batch',utils_logging.INFO) class SegmentationBatch(object): def __init__(self, prior_weights=[1.,0,0], name='constant1'): self.labelset = np.asarray(config.labelset) self.model_name = name self.force_recompute_prior = False self.params = { 'beta' : 50, # contrast parameter 'return_arguments' :['image','y'], # optimization parameter 'per_label': True, 'optim_solver':'unconstrained', 'rtol' : 1e-6,
from rwsegment import io_analyze from rwsegment import rwsegment from rwsegment.rwsegment import BaseAnchorAPI reload(rwsegment) import segmentation_utils reload(segmentation_utils) from segmentation_utils import load_or_compute_prior_and_mask from segmentation_utils import compute_dice_coef import config reload(config) from rwsegment import utils_logging logger = utils_logging.get_logger('autoseeds',utils_logging.DEBUG) class Autoseeds(object): def __init__(self): self.labelset = np.asarray(config.labelset) self.nlabel = len(self.labelset) self.force_recompute_prior = False self.force_recompute_edges = False self.step = [5,10,10] self.sizex = 24 self.params = { 'beta' : 50, # contrast parameter
import numpy as np import sys from rwsegment import rwsegment from rwsegment.rwsegment import BaseAnchorAPI from rwsegment import loss_functions reload(rwsegment) reload(loss_functions) from rwsegment import utils_logging logger = utils_logging.get_logger('svm_rw_api', utils_logging.DEBUG) ## combine all prior models class MetaAnchor(): def __init__( self, prior, prior_models, prior_weights, loss=None, loss_weight=None, image=None, ): self.prior = prior self.prior_models = prior_models self.prior_weights = prior_weights self.loss = loss self.loss_weight = loss_weight self.image = image self.labelset = prior['labelset']