def process(self, order = <NUM_LIT>, solution = solve_type.FAST, collect_dynamic = False):
if (self.__ccore_network_pointer is not None):<EOL><INDENT>analyser = wrapper.hsyncnet_process(self.__ccore_network_pointer, order, solution, collect_dynamic);<EOL>return syncnet_analyser(None, None, analyser);<EOL><DEDENT>number_neighbors = self.__initial_neighbors;<EOL>current_number_clusters = float('<STR_LIT>');<EOL>dyn_phase = [];<EOL>dyn_time = [];<EOL>radius = average_neighbor_distance(self._osc_loc, number_neighbors);<EOL>increase_step = int(len(self._osc_loc) * self.__increase_persent);<EOL>if (increase_step < <NUM_LIT:1>):<EOL><INDENT>increase_step = <NUM_LIT:1>;<EOL><DEDENT>analyser = None;<EOL>while(current_number_clusters > self._number_clusters):<EOL><INDENT>self._create_connections(radius);<EOL>analyser = self.simulate_dynamic(order, solution, collect_dynamic);<EOL>if (collect_dynamic == True):<EOL><INDENT>if (len(dyn_phase) == <NUM_LIT:0>):<EOL><INDENT>self.__store_dynamic(dyn_phase, dyn_time, analyser, True);<EOL><DEDENT>self.__store_dynamic(dyn_phase, dyn_time, analyser, False);<EOL><DEDENT>clusters = analyser.allocate_sync_ensembles(<NUM_LIT>);<EOL>current_number_clusters = len(clusters);<EOL>number_neighbors += increase_step;<EOL>radius = self.__calculate_radius(number_neighbors, radius);<EOL><DEDENT>if (collect_dynamic != True):<EOL><INDENT>self.__store_dynamic(dyn_phase, dyn_time, analyser, False);<EOL><DEDENT>return syncnet_analyser(dyn_phase, dyn_time, None)<EOL>
!
        @brief Performs clustering of input data set in line with input parameters.

        @param[in] order (double): Level of local synchronization between oscillator that defines end of synchronization process, range [0..1].
        @param[in] solution (solve_type) Type of solving differential equation.
        @param[in] collect_dynamic (bool): If True - returns whole history of process synchronization otherwise - only final state (when process of clustering is over).

        @return (tuple) Returns dynamic of the network as tuple of lists on each iteration (time, oscillator_phases) that depends on collect_dynamic parameter. 

        @see get_clusters()