Making a map
The time-series panel shows a list of open maps on the left. When a map is selected (het3b in this example), a list of sessions in the map are shown on the right (in this example there are 12 sessions).
Pre-process your raw data
Map Manager will only import single channel .tif stacks. If your stacks have two or more color channels, they need to be de-interleaved into separate .tif files, one .tif file per color channel. We have Fiji plugins to do exactly this for Zeiss LSM/CZI, Prairie View, and ScanImage.
1. Open and initialize Map Manager
Important. Map Manager will only work with Igor Pro 6. Please make sure you have Igor Pro 6 or download a trial version of Igor Pro 6.3.
- Open Igor Pro with MapManager.ipf
- Click on the empty command window to activate Map Manager and its menus
- Open the stack browser window with menu ‘MapManager - Stack Browser’.
- Open the time-series window with menu ‘MapManager - Time series’.
2. Make a new map
In the time-series window ‘Map Making’ tab
- Enter a new map name.
- Set the number of channels for each stack in your map
- Create a new map with ‘New Map’.
2.1 Appending stacks to your map
- In the stack browser, select the stack you want to append to a map. If your stacks have more than one color channel, you can select any of the color channels.
- In the time-series panel ‘Map Making’ tab, press ‘Append Stack’ button.
- Repeat for each stack you want in your map.
- Number of channels is important. When you make a map, you need to choose the ‘Number Of Channels’. Map Manager will only allow one choice of ‘Number Of Channels’ per map. You cannot mix stacks with different numbers of channels within a map.
- Stack scale is important. Make sure the scale of each imported stack is correct. It is hard to change the scale later. If you use the provided Fiji plugins this should be taken care of. If necessary, set the scale of a stack in its stack window with shift+p.
- The order of stacks is important. Make sure the timepoints in your map are imported in the correct order. It is hard to change the order later.
2.2 Saving a map
Save the map with ‘Save Map’ button. New maps are saved to a default hard-drive folder specified in the Hard Drive Paths panel.
2.3 Opening a map
Open a Map Manager map using the ‘Open Map’ button in the time-series panel. When you open a map named ‘mymap’, you need to open the file ‘mymap.ipf’.
2.4 Congratulations, you just made a Map Manager map.
The rest of this workflow covers tracing dendritic segments, adding spines, and connecting spines across timepoints. Before you do any of this, play with the stacks in your map. From the time-series window, open a run of stacks by right-clicking on a session and selecting ‘Plot Run +- 1’.
3. Create dendritic tracings
Dendritic tracings are specified with control points and then fit using a custom Fiji plugin. Before fitting a line in Fiji, you need to specify the path to your Fiji application in the Hard Drive Paths panel.
- Open a stack window. In the time-series panel, double-click the first session in your map.
- Create a line segment. See instruction in stack annotations ‘Creating and editing line segments’.
- Turn on the ‘Segment’ edit checkbox.
- Click the ‘+’ button to create a new (empty) segment.
- Create Control Points along a segment with shift+click. Remember, all points are in 3D, make sure the control points are in the center of the segment and in the correct imaging plane. Ctrl+mouse wheel to zoom, click+drag to pan.
- Delete control points with right-click menu ‘Delete’.
- Move control points with right-click menu ‘Move’.
- Once control points are made, fit the backbone line in Fiji. Right-click on your segment in the list and select ‘Make from control points - Fiji’.
- Repeat steps # 1 and # 2 for each session in your map. Making the same line segment in each session. As you make control points, be sure they are in the same direction along the segment for each session.
- Set a pivot point in each line segment. Click a point in the segment, right-click and select ‘Set As Segment Pivot’ menu.
Pivot Points. The pivot point in each segment should refer to the same region of the segment across all session. A good strategy is to choose a region of the segment near an obvious spine that is present in all sessions. Another strategy is to choose a pivot point where some other segment (dendrite) crosses near your segment as these tend to remain stable across time. Try and put the pivot point near the center of the segment, do not place it at either end. The pivot point is used to calculate a line distance along the segment (in um) which in turn will be used to auto-guess connections between spines across sessions.
Tip. When specifying control points and setting segment pivots, you can open multiple stack windows at the same time. Just double-click on each session in the time-series panel. This way, you can see the line segments you are making in each session of your map.
4. Connect your line segments together
- Close all stack windows using the Close Windows button in the time-series panel.
- Open a new stack run by right-clicking a session in your map and selecting the ‘Plot Run +- All’ menu.
- Turn on the ‘Segments’ edit checkbox in the left control bar of a stack window. Open the left control bar with keyboard [.
- Sequentialy connect your line segment from one timepoint to the next
- Select the source timepoint segment (for example, timepoint 1). Make sure you select a point on the segment backbone line.
- Select the destination timepoint segment (for example, timepoint 2). Again, make sure you select a point on the segment backbone line.
- In the destination timepoint window (e.g. timepoint 2), press keyboard p for persistent (or use right-click menu ‘Dynamics - Make Object Persistent’).
Tip. You can see how your segments are connected by plotting a 'Segment Map' from the time-series panel. In the segment map window, right-click a segent and select 'Plot Run' to plot a run of segments.
5. Mark spines in each timepoint
- Open a single timepoint stack window by double clicking a session in the time-series window.
- Make sure ‘Segments’ edit checkbox is off.
- See stack annotations to mark spines along your new segment.
- Select the segment to add a spine to by selecting it in the list of segments or single click a point along the tracing (in the image).
- Create a spine with shift+click. The spine should be marked at the membrane limit of the spine head, somewhere near the tip of the spine. Remember, all points are in 3D, take care in creating the spine in the correct image plane.
- Move a spine with right-click ‘Move’.
- Delete a spine with right-click ‘Delete’ or keyboard delete.
- All spines are automatically connected to the dendritic segment with a line. Edit the connection point with right-click ‘Manual Connect’.
Tip. Be very liberal in your scoring, mark anything you think might be a spine. All annotations can be flagged as 'bad' using the right-click menu 'bad'. Bad objects stay in the database but are **not** included in the final analysis. As your datasets grow, marking putative spines with an annotation and then as bad allows you to return to a given image stack and see you already decided **not** to include a putative spine in your analysis.
6. Edit the dynamics of annotations between timepoints
6.1 Editing annotation dynamics manually from a run plot
Opening a run plot
- Open an object map from the time-series panel ‘Object Map’ button
- In the object map, right-click an annotation and select ‘Plot Run +` 1’.
- In a stack window in the run, control+click an annotation to snap all stacks in the run to the same image position. This will also automatically select all annotations that are persistent with the one you control+clicked.
- Once a spine is selected, use ctrl+left arrow and ctrl+right arrow to select the next spine along the tracing. As you do this, the other stack windows in the run will snap to the same image position and automatically select spines that have been marked as persistent.
Editing dynamics in a run plot
- Mark an annotation as addition. Select the annotation and press keyboard a.
- Mark an annotation as subtraction. Select the annotation and press keyboard s.
- Mark two annotations as persistent. Select the annotation in the source timepoint, then select the desired annotation in the destination timepoint. In the destination timepoint, press keyboard p.
As you edit the dynamics between annotations, all connections are automatically maintained. For example, marking an annotation as addition will automatically disconnect it from any previous annotation it was marked as persistent with.
Before you make any edits to an annotation, it is both added and subtracted by default (e.g. transient). Annotations in the first timepoint can never be marked as added. Likewise, annotations in the final timepoint can never be marked as subtraction.
6.2 Editing annotation dynamics with Find Points
WARNING: As of 20171023, the interface to find point is a bit broken
The dynamics of annotations can be edited using the Find Points panel. This is done pair-wise between timepoints. For example, if your map has 4 sessions, you will use Find Points first between session 1 and 2, then between sessions 2 and 3, and finally between sessions 3 and 4.
The Find Points panel will generate an automatic guess for the best connections and allow you to set them manually. This automatic guess is using the pivot point in your dendritic segment, if this pivot point does not correspond to a similar region of the segment between timepoints, the guess will be incorrect.
- Close all stack windows with ‘Close Windows’ button in time-series panel.
- Open the Find Points Pane by right-clicking the first session in your map and selecting ‘Find Points’.
- In the Find Points panel, you are given a list of all annotations in the source timepoint. Click on a spine in the list and Find Points will open both the source and destination timepoints, zoomed onto that spine.
This is the core of Map Manager and you will spend most of your time doing this.
7. Curating your connected objects
7.1 Review your work by using search to query all addition, subtraction and transient
- Open the search panel from the time-series panel with the ‘Search’ button.
- Search for added annotations with the ‘Addition’ button. The ‘Addition’ button is in the ‘Map’ tab.
- All added annotations will appear as a list in the search results.
- Right-click on an annotation and select ‘plot run +- 1’ to bring up a spine run.
- Visually check that you agree the annotation is an addition and edit if necessary. Once you are in a run plot, you can always add and delete annotations, and edit the dynamics manually.
- Do the same by searching for ‘Subtraction’ and then ‘Transient’
7.2 Browse the connections visually and edit as necessary
This is a repeat of what we already described above
You need to verify the connectivity of annotations between all timepoints in the map. If your map has 4 timepoints, you need to verify the annotation connections between timepoint 1-2, timepoint 2-3, and timepoint 3-4.
- Open a run plot of three sequential timepoints by right-clicking a spine in the object map and selecting ‘plot run +- 1’. Open an object map with the ‘Object Map’ button in the time-series panel.
- In the run plot windows, select an annotation in the middle timepoint with ctrl+click. This will snap and zoom the annotations and its associated connections in all windows of the run plot. If there is no annotation in a given timepoint, the image will be snapped to where the annotation ‘would-be’. This is using segment pivot points, if they are not specified or poorly marked, this snapping will not work.
- From the middle timepoint spine selection, go to the next spine along the segment using keyboard ctrl+right arrow. Go to the previous spine along the segment using keyboard ctrl+left arrow.
- Correct any errors in the spine dynamics using keyboard a for addition, s for subtraction, and p for persistence. See run plot for details.