# Producing suitable bitmaps

`atlc` expects to find the transmission line's cross section to be found in a standard bitmap (.BMP or .bmp) file. There are several forms of bitmaps, some grayscale, some 8-bit colour (256 colours), some 16 bit colour, some 24-bit colour. Some bitmaps are compressed. `atlc` expects to see uncompressed 24-bit bitmaps. This may sound restrictive, but in practice most graphics software can save such files. Since the form of the input file is critical, we will discuss this a little. 24-bit images have 8 bits per colour (8 for red, 8 for green and 8 for blue). Hence there are 256 shades of red, 256 shades of green and 256 shades of blue, giving a total of 256*256*256=16,777,216 possible colours. It follows that 3 bytes of data are needed to describe each pixel (ignoring compressed images which are not supported). Each bitmap has a small header of around 56 bytes, followed by 3 bytes for every pixel. The minimum possible length for a bitmap of x by y pixels is then 56+3*width*height (bytes). In practice, images are usually a little larger than this, as there is some padding. If your images are not at least this size, something is wrong! For a more detailed discussion of bitmap files (unnecessary for using `atlc`), see this HTML page I found on the web somewhere.
Colours in bitmap files are often written as red,green,blue as in 26,239,179 indicating the amount of red (26), the amount of green (239) and the amount of blue (179). Amounts vary from 0 (none of the colour) to 255 (the maximum possible amount of the colour. Often the colours are written in hexadecimal format as 0x1aefb3 or 0x1AEFB3. Such a colour will look like this.
It is absolutely essential that you are able to produce bitmap images with exactly the colours `atlc` needs.
One conductor must be produced in pure red. i.e 255,0,0 or 0xFF0000. This red will look like the red square on the left. The one on the right is very slightly different, having a very small amount of blue, and so has the colour representation 255,0,1 or 0xFF0001. The colour on the left will be interpreted by `atlc` as one conductor, the one on the right will not. Hence it is essential to check the colours produced by your graphics package not only look about right, but are exactly right.

Graphics packages such as Gimp (freely available for no cost on UNIX systems) will allow you to set a colour precisely.
You then need to draw an image of the cross section of the transmission line to be analysed. The scale can be anything you reasonably want, but should result in the largest dimension in your transmission line have 200 or more pixels allocated to it. Making the bitmap much smaller (say 32 pixels in one dimension) will results in fast but inaccurate results. Much larger bitmaps, say 1000x1000, will take a long time to compute. The bitmaps don't have to be square. You should aim to fill the whole of the bitmap with the relevant details, and not have a lot of unused space on the bitmap. For example, the image on the left below is fine, but the one on the right will spend a lot of time computing nothing of value.

# Predefined colours in `atlc`

The input file to atlc, which is a bitmap, must have the correct colours to indicate what parts of the image are conductors and dielectrics. Parts at ground (0 V) potential must be drawn green, those at +1 V must be drawn red and those at -1V must be drawn blue. Only red and green are noramlly used for conductors, with blue being used only on couplers. Vacuum dielectric must be drawn white. Many other colours have very specific meanings as shown below.

The following colours are predefined in `atlc`. These can be used, without the user specifying what they mean.

## Predefined conductors

Red live conductor RGB=0xff0000 rgb=255,0,0 | Green ground conductor RGB=0x00ff00 rgb=0,255,0 | Blue -1v conductor RGB=0x0000ff rgb=0,0,255

The following dielectrics are pre-defined.

## Predefined dielectrics

White er=1.0 Vacuum RGB=0xffffff RGB=255,255,255 | Pink er=1.0006 Air RGB=0xffcaca RGB=255,202,202 | Light Blue er=2.1 PTFE RGB=0x8235ef RGB=130,52,255 | Gray er=2.2 RT duroid 5880 RGB=0x8e8e8e RGB=142,142,142 | Mauve er=2.33 Polyethelene RGB=0xff00ff RGB=255,0,255 |
Yellow er=2.5 Polystyrene RGB=0xffff00 RGB=255,255,0 | Sandy er=3.3 PVC (at 1MHz) RGB=0xefcc1a RGB=239,203,27 | Brown er=3.335 Epoxy resin RGB=0xbc7f60 RGB=188,127,96 | Light yellow er=3.7 FR4 PCB RGB=0xdff788 RGB=223,247,136, | Terquoise er=4.8 Fibreglass PCB RGB=0x1aefb3 RGB=26,239,179
Dark grey er=6.15. RT duroid 6006 RGB=0x696969 RGB=142,142,142 | Light gray er=10.2 RT duroid 6010 RGB=0xdcdcdc RGB=240,240,240 | Dark Orange er=100 Er of 100.0 RGB=0xd5a04d RGB=213,160,77

Note, the permitivity of free space (vacuum) is by definition 1.0. Air is very close to 1, but depends on pressure and temperature. Although the difference in permittivity between air and vacuum is smaller than the errors in `atlc`, having another permittivity very close to 1.0 is useful, as for test purposes. The figures for the plastics given above are only approximate. The permittivity of plastics are usually frequency dependant and temperature dependant.

## Entering the permittivity of other materials into `atlc`

If you know the exact value of your dielectric material, draw the dielectric in a new colour, but define the colour with a command line option. For example, if your transmission line has a dielectric of 2.42 somewhere, then you must

1. Draw the image, using a different colour (say a golden colour with RGB=0xf9e77d or in decimal RGB=249,231,125)
2. Run `atlc` with the following command line option.
   % atlc -d f9e77d=2.43 somefile.bmp

this sets the colour f9e77 in somefile.bmp to reresent a permittivity of 2.43.

atlc is written and supported by Dr. David Kirkby (G8WRB)

Return to the atlc homepage