Module Streamlines__.Trace

Copyright (C) 2017-2018,  Colin P Stark and Gavin J Stark.  All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * @file   trace.ml
 * @brief  Trace workflow
 *
module Option = Batteries.Option

Types

type t_data = {
properties : Streamlines.Properties.t_props;
props : Streamlines.Properties.t_props_trace;
}

t_data

Structure for the Trace workflow

pv_verbosity functions

val pv_noisy : t_data ‑> (unit ‑> unit) ‑> unit

pv_noisy t

Shortcut to use Trace.t_data verbosity for Properties.pv_noisy

val pv_debug : t_data ‑> (unit ‑> unit) ‑> unit

pv_debug t

Shortcut to use Trace.t_data verbosity for Properties.pv_debug

val pv_info : t_data ‑> (unit ‑> unit) ‑> unit

pv_info t

Shortcut to use Trace.t_data verbosity for Properties.pv_info

val pv_verbose : t_data ‑> (unit ‑> unit) ‑> unit

pv_verbose t

Shortcut to use Trace.t_data verbosity for Properties.pv_verbose

Seed functions

val create_seeds : t_data ‑> Streamlines.Core.t_core_data ‑> (float, Bigarray.float32_elt, Bigarray.c_layout) Bigarray.Genarray.t

create_seeds

Generate an N by 2 matrix, of seed vectors for every unmasked ROI (x,y) (in unpadded coordinates)

val trace_streamlines : t_data ‑> Streamlines.Pocl.t ‑> Streamlines.Core.t_core_data ‑> ('a'bStreamlines__.Integration.ODM.t ‑> Streamlines.Core.t_trace_results

trace_streamlines t pocl data seeds

Trace up or downstreamlines across region of interest (ROI) of DTM grid with the given seeds.

The seeds are a big array of unpadded (x,y) ROI locations

Workflow functions

val create : Streamlines.Properties.t_props ‑> t_data

create props

Create the Trace workflow data from its properties

val process : t_data ‑> Streamlines.Pocl.t ‑> Streamlines.Core.t_core_data ‑> Streamlines.Core.t_trace_results

process t pocl data

Run the Trace workflow

This traces all the streamlines both upstream and downstream, and derive means streamline point spacing.