Progress has been slow.Partly because I’ve been moving code around so it makes more sense – more for my own piece of mind rather than anything else. However, I also have been aware that sizing images using the slider was painfully slow. This is because I was processing and cropping with every step. Now, the image is cropped and scaled live by nesting elements inside each other and scaling those. This gives a much faster result than before.
The other thing that has been bugging me with this was the UI for positioning images. Before, I was using sliders controlling the size of the images, and the gap between them. It seemed to me that, really, that should be a mouse drag operation, so I spent a fair amount of time finding out what was needed to make that happen, and get that working.
And, finally, yes, there are undos. Not for everything yet, but I’ve started adding that in. An undo requires you to give the application a route forward (ie the change the user is making), and a route back to the previous state. It sounds more complicated than it actually seems to be, but everything needs coding for, and it’s a bit of a faff to do. Maybe I’ll find that I can bunch a few of these operations into one in the future, but for now, it seems to be working well as it is.
It has been a while since I looked at this, because I get distracted, and there are also times when other things need my attention. However, this has been in the back of my mind for a while, so I took another look at it. This is where I am right now. The application will take an MPO file, split it up, and create a Holmes Card type image from it. It will also take an image with both left and right images side by side, and split that in two as well, so images from real film cameras can be brought in.
But It’s All Wrong!
Actually, what brought me back to this was the niggle that really this should be working at the document level. Making it work on documents would allow me to (eventually) get it to save the file for future loading and editing. So I’ve started on that. I realised that I had made some fundamental mistakes which need sorting out too, so more time has been spent on getting that fixed than anything else.
Right now, I have something that is part way to what you see in the video. This time, you can create a new document in a new tab and work on that. It’s now possible to have more than one card being worked on at once. I have a few more things to add in – the selectors at the bottom for cards, shapes and filters aren’t there yet, as well as finish up the existing image controls to the right. Once that’s done, I can think about saving and loading, which I expect will be a Google-busting marathon of searching and reading.
Feeling rather pleased with this today. I’ve been doing some UI refinements, most of which has needed work in the background which haven’t really had much front-facing action. However, the screen shot shows what’s been achieved.
Most importantly (for me), the selections for the various card settings has been moved from sheets that appear to a carousel kind of selection at the bottom of the window. It’s now a case of scrolling and clicking, and the result is shown instantly. Importantly, for me, is that the filters selection uses the image the user is working on, rather than a dummy image. This also reflects the zoom setting as well. In fact, any of the image control options will also feed into these filters, so the user always sees a quick view of what the main image will look like. I’m rather pleased I managed to do this. Again, I’m thinking “this will be really hard to do” and surprising myself that, in most cases I just need make a small adjustment to existing code.
I’ve also been playing the Core Image filters to make more effects. Not too sure if I like the results yet, but I’m sure I can refine them.
Still not even thought about the “save this as a document” option yet – but I do feel that needs to happen. I’ll need to hit Google a lot of that, I think.
I bit the bullet. After some thought, I decided that it was better to present the options in a pane below the card preview, rather than have the slide over and back. The reduces the number of mouse clicks from three to one to see the result of the chosen option. This brings it into line with the controls to the right which are as instant as I can make them. A much better experience, I believe.
Next – clean up the presentation of the thumbnails (they all have to occupy the same vertical space now), remove some buttons and look at what happens when the window is resized (which isn’t great at the moment).
Things have moved on a bit since the last post on this subject. The first thing that is noticeable is that it looks much more like a proper application. The tools to the right are lined up better, and when the window is resized, the window’s contents don”t completely fall apart!
After my last post, I’ve been looking at a number of GUI tools that I can use to create a control system in Python. I finally settled on WXGlade, simply because it’s pretty much as close to what I am familiar with as I can get.
I say “as familiar with” because the way it works seems to be much the same way that web sites were once constructed – by using tables to handle the layout. This seems to be the way of things with this kind thing in the world of Python, and it seems to be that it works this way because that’s how people choose to work. So no dragging elements around like you would, say, in Xcode on a Mac when creating a UI for a phone or desktop machine. Continue reading Stereo Camera UI→
Since the last post, I’ve made more progress – which I guess is a good thing. The actual results of the so-called camera have not changed, but things have changed to speed it up.
Firstly, I have a new Raspberry Pi (a birthday present from my wife who feels I need more encouraging) – this is a model 3 B, so it has a quad-core processor, is faster and has more USB ports – allowing me to connect all the cameras AND a keyboard at once. It also has WiFi built-in, so it’s suddenly portable – I’m not restricted to where the Ethernet cable will let me go. Continue reading More on the Stereo Camera→
This is an experiment that I have been thinking about for a while (and I expect I am not the first person to have a stab at this). I wanted to see if I could make a stereo camera with a Raspberry Pi and a couple of web cameras. As I already had a Playstation 3 camera and I found another in second-hand shop for £1.50, I decided that this would be the best option to see if the thing would work. The PS3 cameras are a bit rubbish, and output to 640×480 pixels, so the images aren’t great (I’m scaling them up at the moment to the target size, eventually better cameras will result in scaling down which will give better results). Continue reading Raspberry Pi Based Stereo Camera – Testing Ideas→