Basecalling process carried out by full_1dsq_basecaller.py/.exe
My understanding is that the 1D$^2$ process is carried out in three stages:


Carry out a 1D calling of reads (i.e. what the standard Albacore does at the moment)
Link reads that are similar to each other (in reverse-complement orientation), from the same channel, and have a very short pore transition time
Create a 2D consensus base call, using information from the two linked reads


The two outputs from the basecaller are the 1D calls from step 1, and the consensus calls from step 3. Ideally just the 2D consensus calls should be used for assembly (assuming it represents a random distribution of reads), but  if that gives too low coverage (or is not random enough), then the non-converted reads from the 1D calls could be included as well.

Because the linking is not a physical link, it's not a good idea to use 1D$^2$ for amplicon reads; the likelihood of two complementary reads from different templates appearing one after another is too high.