Spent much of today following up on yesterday's discovery of lens calibration procedures for Hugin, without coming to a conclusion.
First I tried the most promising approach, calibrate_lens_gui. Where are the
instructions? There's a bare-bones description online, but it doesn't match what Bruno Postle wrote:
When you do calibrate this lens, using four photos and rotating around the no-parallax
point,...
But the instructions for calibrate_lens_gui, like Terry Duell's tutorial, only talks about one image. Never mind: I can take four and try both approaches. Here
the photos:
Where do I go from here? First, of course, tell it what it can't know, that it's a circular
fisheye lens with focal length 4 mm and maximum aperture (is that what it's asking for?) of
f/2.8. To do anything more I need to select Add and discover that it doesn't respect
the working directory from which I started it. After climbing the directory tree and
selecting my images, select Find lines. That comes up with the information
“Finished”. But it lies. It didn't find any lines, but it's too polite to say so.
Not until I select Optimize do I see:
OK, I'll bite. Which parameters? How should I change them? After messing around a bit,
discovered that I had to drastically reduce the line length, from 0.3 to 0.05 (of the image
width). Then I got barrel distortion (parameter b to which Bruno referred), but not
the others:
That looks better. Save the “lens”. How about in /var/tmp? More tree climbing, and
I had a description file that seemed to make
sense, though it didn't mention the name of the lens. Save to database? Sure:
Well, I can save the distortion, but not the vignetting. No worries. But Now the name of
the lens is there! And it saves the information to the DistortionTable in the
database (here a .dump):
CREATE TABLE LensProjectionTable (Lens TEXT PRIMARY KEY, Projection INTEGER);
INSERT INTO LensProjectionTable VALUES('7Artisans fisheye',2);
That HFOV (clearly horizontal field of view) 354.665887987831695 has nothing to
do with the hfov=247.899 in the text version. But the latter value corresponds almost
exactly to my fov program. Why the difference?
The values in LensCropTable have little to do with what I established
on Wednesday. Width and Height are the raw dimensions of the image:
I thought that VignettingTable had an error, but the values 2.79999995231628417
and 5.59999990463256835 are just Hugin's way of writing f/2.8 and f/5.6. They
must come from different places: f/2.8 is the maximum aperture, and f/5.6 is the
aperture that I have used for all photos so far. Potentially that's the result of me
entering f/2.8 at the start. It's not even clear why there's an entry, since all the
parameters are 0.
Where are my lens parameters? There's nothing there! They're there in the text
version, but I don't see anything here. And as already mentioned, the text version
omits the lens name.
On repeating the operation, I got completely different results. Here the first and
second times:
Nowhere did I see a method to select “fisheye type”.
Started trying to run the calibration according to Terry Duell's tutorial, but it wanted to
select control points manually, something that's almost impossible with this lens.
So where are we? We seem to have at least three different ways to calibrate a lens, all
incomplete:
Terry Duell's version, now out of date.
Optimize via the Mask/Crop tab, which only sets the crop.
Run calibrate_lens_gui, which doesn't even agree with itself.
Maybe Bruno's version is different from all of these. It promises the choice of
different kinds of fisheye projections. Potentially that's hidden in the Hugin
menus, and that's what I'll try tomorrow.
I had never expected that tightening the tripod screw could do that. It's not clear when
this happened: the tripod plate has been on the camera for months, maybe years.
A discussion about virtualization on IRC today. I mentioned that the only way I have got
VirtualBox networking to work
was with a bridged adapter. Callum Gibson uses some form of NAT, something that has
never worked for me. It seems that I need a dedicated adapter for that: not a problem,
since the machine has two adapters. I'll get details from Callum when he's back at work.
In the process, fired up despise for the first time in 9 months. Once again network
problems, but they only started after the VM was up and running. Maybe that's a clue.
It hasn't been an overly hot summer, but tonight was definitely cool. The news media
reported it: in Melbourne they
recorded the lowest February temperature ever, 9.9°. But we outdid them by a significant
margin with a lowest temperature of 2.8°.
Yes, that's not as low as some locations in the hills mountains, where they had
snow, but we're only 350 m above sea level. But it's 0.9° lower than the minimum measured
in Ballarat, which is usually
cooler.
Of course, why should anybody tell the truth? The Bureau of Meteorology can't
make up its mind, reporting a temperature that is not only wrong, but also out of their own
forecast range:
And the lowest February temperature on record in Ballarat was -1.4°, on 03 February
1986, and in Melbourne the lowest temperature was 4.5° on 24 February 1924. But why should
the media go to trouble to find out the real details?
I've had this rice cooker from ALDI for nearly a month, and I haven't needed to cook rice. Today was finally the day.
Previously I had noted that the scales on the cooking pot didn't make any sense, but of
course I don't need to use them: 1.8 parts water to 1 part
rice. So I put in 750 g of rice and 1.35 l of water:
That barely submerged line represents 1.35 L, whatever that's supposed to mean. Yes,
it's close to the volume of the water, but what about the rice? And I had already
established that a “cup” holds 150 g, so
that would also include 5 “cups”. But I had guessed (maybe with some backup) that the
“cups” are “ALDI's guess at how much water you need to cook a “cup” of rice”. In that case,
they could be correct. But basically these scales are useless at best, and also misleading.
OK, turn the thing on. It went through a surprising number of steps, including “stewed
rice”, something that I wouldn't consider a recommendation:
It took 45 minutes! Mine would have been done in about half that time. Was it any better
than mine? One issue I have is that the rice up against the pot tends to stick together.
What about here?
When putting the rice into containers, I only managed about 10½ pots, more exactly 1.908 kg.
That's about 92.7% of the weight of the ingredients. My own rice comes out round 98%,
representing a weight difference of 111 g. Doubtless that's due to the extreme level of
cooking evidenced by the steam coming out of the device.
Now the rice is cooked, how do I clean it? Yes, the pot comes out and can go in the
dishwasher (I think), but what about the moisture in the device itself? Moisture
accumulates in the lid, and also in the internal vents. The instruction manual includes 2
pages with 7 steps of how to clean it, including removing the plate above and also a steam
vent, neither of which can be put in the dishwasher. That also seems to apply to the
cooking pot itself, though I greatly doubt that that would be a problem. I'll certainly try
it.
So, in summary:
Conventional cooking
Advantages
Simple.
Fast (25 minutes for normal rice).
Uses less energy.
Pots can be chosen to fit the quantity.
Can access rice during cooking, allowing things like nasi lemak and risotto.
Disadvantages
Requires attention for about 5 minutes.
Rice cooker
Advantages
Requires less attention.
Disadvantages
Slow (45 to 50 minutes).
Uses more energy. Boiling 111 g of water uses 37 kJ.
Only one pot size, taking up a lot of space in the dishwasher.
Difficult and time-consuming to clean.
It goes back, of course. But looking at that list, I wonder why anybody uses the things.
Clearly I'm missing something.
We're not overly happy with Bruno. We
just spent $500 to give him an outside area where he could keep away from birds, only to
have the birds not keep their side of the bargain. He has now caught three superb fairywrens and what we
think was an elstrid finch.
And though he now spends extended periods outside, he still runs around like a chicken with
his head chopped off. What can we do? I'm gradually running out of ideas.
This page contains (roughly) yesterday's and today's entries. I have
a horror of reverse chronological documents, so
all my diary entries are chronological. This page normally contains the last two days,
but if I fall behind it may contain more. You can find older entries in
the archive. Note that I often update a diary entry
a day or two after I write it.
Do you have a comment about something I have written? This is a diary, not a
“blog”, and there is
deliberately no provision for directly adding comments. It's also not a vehicle
for third-party content. But I welcome feedback and try to
reply to all messages I receive. See the diary overview for more details. If you do
send me a message relating to something I have written, please indicate
whether you'd prefer me not to mention your name. Otherwise
I'll assume that it's OK to do so.