Skip to main content

Focusing screens for the D40

Yes, you can get them for the D40.

There's a very pricey one from Katz Eye. It runs into $100 to $155. It has some good reviews.
There is a pretty cheap one you can get on ebay right now ($34 with shipping), and it might be the same you get from focusingscreen.com (This one costs $40).

A video tutorial for replacing the focusing screen:


But I would use rubber tipped tweezers, rather than straight metal ones. And don't film your self doing it... :)

The google search url.

Comments

  1. Nice, I'm surprised to see how easy it is to replace the screen. Now other than personal preference, is there any real reason one should consider changing the screen? Are there any 'problems' with the default one?
    Thanks for the continued great review of the D40... you are definitely making my decision process a lot easier.

    ReplyDelete
  2. Hi Nick,

    The only real reason I would get the focusing screen is for nostalgic reasons (The manual focus film Nikons had them and I loved them).

    For very low light work (like the long exposure shots) there often isn't an object in one of the three AF zones. This means I have to pan the camera, focus on an object, lock the focus and then pan back. Instead of that I prefer to manual focus, but as you can see, I'm not that good at it.

    The prism focus screen would come in useful at that point.

    Best
    -Kaushik

    ReplyDelete
  3. Well, not really, because the prism is at the center. For these shots I was turning the lens focus ring all the way to the stop, hoping that was infinity, but I have a hunch that the AF lenses might leave a little lee way beyond infinity. I had a similar issue with my film AF zoom. I gotta try MF in daylight and see where infinity is

    ReplyDelete

Post a Comment

Popular posts from this blog

A note on Python's __exit__() and errors

Python's context managers are a very neat way of handling code that needs a teardown once you are done. Python objects have do have a destructor method ( __del__ ) called right before the last instance of the object is about to be destroyed. You can do a teardown there. However there is a lot of fine print to the __del__ method. A cleaner way of doing tear-downs is through Python's context manager , manifested as the with keyword. class CrushMe: def __init__(self): self.f = open('test.txt', 'w') def foo(self, a, b): self.f.write(str(a - b)) def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.f.close() return True with CrushMe() as c: c.foo(2, 3) One thing that is important, and that got me just now, is error handling. I made the mistake of ignoring all those 'junk' arguments ( exc_type, exc_val, exc_tb ). I just skimmed the docs and what popped out is that you need to return True or...

Store numpy arrays in sqlite

Use numpy.getbuffer (or sqlite3.Binary ) in combination with numpy.frombuffer to lug numpy data in and out of the sqlite3 database: import sqlite3, numpy r1d = numpy.random.randn(10) con = sqlite3.connect(':memory:') con.execute("CREATE TABLE eye(id INTEGER PRIMARY KEY, desc TEXT, data BLOB)") con.execute("INSERT INTO eye(desc,data) VALUES(?,?)", ("1d", sqlite3.Binary(r1d))) con.execute("INSERT INTO eye(desc,data) VALUES(?,?)", ("1d", numpy.getbuffer(r1d))) res = con.execute("SELECT * FROM eye").fetchall() con.close() #res -> #[(1, u'1d', <read-write buffer ptr 0x10371b220, size 80 at 0x10371b1e0>), # (2, u'1d', <read-write buffer ptr 0x10371b190, size 80 at 0x10371b150>)] print r1d - numpy.frombuffer(res[0][2]) #->[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] print r1d - numpy.frombuffer(res[1][2]) #->[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] Note that for work where data ty...