Hi Steve,
I am glad you brought up the 2d picture transforms as that area is probably a good area to discuss in relation to causality.
It is interesting that whatever picture we take with our camera and upload to the computer can be regarded as having happened in the past. Thus when we go to perform some mathematical operations on the picture we might say that all of the data is in the past so we never have to look to the real future. Maybe this is why i read about an ongoing debate regarding what causality really is, or maybe it has to fall within a certain context in order to be classified correctly.
Taking that same picture and performing some sort of enhancement we have to read through the data scan line by scan line, but the human eye/mind sees the picture in true 2d so we cant just scan through each line one by one because the lines translate to the real world not only as being organized as successive lines stuck end to end but also as lines one very close to the other where there are important relationships between vertical pixels as wells as the horizontal (scan line) ones. This means we must look ahead, on the order of at least one more scan line, in order to render something which the 2d human eye/mind will interpret as somehow better or at least different. This of course suggests non causality. We cant just look at pixel x,y, we have to also look at pixel x+1,y, and even x,y+1 or x+1,y+1, which means we may be looking at pixels linearly far away from the first one which may be interpreted as in the future. That's because the human eye/mind wont be able to stand an algorithm which just operates on one pixel at a time (for this kind of enhancement). So i think we can se that is not causal. If we did have an algorithm that could operate on only one pixel at a time i think we could say it was causal. That would be maybe a color adjusting algorithm for example, where the human perception works on a point by point basis rather than spatial.
The above description where we consider the current pixel to be the present and any others to be in the future i think is the correct perspective. The perspective where the picture is completely in the past i think is more for the world philosophers than the engineers.
We could also consider a camera that takes the picture one scan line at a time and uploads each pixel one at a time in sequence. Now it becomes impossible to enhance the photo with only the current pixel in hand. We have to wait for future values to come in. But does that mean it is not causal? Once we do get those values we can do the required work, we just have to wait longer.
The other definition i have read now is that a causal system output does not change without a change to the input. There's no mention about future values. If the output does not change with no input but only changes when there is an input, then it is causal.
Your thoughts appreciated