Example #1
0
def changeptree(request):
    print('here is changeptree~~~~~~~~~~~~~~~~~~~~~')
    global ADRESS
    global ProcessTree
    global inputname
    global ConvertTree
    inputname = uploadview.getlogname()
    logadr = './media/log/input_log'
    ADRESS = logadr
    log = infra.recieve_and_convert_log.convert_log(logadr, logname, logtime,
                                                    logtran, logstart,
                                                    logcompl, logreso, logid,
                                                    inputname[-3:])
    #ptree = infra.recieve_and_convert_log.get_processtree(log)
    ptree = request.POST.get('ptree')
    #print(ptree,'here is ptree')
    k = 0
    for i, ele in enumerate(ptree):
        if i < k:
            #print(i,k,"ik")
            continue

        if ele == "'":
            #print("left")

            for j, ele in enumerate(ptree[i + 1:]):
                #print(ele,"ele")
                if ele == "'":
                    #print("right")
                    k = i + j + 2
                    #print(k,ptree[k],"line49")
                    break
                if ele == " ":
                    #print("space")
                    b = list(ptree)
                    b[i + j + 1] = '$'
                    ptree = ''.join(b)
    treelist = ptree.split(" ")
    treelist1 = []
    for ele in treelist:
        ele1 = ele.replace('$', ' ')
        treelist1.append(ele1)

    processtree = infra.recieve_and_convert_log.convertptree(
        treelist1, None, 0)
    gviz = pt_visualizer.apply(
        processtree,
        parameters={
            pt_visualizer.Variants.WO_DECORATION.value.Parameters.FORMAT: "png"
        })
    ConvertTree = 1
    ProcessTree = processtree
    pt_visualizer.save(gviz, "DES1/static/ptree.gv.png")
    window = 1

    return render(request, 'processtree.html', {
        'gviz': gviz,
        'ptree': ProcessTree,
        'window': window
    })
def display_process_tree():
    parameters = {
        pt_visualizer.Variants.WO_DECORATION.value.Parameters.FORMAT: "SVG"
    }
    gviz = pt_visualizer.apply(settings.PROCESS_TREE, parameters=parameters)
    log_name = settings.EVENT_LOG_NAME
    log_name = log_name.replace(" ", "")
    tree_path = os.path.join(settings.TREE_PATH, f"{log_name}.SVG")
    pt_visualizer.save(gviz, tree_path)
    return tree_path
Example #3
0
def save_vis_process_tree(tree, file_path):
    """
    Saves the visualization of a process tree

    Parameters
    ---------------
    tree
        Process tree
    file_path
        Destination path
    """
    format = file_path[file_path.index(".") + 1:].lower()
    from pm4py.visualization.process_tree import visualizer as pt_visualizer
    parameters = pt_visualizer.Variants.WO_DECORATION.value.Parameters
    gviz = pt_visualizer.apply(tree, parameters={parameters.FORMAT: format})
    pt_visualizer.save(gviz, file_path)
Example #4
0
def save_vis_process_tree(tree: ProcessTree, file_path: str):
    """
    Saves the visualization of a process tree

    Parameters
    ---------------
    tree
        Process tree
    file_path
        Destination path
    """
    format = os.path.splitext(file_path)[1][1:]
    from pm4py.visualization.process_tree import visualizer as pt_visualizer
    parameters = pt_visualizer.Variants.WO_DECORATION.value.Parameters
    gviz = pt_visualizer.apply(tree, parameters={parameters.FORMAT: format})
    pt_visualizer.save(gviz, file_path)
Example #5
0
def save_graph_file(type, gviz, path):
    if type == "alpha":
        pn_visualizer.save(gviz, path)
    elif type == "heuristic-heu-net":
        hn_visualizer.save(gviz, path)
    elif type == "heuristic-pet-net":
        pn_visualizer.save(gviz, path)
    elif type == "dfg-discovery-frequency":
        dfg_visualization.save(gviz, path)
    elif type == "dfg-discovery-active-time":
        dfg_visualization.save(gviz, path)
    elif type == "dfg-discovery-pet-net":
        pt_visualizer.save(gviz, path)
    elif type == "inductive-miner-tree":
        pt_visualizer.save(gviz, path)
    elif type == "inductive-miner-petri":
        pn_visualizer.save(gviz, path)
Example #6
0
def processtree(request):
    print('here is processtree~~~~~~~~~~~~~~~~~~~~~')
    global ADRESS

    logadr = ADRESS

    gviz = pt_visualizer.apply(
        ProcessTree,
        parameters={
            pt_visualizer.Variants.WO_DECORATION.value.Parameters.FORMAT: "png"
        })
    Evaluation = infra.recieve_and_convert_log.gettreeinfo()[0]
    Loopdict = infra.recieve_and_convert_log.gettreeinfo()[1]
    pt_visualizer.save(gviz, "DES1/static/ptree.gv.png")
    window = 0

    return render(
        request, 'processtree.html', {
            'gviz': gviz,
            'ptree': ProcessTree,
            'evaluation': Evaluation,
            'loopdict': Loopdict,
            'window': window
        })
from pm4py.algo.discovery.inductive import algorithm as inductive_miner
from pm4py.visualization.petrinet import visualizer
from pm4py.algo.enhancement.decision import algorithm as decision_mining
from pm4py.visualization.decisiontree import visualizer as tree_visualizer
from pm4py.algo.enhancement.decision import algorithm as decision_mining
import numpy as np
from pm4py.objects.process_tree import pt_operator
from enum import Enum
log = xes_importer.apply(
    '/Users/jiao.shuai.1998.12.01outlook.com/code/07.01.2021/DES1/testfile/test.xes'
)
'''
dataframe = log_converter.apply(log, variant=log_converter.Variants.TO_DATA_FRAME)
dataframe.to_csv('/Users/jiao.shuai.1998.12.01outlook.com/code/07.01.2021/DES1/testfile/running-example.csv')
'''
'''
tree = inductive_miner.apply_tree(log)
gviz = pt_visualizer.apply(tree, parameters={pt_visualizer.Variants.WO_DECORATION.value.Parameters.FORMAT: "png"})
pt_visualizer.save(gviz,"/Users/jiao.shuai.1998.12.01outlook.com/code/07.01.2021/DES1/testfile/ptree.png")
'''

hw_values = sna.apply(log, variant=sna.Variants.HANDOVER_LOG)
gviz_hw_py = sna_visualizer.apply(hw_values,
                                  variant=sna_visualizer.Variants.PYVIS)


#sna_visualizer.view(gviz_hw_py, variant=sna_visualizer.Variants.PYVIS)
#sna_visualizer.save(gviz_hw_py,"/Users/jiao.shuai.1998.12.01outlook.com/code/07.01.2021/DES1/testfile/handover.png")
def findlabel(tree, list):
    if tree.children != []:
        for child in tree.children: