This is a multi-part message in MIME format. ------=_NextPart_000_0022_01C0B4B3.81B14D00 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Thought this may be of interest to some. Don't know if anyone here is playing with tomography (ala CAT or CT scans). A friend is starting to and this is his first result. Interesting how much quicker he gets than real iron of a few years ago by using some intelligence and a modernish processor. regards Russell McMahon _____________________________ > Russell, > > Thought you might like to see my first tomographic reconstruction using > filtered back-projection. > > The original object slice was a 16x16 array with a 4x4 black/white > checkerboard pattern. It was scanned at 128 angles (equally spaced over a > range of 180 degrees) using 16 parallel beams, and reconstructed as a 64x64 > array. Note that the reconstructed image looks best when viewed at 25% of > actual size since this is the size of the original slice data (the > interpolation to 64x64 adds no image information). > > Reconstruction takes about 3.4 seconds on my 450 MHz PIII using 6-byte reals > and 1.4 seconds using floats native to the 8087. With native 8087 floats > and runtime range-checking off it takes 0.44 seconds. > > In 1995 the original implementation in Matlab took over 12 minutes on a Sun > Sparc 10, 2.74 seconds on an Intel Paragon (16x i860's running parallel > Fortran) and 3.29 seconds on a Connection Machine Model CM5 (512 processors > running parallel Fortran). > > The reason that I seem to have done so much better is that the original > implementations were coded "naively" with all processing done in the inner > of three nested loops: > > for x_index = 1 to 64 > for y_index = 1 to 64 > for angle_index = 1 to 128 > evaluate f (x_index, y_index) > > In my implementation, I have moved as much processing involved in the > evaluation of f (x,y) to the outermost loop possible, and used > pre-calculated trig functions stored in look-up tables. With a bit of extra > effort I'm sure I could do better still. > > I am slowly coming to terms with the maths (its not as simple as the toy > demo on the web might suggest) and believe it should also be possible to do > better in terms of the quality of the reconstructed image. > > Regards, > > Ken ------=_NextPart_000_0022_01C0B4B3.81B14D00 Content-Type: image/bmp; name="test.bmp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test.bmp" Qk02FAAAAAAAADYEAAAoAAAAQAAAAEAAAAABAAgAAAAAAAAQAAAAAAAAAAAAAAABAAAAAQAAAAAA AAEBAQACAgIAAwMDAAQEBAAFBQUABgYGAAcHBwAICAgACQkJAAoKCgALCwsADAwMAA0NDQAODg4A Dw8PABAQEAAREREAEhISABMTEwAUFBQAFRUVABYWFgAXFxcAGBgYABkZGQAaGhoAGxsbABwcHAAd HR0AHh4eAB8fHwAgICAAISEhACIiIgAjIyMAJCQkACUlJQAmJiYAJycnACgoKAApKSkAKioqACsr KwAsLCwALS0tAC4uLgAvLy8AMDAwADExMQAyMjIAMzMzADQ0NAA1NTUANjY2ADc3NwA4ODgAOTk5 ADo6OgA7OzsAPDw8AD09PQA+Pj4APz8/AEBAQABBQUEAQkJCAENDQwBEREQARUVFAEZGRgBHR0cA SEhIAElJSQBKSkoAS0tLAExMTABNTU0ATk5OAE9PTwBQUFAAUVFRAFJSUgBTU1MAVFRUAFVVVQBW VlYAV1dXAFhYWABZWVkAWlpaAFtbWwBcXFwAXV1dAF5eXgBfX18AYGBgAGFhYQBiYmIAY2NjAGRk ZABlZWUAZmZmAGdnZwBoaGgAaWlpAGpqagBra2sAbGxsAG1tbQBubm4Ab29vAHBwcABxcXEAcnJy AHNzcwB0dHQAdXV1AHZ2dgB3d3cAeHh4AHl5eQB6enoAe3t7AHx8fAB9fX0Afn5+AH9/fwCAgIAA gYGBAIKCggCDg4MAhISEAIWFhQCGhoYAh4eHAIiIiACJiYkAioqKAIuLiwCMjIwAjY2NAI6OjgCP j48AkJCQAJGRkQCSkpIAk5OTAJSUlACVlZUAlpaWAJeXlwCYmJgAmZmZAJqamgCbm5sAnJycAJ2d nQCenp4An5+fAKCgoAChoaEAoqKiAKOjowCkpKQApaWlAKampgCnp6cAqKioAKmpqQCqqqoAq6ur AKysrACtra0Arq6uAK+vrwCwsLAAsbGxALKysgCzs7MAtLS0ALW1tQC2trYAt7e3ALi4uAC5ubkA urq6ALu7uwC8vLwAvb29AL6+vgC/v78AwMDAAMHBwQDCwsIAw8PDAMTExADFxcUAxsbGAMfHxwDI yMgAycnJAMrKygDLy8sAzMzMAM3NzQDOzs4Az8/PANDQ0ADR0dEA0tLSANPT0wDU1NQA1dXVANbW 1gDX19cA2NjYANnZ2QDa2toA29vbANzc3ADd3d0A3t7eAN/f3wDg4OAA4eHhAOLi4gDj4+MA5OTk AOXl5QDm5uYA5+fnAOjo6ADp6ekA6urqAOvr6wDs7OwA7e3tAO7u7gDv7+8A8PDwAPHx8QDy8vIA 8/PzAPT09AD19fUA9vb2APf39wD4+PgA+fn5APr6+gD7+/sA/Pz8AP39/QD+/v4A////AGNlZ2ps bm9taGNeWldXWl9la3F3fH+Bg4SFhoeGhH96cmpiXFhVVFRVVVVVVldaXmVsdHuBhIeIiIiJiomI hoFlZmlrbW5uamRfWldWV1xjbHV+hoyQk5aYmpucm5iSioB2a2NdWFVUVFNTVFZaX2ZveYOLkpea m5qampqamJSOZ2lrbW9ua2diXFhVVVhfaHOAi5SboaWoq66wsrGspZuPgXRpYVtXVFNTUlJVWmNt eYaSnaWrrq+urayrqqeinGprbW9vbWllX1pVU1RZYW58ipahqa+0ub7CxcbFwLisno1+cWdeWVZU UlFRVFpjcYKToq64v8LCwb+9u7i0r6dsbW9vbWpnYlxWUlBTWmZ0g5Gfq7S8w8nP1NfZ2NLJvKya iXptY1tXVFJQT1JYYnGEmq++ydHU1NHOzMjEwLmwbm5ubWpnY15XUU5NU1xpd4aWpbG8xs7W3eLm 6Ofh18m3pJB/cWRbVVFOTExPVWBvg5u0ydjg5OPg3NjTzsnBt29ua2lnY15YUkxKTVNcaXeHl6a0 wczV3eTq7u/t5dnJtaCKeGldVE9LSEZGSlFcbYKas8vg7PHw7Obh3NfQx71tamdlYl5YUkxISUxR WmV0g5Sks8HO2ePq7/P08OfayLObhG9eUUhDQD8+P0NLV2h+l7HJ3/H5+vXv6ePc1MzBaGRiX1xX UkxHRkZITVVgbn6QorTE0t7n7vP29vHn2cewmH5oVUY8NjQzNDY7RVJjeZOtxtvt+/769O3m39fO w2NfXFpWUUxIRkRDRElQW2l6jqO2xtXh6/H19vTv5NbErpV6Yk08MCknKCsvNj9MXnSNqMDV5/T9 /Pbv6OHYz8NeWlhVUk5KSUZDQUJGTVhmeY6itsfW4uvx8/Pw6d/SwauSd11GMyUeHB8jKTI9Sllv iKK6z9/s9Pn27+jh2M/EWldVU1BNTUxIREJCRUtWZnmNobXG1eHo7Ozr5+HYzLynjnRaQi4eFhUY HygzP01bbIOcs8fX4+rv8e3m39fOwldWVVRTU1NRTUlGRUdMWWh6jKCzxNLc4ePh3trVzsS3pY93 XkYwIBYUFx8qNkRTYXGBlqu+zdjf4+bm4drTysBXV1hZWlxcWlVQTUtMU19tfI2gssLO1dbT0M7L x8O8sqSRfGVPOykdGRsjLz1MWml3hpOktMLM0tXX2tfSzMS7WlxfYWZpaWVgW1hWWV9odIGQoLC9 w8LAvry7urm2squgkYBtWkk6LykmLDdFVGNwfoqVnqu2v8PFxsjKxsK7s19jaG50d3d0bmlmZmht dH2Hkp+qraqoqKenp6ioqKWhmpGFdmdZTUVBPz9EUF5reIKMlZuhqrCztLS1t7e1sKplbHN8g4aH g356eXl6fIGHjZScmZSQjo+QkJKVl5iXlZKNh351bGVfXFtcXF9pdH6HjpSYmZygoqGgoaKlpKKe a3WAipGWl5SQjo6NjI2QkpSWjoR8d3V2d3p+goaJiYmIh4eGhIKAfXl4eXl3dn2Eio2RkpGOj4+N i4uMj5GSkXF+i5afpaakoqOioaCgoJ+cjn5yZ2BdXmBla3J4fH18fH+FjJOZm5uXlZSTj4mFiYuL i4qHgn18eXV1dnl9gIJ3hpShq7G0s7S2trWzsrCqmYRyYlRKRkVIT1lka3BycnN4go+erbe5tbCu rKWdk42Lh4SAe3RtaWVgX2BkaW90fIybqbS8wcHExsfGxMK9rZR8Z1RDNy8uMz5LVl5kZ2lrdYSV p7rO19TMx8K5rqOWi4J8dm9nXldSTUxNUVdfZn+Qoa+8xszO0tXW1dLOw6qQd2BKNygfHiUvO0ZP VlxhaHaKnrHF2Orv597Wyr6woY+AdWxjWVBIQjw7PUJIUVqBk6W0w87V2d7h4uHc1cKojnVdRi8f FxYZISw2P0ZQXGp9kqi8zuDv+vvw5tnLvKuWgG9jWExDOzUvLTA1PEZRg5aoucnW3ePn6+vo4dbA qI92XkUuHhYREBUeJy43RltwhpuxxdXk8Pf/+/Ll1sazm4JsXE5BODErJSMmLDQ+SoSYq77P3eTq 7vHx7OPTvqeQd2BIMyUZEAsLERggLUVedIyit8rZ5Ozx9/337N3MuJ+Fa1hHOS8pJR8eISgwO0eF mq7C1OLq7/P18+zh0LynkHplTz4vIRULBwcKFi9IX3WNprzO2eHl6e7z9u/i0buih2xWRDUrJiMe HSEoMTtHhpuwxdfm7vP29vPr3s67p5J+a1lLOyweEQcAARcwSWB2jqjA0Nba3ODl6e3s4tK8oods V0M1KyYkIiIlLDQ/SoecssbZ6O/09vTw59rLuqiVgnJkVkY2JxgKAQkZMUlhd5GqvcvQ0dPX3ODi 493OuaCGbFdFOC8qKSoqLTM7RVCGm7HF2Oft8PHv6eHVx7mol4Z4a15PPy4gFhcZIDFKYnmSp7S+ xsnKz9TW1tXRxbKbg2xaSj83MzM1Njk+Rk9ZhJiswNLh5efn5N/YzsO2qJiJfHBkVkY3LS8wMTE3 S2N7kZ2mrre+xMnMzMnEwbenk39sXlJKREFBREdJTVRcZH+SpbjJ19na2dbSzMS8sqWXiX1yZ1xQ RkVISUlKS05ke4WOl6GqsrzCxMG8tbCnmot8bmRdV1RSU1ZaXF9ka3F6ipusvMnJyMfEwby3squh lYl8cmlhXFteX2BhYmNkZW94goyVn6mzubi0raadlYyCeXJraWdlZWdrb3Bzdnt/coCPnqy3tbOw rqunpaSgmpKIfHNraGpwdHV2d3l7e29ja3V/iJKepqimopyUioJ9eXd2dHZ3eHp8gISFh4mLjWp2 gY2apKCbmJWSjo+RkZGNh394dXZ9hoyNjpGSkYV4a2JncHqEj5KRj4yHgXdxcXR4fH+EiIuOkpWZ m5ubm5pia3R+iZCKhH56d3R3fICFh4eFgoSKkpuipqiqp52OgnVnYGNsdnp6eHZzcGtkYmlyfISK kZieoqaqrq+vraqnXGNpcXp/eG9oYl1aXmVtdn6GjI+Vnqixt7zAvbSml4x/cGNeYWBgYV9dXFpW VFllc4CLk52mrrO4vMHCwLy3sVhdYWdtcWleVU1GQkZPWmd1hJOep7G8xcrO0Mu+rqGViHpsYVNL SElJR0ZFREpVY3SDkZumsbrBx8zR0s/IwblVWFteY2RdUUY8My4wO0lZbIKZrbrFztXZ2dbQxreq n5KEdmBLPjc1MzEvLzdFU2N0hZShrbrFzdTZ39/a0si+VFVXWVtbVEg8MCUeICk6TWWAm7fO2ODk 5OHa0cm+sqmej3pgSDcqJCAcGiMyQ1JjdIaXpbPBzdff5erp49rOwVRUVFZXVU9DNikeFhYdL0Vf fZu51+rv8Ozl3NPKxLyzppJ6YUk1JBgSCxEgMUJSYnSGmai2xdPf6O/y8Onf0cNVVFNUVFFLQDQn HBUUGSlBXHmXtdTv+vfx6eDXz8nCuaiReF9JMyASCAkXIzJCUmFyhZent8fX5O/1+PTs4dPCVVNT UlJOSD8zKB8YFxsmP1t4lbDM5/v/9+7l3NTMxLimj3ZdRzEcCwkUHyg0QlBfb4KVprfJ2un0+fr2 7eHSwVVTUlFQTEY+NCsjHx8jLD9ceZSux97w+/3z6eDWzMG0ooxzXEYvGhEXHyUsNkFOW2x+kqW3 yt3t9vn59ezf0cBVVFJRT0xGPzYvKSgqLzdEXHmTrMLW5vL39u3i1sm8rZyHcFpFLyMgIygsMDhC TVppfJCjtsvf7fP19fHo3M6+VlZVVFJPSkM7NjIzNj1FUF93j6W5ytnl7O/s49XEtaaUgWtWRDcy MTI0Njg9RU5aaXuOobTJ3Obr7e3p4tfKvFdaWlpYVVFLRT89P0RMVF5pdomdrr7L1t3i4t3RwbCd indkVEpFQ0JCQkFCRUpSXWp6i56xxtPb3+Hh3tjPxblaX2NjYmBcV1JMSk1TWmNrdH2Fk6OwvMbM 0dLOxbenlYJxYllVU1JSUlBOTU5SWWFseoqcrr3Gy8/Q0dDMxb+1XmZtcXFvbWhjXllbYWlweH6E iY2WoauzuLu8ubKnmox9cWllY2NjYmFfW1paXWFncHyKmqius7e6vb+/vbq3sGVveYKEg4J+eXRv bHF3foKHiouLi4+Wm5+ioqCbk4uCeXRyc3R0dHRyb2xpaWpscHZ/i5eZm52go6apq62urahseYaT mpual5ONiIOBhoqMjo2Lh4KAgIKFh4eGg398eXd4fICDhYaGhYJ+fHt6enx/hY2Lh4WGiIuOkpec n6CedIOSoq+0s7GtqKKclpOVlZSRi4R8dW9sa2xsbGxsbnJ2fISLkZSXmZeVkpCOi4qKi42GfHVx cHFzdnyEi5CTknuLna6+ycvJxsC6s6uknpuYkoqAdmxjXFhWV1daXmRrdH+Kk5uhpainpqWjoZ6c mpeLfG9mX1xcXWBpcnuBhYWBkqW4ydjg39vVz8e+tKuhmZGHe29jWE5HRENFSlJdaXaEkZ2mrbO2 t7e3trSxrqiZh3VmWlFLSUlPWGJrcnZ3hJerv9Hg7PHt59/XzcK2qpyOgnRnWUxBOTU1OD9KV2d3 iJimsbrBxcfJysvJxr2um4VxX1FFPTg7Q0tVXmRpaoearsLU5PH5+/Ts49jMv7Cgj31tXlBDOC8r Ky83RFRleIuerrrFzdPX2t3f3NPGs52GcFxLPTIxNDpCSlNZXV+Im6/C1OPw+v799Orf0sOzoo98 aVdIOzEpJiYqM0FSZXqOorPBzdff5Ont7ebby7egiHFcSTgxLzI2PERLUFRYiJquwdHg7PX6/Pnv 49XFtKGNeWVSQjUrJSMkKTNBU2d8kqa4x9Tf6O/09vPr38+6o4tzXUk7NDIyNTpARktQVYiarb/O 3Obv9Pb28ebXxrSgi3VgTTwvJR8eIio1RFZrgJWqvMzZ5e/1+fn17eHQvaaOdmBPQzo2NTY6P0RK UFaJmqy9zNjh6e3v7+3m2si1oYt1X0w7LSMeHSIqNkdab4SZrsHR3+ry+Pr59e3h0b+pknxpWEtC PDo6PEBGTVRaipqru8jT3OPm6Ojm4dfKt6KMdmBNPTAmISElLTlJXHCFm6/C0t/p8PT29fHp3tC/ q5eEcmJVSkRAP0BFTFRbYYmaqrjEztfc3+Hh39rSxrelj3lkUUI1LCgoLDM+TV9zh5uvwM/a4+ns 7ezo4tjMva2ci3trXlNLRkRGTFRcY2iImKe0wMnQ1NfY2NfTzMK1pJF9aVdIPDQwMTQ7RlRkdomb rbzI0trf4eHf3NfPxbqun5CBcmRZUEtKTVRcY2txhpSir7nBx8zOz8/OysS7sKKSgG9fUUY+Ozs/ RU9ca3uLm6q3wcjO0dPS0c7Kxb+3raCThXZpXVRQUFRbY2tyeIGOnKewt73Bw8PEwsC7s6qekYJ0 ZlpRSkdHSlBZZHF/jZqnsbm+wcPCwcC+vLm1sKiekoV3al9YVVZaYWhxeH4= ------=_NextPart_000_0022_01C0B4B3.81B14D00-- -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics