ImageTank has a lot of built in actions, but there will always be things that it can’t do. In particular, ImageTank is meant as a high level programming environment, and to cover custom actions it has methods to call external programs. The primary way to add your own is through […]

## Convergence test

Summary Many numerical methods depend on a parameter like step size or grid size and the smaller the step size the higher the accuracy. Running a convergence test and determining the order of the method is a good way to verify that you implemented a numerical method properly and see […]

## Plane in 3D

What this variable type does is to define a two dimensional coordinate system in a plane. To do that you need an origin O and two orthonormal vectors u and v. Any point in the plane can be written as O + a· u + b· v, and corresponds to […]

## Variable Types

There are a number of variables defined in ImageTank. Some of them can be objects in the variable list, but some can only be member variables in a Group variable. Stand-alone variable types Space – 2D Image: One or more channels. The data is defined on a grid in space, […]

## Variable Overview

Compared to standard programs Variables are the primary ways you perform calculations in ImageTank. In some ways they are similar to variables in a standard programming language like C, C++, Python etc. But they combine data and computation. Take a simple example a hypothetical programming language file = openFile(“/tmp/test.csv”) table […]

## Simple Debugging

One of the goals of the external program method is to simplify the creation and development of numerical codes. In particular it is designed around the following programming methodology. Set up a sample data set in ImageTank. Create an object using an External Program module that takes in the input […]

## DTSource Basics

DTSource stands for DataTank Source library and has been around for a while. There are several parts to this class library Array classes: C++ does not have a proper multi-dimensional array class, and since those are absolutely crucial in numerical everyone ends up having to depend such a library. Rather […]

## Newtons method in 2D

Summary This is a little bit more involved example than the previous examples. This shows an example where ImageTank performs built in calculations to come supporting graphics, draws something rather than just using the monitor or DataGraph and allows you to interact with the graphic and not just type in […]

## Fixed Point Iteration

Summary Numerical methods often involve an iterative process that converges to the solution. Newton’s method converges to a root of a function and it does that by creating an iterative process xNew = xOld – f(xOld)/f'(xOld). That is xNew = g(xOld) where g is an analytical function. In this example […]

## Newton’s Iteration

Summary Newton’s method is a powerful method to find the root of an analytic function. It’s condition is that you must be able to calculate the derivative of f(x) at every point. Newton’s method converges quickly for starting values near the root but becomes chaotic as you start further away […]