Position a rack in the center of the oven, set a heavy-duty rimmed baking sheet on the rack, and heat the oven to 350°F.
Make the streusel
In a medium bowl, combine the flour, sugar, walnuts, and salt. Using your fingers, blend the butter into the flour mixture. Set aside.
Make the filling
Peel, quarter, and core each apple. Cut each quarter lengthwise into 1/4-inch-thick slices and then cut each slice crosswise at 1/4-inch intervals to make tiny rectangles. In a food processor, pulse the cranberries with 3/4 cup of the sugar until coarsely chopped. In a large bowl, combine the remaining 6 Tbs. sugar with the flour, ginger, cardamom, and cinnamon, breaking up ginger clumps with your fingers. Toss in the cranberry mixture and apples.
Mound the filling into the piecrust. Sprinkle the streusel topping over the apple mixture, pressing the streusel between your fingers into small lumps as you sprinkle.
Put the pie on the heated baking sheet and bake until the streusel is deeply browned and the filling is bubbling vigorously at the edges of the pie, 65 to 75 minutes. Check every 20 minutes, and if the pastry edge or the streusel browns before the filling is done, loosely cover the top or edges of the pie as needed with aluminum foil.
Transfer to a rack and cool completely before serving. The pie can be stored at room temperature for up to 2 days.